我在8080端口的Google实例中在CentOS7上运行CentOS7。我设置了iptables规则来将所有外部连接映射到端口80到8080
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080在那之后,我用
service iptables saveTomcat工作良好,可通过80端口从外部进入。规则保存在/etc/sysconfig/iptables中。
...
-A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
...但是,在服务器重新启动之后,规则就不适用了。它仍然在文件/etc/sysconfig/iptables中,但当我运行
iptables-save似乎iptables规则是从其他地方恢复的。
我如何正确地坚持这个规则,以便在重新启动后保留它?
发布于 2015-10-29 18:46:45
为了解决IPtables的问题,您可以执行以下操作:
yum install iptables-services
systemctl mask firewalld
systemctl enable iptables
systemctl enable ip6tables
systemctl stop firewalld
systemctl start iptables
systemctl start ip6tables然而,Centos7现在正在使用FirewallD。为了应用防火墙,您需要首先通过运行以下命令来检查哪些可用区域以及哪些区域在FirewallD上处于活动状态:
firewall-cmd --list-all-zones
firewall-cmd --get-active-zones例如,如果公用区域处于活动状态,您可以运行这些命令来启用端口转发(在您的示例中,端口80到8080 ):
firewall-cmd --zone=public --add-masquerade --permanent
firewall-cmd --zone=public --add-forward-port=port=80:proto=tcp:toport=8080 --permanent一旦完成,您就可以重新加载规则,通过运行以下命令确保一切正常:
firewall-cmd --reload您可以查看man firewall-cmd以获得更多信息。
https://stackoverflow.com/questions/33398841
复制相似问题