#!/usr/bin/env bash # ============================================================ # 防火墙配置脚本 # 功能: 默认拒绝所有入站连接,启用 UFW 并设置开机自启 # 用法: sudo bash firewall_setup.sh # ============================================================ set -euo pipefail # 颜色输出 RED='\033[0;31m' GREEN='\033[0;32m' YELLOW='\033[1;33m' NC='\033[0m' # No Color echo "========================================" echo " 防火墙配置脚本 (UFW)" echo "========================================" echo "" # 检查是否以 root 运行 if [[ $EUID -ne 0 ]]; then echo -e "${RED}[错误] 请使用 sudo 运行此脚本: sudo bash $0${NC}" exit 1 fi # 检查 UFW 是否已安装 if ! command -v ufw &> /dev/null; then echo -e "${RED}[错误] UFW 未安装,请先安装: apt install ufw${NC}" exit 1 fi echo "" echo "==> 步骤 1/3: 设置默认策略 — 拒绝所有入站连接" sudo ufw default deny incoming echo -e "${GREEN}[完成] 入站默认策略已设为 deny${NC}" echo "" echo "==> 步骤 2/3: 允许出站连接" sudo ufw default allow outgoing echo -e "${GREEN}[完成] 出站默认策略已设为 allow${NC}" echo "" echo "==> 步骤 3/3: 启用 UFW(开机自启)" sudo ufw --force enable echo -e "${GREEN}[完成] UFW 已启用并设为开机自启${NC}" echo "" echo "========================================" echo " 当前防火墙状态" echo "========================================" sudo ufw status verbose echo "" echo -e "${GREEN}防火墙配置完成!${NC}"