以下是以 Debian 系统为例的 UFW 防火墙配置指南

UFW 防火墙配置指南(Debian 系统)

一、安装 UFW

sudo apt-get install ufw

二、基本操作

  1. 启用 UFW(需先放行 SSH 端口,防止连接中断)

    sudo ufw enable
  2. 关闭 UFW

    sudo ufw disable
  3. 查看防火墙状态

    sudo ufw status

三、添加规则

  1. 列出当前配置

    ufw status verbose
  2. 放行端口

    sudo ufw allow 80         # 放行 80 端口(HTTP)
    sudo ufw allow 2333/tcp   # 放行 2333 端口(TCP 协议)
    sudo ufw allow 6666/udp   # 放行 6666 端口(UDP 协议)
    sudo ufw allow 8888:9999  # 放行 8888-9999 范围内的端口
  3. 基于 IP 的访问控制

    sudo ufw allow from 192.168.1.1          # 允许该 IP 访问所有端口
    sudo ufw allow from 192.168.1.1 to any port 22  # 允许该 IP 访问 22 端口
  4. 放行所有端口(谨慎操作)

    sudo ufw default allow incoming
  5. 重启 UFW 使配置生效

    sudo ufw disable
    sudo ufw enable

四、删除规则

  1. 禁用特定端口

    sudo ufw deny 7777
  2. 删除已添加的规则

    sudo ufw delete allow 8080  # 删除允许 8080 端口的规则

五、禁止/允许 Ping 请求

  1. 编辑 UFW 配置文件

    vim /etc/ufw/before.rules
  2. 找到 ufw-before-input 部分,修改 ICMP 规则

    • 允许 Ping

      -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT
    • 禁止 Ping

      -A ufw-before-input -p icmp --icmp-type echo-request -j DROP

六、卸载 UFW

sudo apt-get purge ufw

注意事项

  1. 启用 UFW 前,务必先放行 SSH 端口(默认 22),避免远程连接中断。
  2. 生产环境建议:仅开放必要的端口,默认拒绝所有入站流量(ufw default deny incoming)。
  3. 规则顺序:UFW 按规则添加顺序执行,需注意规则优先级。
  4. 修改配置后,需重启 UFW 生效。