ufw可通过allow from ip to any port port proto proto命令精准控制ip级端口访问,需先设默认拒绝入站策略并启用防火墙,支持单ip、子网(如/24)及tcp/udp协议指定,规则可用ufw status numbered验证并按编号删除。

直接用 ufw 命令就能实现——核心是组合 from、to any port 和协议类型,确保规则精准生效。
确认 ufw 已启用并设好默认策略
ufw 默认不启用,且默认放行所有入站流量。安全起见,先设为“默认拒绝入站”:
- sudo ufw default deny incoming
- sudo ufw default allow outgoing
- sudo ufw enable(启用后规则才真正生效)
允许某个 IP 访问指定端口
比如只让 192.168.1.50 能通过 TCP 连接服务器的 3306(MySQL)端口:
- sudo ufw allow from 192.168.1.50 to any port 3306 proto tcp
注意:proto tcp 必须明确写上;如果是 UDP 服务(如 DNS),换成 proto udp。
支持子网或 IP 段访问
若需允许多台设备,比如整个 10.0.2.0/24 网段访问 SSH(22 端口):
- sudo ufw allow from 10.0.2.0/24 to any port 22 proto tcp
/24 表示前 24 位为网络位,覆盖 10.0.2.1–10.0.2.254;写成 10.0.2.0/28 则只开放 16 个地址。
验证和管理规则
添加后立即检查是否生效:
- sudo ufw status numbered(带编号,方便后续删规则)
- 看到类似 22/tcp ALLOW IN 192.168.1.50 即表示成功
- 误加规则?用编号删除:sudo ufw delete 3(假设编号是 3)











