这篇是 UFW(Uncomplicated Firewall)速查。目标:简单、够用、好记。
防火墙简述
防火墙用于监控和过滤进出网络流量,通过规则决定放行或阻止。
Linux 原生防火墙是 iptables,配置强大但繁琐。Ubuntu 提供了基于 iptables 的 ufw,语法更易读。
安装 ufw
sudo apt update
sudo apt install ufw
启用 ufw(先放行 SSH)
远程机器启用前,先允许 SSH,避免把自己锁在门外。
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw default deny
说明:这会开启防火墙、开机自启,并默认拒绝外部访问。
常用规则
按服务或端口放行/拒绝
sudo ufw allow <service>
sudo ufw deny <service>
示例:
sudo ufw allow smtp允许所有外部 IP 访问 25/tcpsudo ufw allow 22/tcp允许 SSHsudo ufw allow 53允许 53/tcp 与 53/udpsudo ufw allow from 192.168.1.1允许该 IP 访问本机所有端口sudo ufw allow proto udp from 192.168.0.1 port 53 to 192.168.0.2 port 53sudo ufw deny smtp禁止外部访问 smtp
删除规则
sudo ufw status numbered
sudo ufw delete <num>
查看状态
sudo ufw status
一台常见的 Web 服务器只需开放 22/80/443/53:
sudo ufw status
Status: active
To Action From
-- ------ ----
22 ALLOW Anywhere
80 ALLOW Anywhere
443 ALLOW Anywhere
53 ALLOW Anywhere
22 (v6) ALLOW Anywhere (v6)
80 (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
53 (v6) ALLOW Anywhere (v6)
- 22:SSH 登录
- 80/443:Web 服务
- 53:DNS 服务
日志与重载
sudo ufw logging on
sudo ufw reload
重置(谨慎)
sudo ufw reset
小结(最小安全配置)
sudo apt update
sudo apt install ufw
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw default deny
先保 SSH,再开防火墙;其余端口按需放行即可。