我正试图在CentOS的防火墙上开放端口,并且正在做一个糟糕的事情。 我在这里遵循了“HowTo”: http ://wiki.centos.org/HowTos/Network/IPTables以及网上的其他一些地方,但是我仍然无法得到这个血腥的东西。
基本上我想得到两件事:VNC和Apache通过内部networking。 问题是防火墙阻止所有连接到这些服务的尝试。 现在如果我问题
service iptables stop
然后尝试通过VNC访问服务器或击中networking服务器一切按预期工作。 然而,当我把iptables重新打开时,所有的访问都被阻止了。 下面是我的iptables文件的截断版本,因为它出现在vi中
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5801 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5901 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 6001 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 5900 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
我真的很高兴,如果我能为Apache开放80端口,因为我可以通过腻子做大多数东西,但是如果我能弄清楚VNC也是很酷的。 至于VNC去只有一个/用户桌面,我试图通过连接:[IP地址]:1
任何帮助将不胜感激!
假设你没有上面的任何REJECT / DROP语句,你需要为内部networking(假设你在10.1.1.x上,并希望所有主机在这个范围内)做一个语句,比如:
-A RH-Firewall-1-INPUT -s 10.1.1.0/24 -p tcp -m state -state NEW -m tcp -dport 80 -j ACCEPT
并按照这个每个额外的端口。 检查文件的顶部,并确保:RH-Firewall-1-INPUT - [0:0] ,或者使用标准-A INPUT 。
! 请记住,iptables是从上到下处理的。 !
如果这不起作用,请发布整个conf或将DROP或REJECT行移到文件末尾(但在COMMIT之上)。
请务必在执行/sbin/service iptables reload后/sbin/service iptables reload 。
cHao正在寻求更多的iptables。 在我的无知中,我并没有意识到iptables中的一个条目的位置是重要的(尽pipe因为它们是我应该从中得到的链条)。无论如何,问题是我所有的行都在这行之后:
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
一旦我把他们之前,上面的线一切工作正常。
看起来规则将允许新的传入连接请求,但不允许来自现有连接的数据。 如果摆脱-m state --state NEW对于端口80(列出的最后一行)为“ -m state --state NEW ”,或者将“ESTABLISHED”和“RELATED”连接的规则添加到所有端口,则应使端口80可用。