Ph0*_*n1x 26 iptables networking routing 12.04 13.10
我使用通过 ubuntu 工作的亚马逊 EC2 实例。默认情况下,根据安全限制,我无法将我的应用程序绑定到端口 80,所以我只是将其绑定到端口 8080,然后通过以下命令设置从端口 80 到 8080 的路由重定向:
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to 8080
Run Code Online (Sandbox Code Playgroud)
但是我发现当我重新启动服务器时,此设置不再有效,直到我再次调用此命令。
所以我的问题是即使系统重新启动,如何启用端口的重定向工作?
小智 16
请改用iptables-save
命令。
防火墙规则永远不应该进入rc.local
脚本。rc.local
是最后要执行的事情。如果已将阻止规则放入rc.local
,则攻击者可以在很短的时间范围内利用未到位的规则。
虽然这种情况可能无关紧要,但最好还是不要养成可能会在以后咬你的坏习惯。
小智 6
以下是官方 iptables 文档教给我们的内容。看这里
将这两行添加到/etc/network/interfaces
:
pre-up iptables-restore < /etc/iptables.rules
post-down iptables-save > /etc/iptables.rules
Run Code Online (Sandbox Code Playgroud)
该行将post-down iptables-save > /etc/iptables.rules
保存下次启动时要使用的规则。