Ubuntu 防火墙配置技巧
一 基础与默认策略
sudo apt update && sudo apt install ufw。sudo ufw default deny incoming;sudo ufw default allow outgoing。sudo ufw status(简洁)或 sudo ufw status verbose(更详细);复杂场景用 sudo ufw status numbered 查看带编号的规则,便于删除。sudo ufw allow ssh 或 sudo ufw allow 22/tcp;确认无误后再执行 sudo ufw enable。sudo ufw disable 临时关闭,sudo ufw reset 重置规则(会禁用并清空规则)。二 常用规则速查
sudo ufw allow 80/tcp、sudo ufw allow 443/tcp、sudo ufw allow 8080/udp。sudo ufw allow ssh、sudo ufw allow http、sudo ufw allow https、sudo ufw allow dns。sudo ufw allow 53(等价于同时放行 53/tcp 与 53/udp)。sudo ufw allow from 203.0.113.101。sudo ufw allow from 203.0.113.0/24。sudo ufw allow from 203.0.113.100 to any port 22。sudo ufw allow 3000:4000/tcp。sudo ufw deny http、sudo ufw deny from 203.0.113.10、sudo ufw deny from 203.0.113.0/24 to any port 21。sudo ufw delete allow 8080/tcp;或先 sudo ufw status numbered 再按编号删除 sudo ufw delete <编号>。sudo ufw deny in on eth0 from 203.0.113.100(仅对 eth0 的入站生效)。三 进阶用法与加固
sudo ufw limit ssh 或 sudo ufw limit 22/tcp(典型为 30 秒内 6 次触发限制)。sudo ufw logging on,日志级别可设为 low/medium/high(默认 low),日志位于 /var/log/ufw。sudo ufw default deny outgoing(谨慎,放行前确保已允许 DNS/HTTPS/NTP 等)。status numbered 梳理顺序,必要时先删除再按正确顺序添加。四 实战示例
sudo ufw reset;sudo ufw default deny incoming;sudo ufw default allow outgoing。sudo ufw limit ssh;sudo ufw allow http;sudo ufw allow https。sudo ufw enable;sudo ufw status numbered。sudo ufw allow from 192.168.1.0/24 to any port 22;如需限制到某台管理机:sudo ufw allow from 192.168.1.100 to any port 22。sudo ufw allow 3000:4000/tcp;仅公司出口 IP 访问管理端口:sudo ufw allow from 203.0.113.50 to any port 22 proto tcp。五 排错与持久化
sudo ss -tulnp | grep <端口>(或 netstat -tulnp | grep <端口>)。sudo ufw status numbered,必要时 sudo ufw delete <编号> 调整规则。telnet <IP> <端口> 或 curl http://<IP>:<端口>。sudo apt-get install iptables-persistent;sudo netfilter-persistent save(IPv6 可用 ip6tables-save > /etc/iptables/rules.v6)。