防火墙问题
设置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规则的第一个,即可达到开启防火墙特定端口的目的。