ufw如何简化Ubuntu防火墙管理

联启 网络工具 13

本文目录导读:

ufw如何简化Ubuntu防火墙管理-第1张图片-电脑手机工具软件下载 - 免费实用工具合集 | 联启科技

  1. 基础操作:开/关/重置
  2. 核心操作:允许和拒绝
  3. 进阶操作:规则管理
  4. 日志和故障排查
  5. 工作流程建议
  6. 总结:为什么 UFW 让管理简单?

UFW(Uncomplicated Firewall)确实是 Ubuntu 上简化 iptables 管理的利器,它把复杂的底层规则封装成了简单易懂的命令,非常适合初学者和标准服务器场景。

以下是使用 UFW 简化管理的核心操作和工作流程:

基础操作:开/关/重置

这些是日常管理最常用的命令:

  • 启用防火墙(默认规则为拒绝所有入站,允许所有出站):

    sudo ufw enable

    小贴士:第一次启用时,SSH 端口不是默认的 22,务必 先添加 SSH 规则(见下文),否则会断开连接。

  • 禁用防火墙

    sudo ufw disable
  • 查看状态和当前规则

    sudo ufw status

    如果想看更详细的信息(包括默认策略和规则编号),可以使用:

    sudo ufw status verbose
  • 重置所有规则(回到初始状态):

    sudo ufw reset

    这是一个危险的命令,会清空所有配置。

核心操作:允许和拒绝

这是你平时最主要的工作。

  • 允许特定端口(最常见)

    # 允许 SSH(端口 22)
    sudo ufw allow ssh
    # 或者 sudo ufw allow 22
    # 允许 HTTP(端口 80)
    sudo ufw allow http
    # 或者 sudo ufw allow 80
    # 允许 HTTPS(端口 443)
    sudo ufw allow https
    # 允许特定端口范围(比如用于游戏服务器)
    sudo ufw allow 27000:27005/tcp
    sudo ufw allow 27000:27005/udp
  • 拒绝特定端口

    # 拒绝 telnet(端口 23)
    sudo ufw deny telnet
    # 或者 sudo ufw deny 23
  • 允许特定 IP 访问某一端口

    # 仅有 IP 192.168.1.100 可以 SSH 登录
    sudo ufw allow from 192.168.1.100 to any port ssh
  • 允许特定网段访问某一端口

    # 局域网 /24 网段可以访问 MySQL(端口 3306)
    sudo ufw allow from 192.168.1.0/24 to any port 3306

进阶操作:规则管理

当你有很多规则时,直接 allow/deny 会变得混乱,你需要:

  • 查看规则编号

    sudo ufw status numbered

    输出会像这样:

    Status: active
         To                         Action      From
         --                         ------      ----
    [ 1] 22/tcp                     ALLOW IN    Anywhere
    [ 2] 80/tcp                     ALLOW IN    Anywhere
    [ 3] 443/tcp                    ALLOW IN    Anywhere
    [ 4] 3306/tcp                   ALLOW IN    192.168.1.0/24
  • 删除指定规则(通过编号)

    # 删除编号为 4 的规则(允许 MySQL 的规则)
    sudo ufw delete 4
  • 通过规则内容删除

    # 直接删除 "允许 80 端口" 这条规则
    sudo ufw delete allow 80

日志和故障排查

  • 查看日志

    sudo ufw logging on

    日志会被写入 /var/log/ufw.log,当你怀疑某个连接被防火墙误阻时,可以 tail -f /var/log/ufw.log 实时查看。

  • 检查是否支持 IPv6

    sudo ufw status | grep -i ipv6

    如果没有输出,可能需要编辑 /etc/default/ufw 文件,确保 IPV6=yes

  • 查看默认策略

    sudo ufw status verbose

    输出开头会显示 Default: deny (incoming), allow (outgoing), disabled (routed),这代表:

    • 入站:默认拒绝(任何未明确 allow 的连接都会被阻止)。
    • 出站:默认允许(你的服务器可以主动连接外网)。
    • 转发:默认关闭(不适合做路由器)。*

工作流程建议

  1. 初始设置

    sudo ufw default deny incoming   # 确保默认拒绝入站
    sudo ufw default allow outgoing  # 确保默认允许出站
  2. 添加核心服务(务必先做这一步,特别是 SSH):

    sudo ufw allow ssh      # 或者你的自定义 SSH 端口
    sudo ufw allow http
    sudo ufw allow https
  3. 启用防火墙

    sudo ufw enable
  4. 验证状态

    sudo ufw status verbose
  5. 日常添加/删除:重复第 2 步中的 allow/deny 命令。

为什么 UFW 让管理简单?

  • 无需记忆 iptables 语法:你只需记住 allowdenyportfrom 这几个关键词。
  • 规则编号化:方便精确增删,不用去改复杂的 iptables 文件。
  • 自动处理底层:UFW 会自动帮你把规则翻译成 iptables 命令,并确保内核网络过滤规则生效。
  • 日志友好:通过 ufw.log 可以很直观地看到被拒绝的流量。

你基本可以告别 iptables 那成堆的 -A INPUT-j ACCEPT 参数了。

标签: UFW 简化

抱歉,评论功能暂时关闭!