Linux-设置iptables命令开启某个端口不生效

设置iptables命令开启某个端口不生效

今天遇到使用

iptables -A INPUT -p tcp --dport 8092 -j ACCEPT

命令在linux服务器上增加放行8092端口,但设置完毕后,缺不生效,必须使用

systemctl disable firewalld

命令将整个防火墙关闭,才能生效。这样关闭整个防火墙,对服务器会带来一定的不安全性。

问题原因

通过iptables --list-rules命令,我们可以查看当前服务器上的防火墙规则
在这里插入图片描述
会发现增加的这个规则在最后面,防火墙规则是根据从上到下的规则进行控制,因此开放8092端口在最后,由于上面存在其他防火墙规则使增加的防火墙规则无法生效

解决方法

将新增的防火墙规则放到INPUT的第一个即可解决这个问题。对应的命令:

iptables -I INPUT -p tcp --dport 8092 -j ACCEPT

输入这个命令后,可以查看iptables --list-rules
在这里插入图片描述
在所有INPUT规则的第一个,即可达到开启防火墙特定端口的目的。


版权声明:本文为qq_34942277原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。