在 Ubuntu 中,常用的防火墙工具是 UFW(Uncomplicated Firewall),也有部分场景会用 iptables / nftables。下面分别说明。
sudo ufw status
如果显示 inactive,说明防火墙未启用。
sudo ufw enable
⚠️ 远程服务器启用前,务必先放行 SSH(22端口),否则可能断连。
# 放行 TCP 80 端口
sudo ufw allow 80/tcp
# 放行 UDP 53 端口
sudo ufw allow 53/udp
# 放行某端口(TCP+UDP)
sudo ufw allow 8080
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
# 允许某 IP 访问所有端口
sudo ufw allow from 192.168.1.100
# 允许某 IP 访问指定端口
sudo ufw allow from 192.168.1.100 to any port 3306
sudo ufw delete allow 80/tcp
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# Ubuntu 16.04 及以前
sudo iptables-save > /etc/iptables.rules
# Ubuntu 18.04+(netfilter-persistent)
sudo apt install iptables-persistent
sudo netfilter-persistent save
sudo nft add rule inet filter input tcp dport 80 accept
sudo ufw allow 22
sudo ufw allow 80
sudo ufw allow 443
UFW 不会自动管理 Docker 端口,Docker 会直接写 iptables,必要时需额外配置。
如果你能告诉我:
我可以给你精确命令。