一般情况下,ubuntu安装好的时候,iptables会被安装上,如果没有的话先安装
sudo apt-get install iptables
添加开放端口
# sudo iptables -I INPUT -p tcp --dport [端口号] -j ACCEPT
sudo iptables -I INPUT -p tcp --dport 80 -j ACCEPT
# 临时保存配置,重启后失效
sudo iptables-save
安装 iptables-persistent工具,持久化开放端口配置
sudo apt-get install iptables-persistent
sudo netfilter-persistent save
sudo netfilter-persistent reload
这篇内容虽然短,但核心是“先放行、再固化”。在 Ubuntu 上改防火墙规则时,最容易踩坑的是只做了临时放行,却忘了持久化,导致服务一重启就访问失败。实操时建议先确认端口确实被业务程序监听,再添加规则;如果机器上还有其他防火墙策略,也要一起排查,避免只开了端口却仍然连不上。
Ubuntu 开放端口后为什么重启就没了?
因为只执行了临时规则写入,没有把 iptables 规则持久化。重启后内核防火墙规则会恢复,需安装 iptables-persistent,并用 netfilter-persistent save 保存,再 reload 验证。
开放 80 端口的命令怎么写?
可直接执行 sudo iptables -I INPUT -p tcp –dport 80 -j ACCEPT。若要开放其他端口,把 80 替换成目标端口号即可。执行后建议再检查现有规则是否已插入成功。
iptables 和持久化工具分别负责什么?
iptables 负责即时添加防火墙放行规则,适合立刻生效;iptables-persistent 与 netfilter-persistent 负责把规则保存到系统配置中,让重启后仍然保留。两者通常要配合使用。






