UFW 防火墙常用规则与配置如何写

作者:袖梨 2026-08-31

UFW规则按编号从上到下匹配,命中即停,因此必须先放行再封禁。关键包括:服务名放行(如ssh)、协议端口控制(如8080/tcp)、IP/网段限制(如from 192.168.1.0/24)、默认策略(deny incoming/allow outgoing)及编号管理(status numbered、insert、delete)。

UFW 防火墙规则写法关键在于“语义清晰、顺序合理、先放行再封禁”。它不靠逻辑优先级判断 allow/deny 谁更“高级”,而是严格按编号从上到下匹配,命中即停。所以规则怎么写,直接决定流量是否被正确放行或拦截。

基础端口放行与封禁

最常用的是按协议+端口控制访问:

  1. 允许标准服务:用服务名更安全(自动适配端口和协议),例如 sudo ufw allow ssh(等价于 22/tcp)、sudo ufw allow https(443/tcp);
  2. 指定端口和协议:如开放 Web 管理端口 sudo ufw allow 8080/tcp,或 DNS 查询 sudo ufw allow 53/udp
  3. 拒绝特定端口:比如禁用 Telnet:sudo ufw deny 23/tcp
  4. 批量端口范围:如开发环境常用 sudo ufw allow 3000:3010/tcp

按 IP 或网段精细控制

避免全网开放,只允许可信来源:

  1. 单个 IP 放行 SSHsudo ufw allow from 203.0.113.45 to any port 22
  2. 限制整个子网sudo ufw allow from 192.168.1.0/24 to any port 80
  3. 封禁恶意 IPsudo ufw deny from 198.51.100.123(会拒绝该 IP 的所有进出连接);
  4. 配合接口使用(如只在内网口生效):sudo ufw allow in on eth1 from 10.0.2.0/24 to any port 5432

默认策略与安全基线

这是所有规则生效的前提,必须最先设置:

  1. 入站默认拒绝:sudo ufw default deny incoming
  2. 出站默认允许:sudo ufw default allow outgoing
  3. 路由流量默认拒绝(可选加固):sudo ufw default deny routed
  4. 设置后务必确认:sudo ufw status verbose 中看到 Default: deny (incoming) 才算生效。

规则管理与避坑要点

写对只是第一步,管好才不出错:

  1. 查看带编号的规则sudo ufw status numbered,便于定位删除或插入;
  2. 删除规则:用编号删最稳妥,如 sudo ufw delete 3;也可按内容删,如 sudo ufw delete allow 8080/tcp
  3. 插入高优先级规则:想让某条 deny 规则生效,必须插在 allow 前面,用 sudo ufw insert 1 deny from 203.0.113.200
  4. 云服务器特别注意:启用前务必已放行当前 SSH 连接的端口,否则会立即失联;推荐搭配云平台安全组使用,UFW 作第二道防线。

相关文章

精彩推荐