在 Ubuntu 中,防火墙通常使用 UFW(Uncomplicated Firewall),它是 iptables 的简化前端。下面按常见场景给你说明怎么写规则。
sudo apt update
sudo apt install ufw
sudo ufw enable
sudo ufw status
sudo ufw status verbose
# 允许 SSH(非常重要,别锁自己)
sudo ufw allow 22
# 允许 HTTP / HTTPS
sudo ufw allow 80
sudo ufw allow 443
# 拒绝某端口
sudo ufw deny 3306
sudo ufw allow 53/tcp
sudo ufw allow 53/udp
# 允许某 IP 所有访问
sudo ufw allow from 192.168.1.100
# 允许某 IP 访问某端口
sudo ufw allow from 192.168.1.100 to any port 22
sudo ufw allow from 10.0.0.0/24
sudo ufw limit 22/tcp
# 只允许 eth0 上的 80 端口
sudo ufw allow in on eth0 to any port 80
sudo ufw status numbered
sudo ufw delete 3
sudo ufw delete allow 80
sudo ufw reset
示例:允许 22 端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables-save > /etc/iptables.rules
Docker 会绕过 UFW,如对外暴露端口:
docker run -p 127.0.0.1:8080:8080 ...
或配合 DOCKER-USER 链写规则。
如果你告诉我:
我可以直接帮你写一套完整防火墙配置。