我可以像这样添加路线:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT
--到端口 8080
但重启后,它会重置。我该如何使它永久生效?最佳做法是将其放在 rc.local 中吗?
答案1
服务启动时,IPTables 规则从文件加载。
(以下路径基于 RHEL/CentOS,但前提应该适用于其他系统)
如果你查看 /etc/init.d,会发现有一个 iptables init 文件,其中包含以下几行:
IPTABLES=iptables
IPTABLES_DATA=/etc/sysconfig/$IPTABLES
/etc/sysconfig/iptables
因此,该文件将在iptables 启动时加载数据。
一旦知道使用了哪个文件,您就可以将当前的 IPTables 规则集保存到该文件中。
- 首先备份现有文件
将你想要的规则添加到 IPTables
iptables-保存 > /etc/sysconfig/iptables
尝试重新启动服务并查看规则是否仍然存在:
service iptables restart
答案2
大多数发行版都会有类似“iptables save”的内容。您运行的是 RedHat/CentOS 还是 Ubuntu?