我的Redhat 启动iptables之后,就无法通过别的机器访问我的Web服务了,关闭iptables就可以访问。公司要求防火墙不能关掉。
在网上找了很多文章,基本上锁定原因是相应的端口被iptables封掉了。之后就想办法在iptables的规则中添加记录,允许相应的端口访问。可以用命令添加,比如:
# iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
然后保存
# iptables save
或者直接编辑配置文件 /etc/sysconfig/iptables, 在最后添加一条记录
-A INPUT -p tcp --dport 8080 -j ACCEPT
然后保存文件
这个时候去尝试一下还是无法访问。
有一点需要注意,在已经存在的表里有一条记录,
-A INPUT DROP
这条记录的意思是把来访的所有数据包都丢掉。所以你的新纪录一定要在这条记录之前,否则将不会生效。
改完之后还要重启iptables才可以。
# service iptables restart
之后你会发现,你刚才的更改已经消失了。原来iptables重启的时候会把配置文件恢复到默认值。那我们现在只能去改默认值了。
进入文件夹 /etc/iptables.d/filter/INPUT/, 这里有几个文件,里面存储了iptables的默认值。随便找一个编辑一下,把你的命令加进去,保存退出,再执行
# service iptables restart
测试一下,哈哈,可以访问了。