无法在CentOS 5的iptables中打开端口?

我正试图在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可用。