在 Ubuntu 上用 iptables 开放端口(或放行某类流量),常见做法如下。
sudo iptables -L -n -v
或查看 NAT(如做了端口映射):
sudo iptables -t nat -L -n -v
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -j ACCEPT
sudo iptables -A INPUT -p tcp -s 192.168.1.100 --dport 22 -j ACCEPT
否则你可能把自己“挡在外面”:
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
⚠️ 注意:
如果你是远程 SSH 连接,请先放行 22 端口,再设置 DROP,否则会断线。
sudo apt install iptables-persistent
sudo netfilter-persistent save
或手动保存:
sudo iptables-save > /etc/iptables/rules.v4
开机恢复:
sudo iptables-restore < /etc/iptables/rules.v4
sudo iptables -D INPUT -p tcp --dport 80 -j ACCEPT
Ubuntu 默认可能用 ufw:
sudo ufw allow 80/tcp
sudo ufw enable
如果你能告诉我:
我可以给你可直接复制执行的精确命令。