UFW需先设默认拒绝策略才有效:执行sudo ufw default deny incoming、sudo ufw default allow outgoing、sudo ufw enable;再用sudo ufw allow from IP to any port PORT proto PROTO放行指定IP、端口、协议;支持CIDR子网;用sudo ufw status numbered验证并管理规则。

直接用 ufw allow from 命令就能精准放行——关键在组合 IP、端口和协议,且必须先设好默认拒绝策略,否则规则无效。
先确保防火墙基础策略安全
UFW 默认不启用,且初始状态是放行所有入站流量。不设默认策略就加允许规则,等于没防护。
- 执行
sudo ufw default deny incoming:拒绝所有未明确允许的入站连接 - 执行
sudo ufw default allow outgoing:保持服务器能正常发请求(如更新、DNS 查询) - 最后运行
sudo ufw enable启用防火墙,规则才真正生效
允许单个 IP 访问指定端口
语法固定:IP 地址 + 目标端口 + 协议类型,三者缺一不可。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 例如只让 192.168.1.50 通过 TCP 连 MySQL 的 3306 端口:
sudo ufw allow from 192.168.1.50 to any port 3306 proto tcp - 若服务用 UDP(如 DNS、NTP),把
proto tcp换成proto udp - 注意:不能省略
proto,否则 UFW 可能按默认 TCP 处理,UDP 流量仍被拦
允许整个子网访问某端口
用 CIDR 表示法写网段,比逐条加 IP 更高效,也更易管理。
- 开放 10.0.2.0/24(即 10.0.2.1–10.0.2.254)访问 SSH(22 端口):
sudo ufw allow from 10.0.2.0/24 to any port 22 proto tcp - /24 覆盖 256 个地址;/28 只覆盖 16 个;根据实际设备数量选合适掩码
- 常见办公网段如 192.168.1.0/24、172.16.0.0/16 也可直接使用
验证与调整规则
加完规则别急着退出,立刻检查是否按预期加载。
- 运行
sudo ufw status numbered:带编号显示,方便后续删错规则 - 看到类似 22/tcp ALLOW IN 192.168.1.50 就表示成功
- 若要删除第 3 条规则:
sudo ufw delete 3(编号来自上条命令输出) - 远程操作时,务必先放行自己的 IP 和 SSH 端口,再设默认拒绝,避免锁死










