无法在IPTables中创build规则以打开端口80

我试图在iptables中打开端口80,但遇到了几个问题。 我正在运行CentOS 5.7。

首先我试着运行这个命令:

  iptables -I RH-Firewall-1-INPUT -p tcp -m tcp -dport 80 -j ACCEPT 

但是我收到一个错误说:

 找不到iptables:命令 

所以我然后运行相同的命令,但添加了sbin:

  / sbin / iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 80 -j ACCEPT 

现在我收到这个错误:

  iptables:没有链/目标/匹配的名称 

预先感谢任何可以提供的帮助。

如果你运行了service iptables stop就像在你发布的其他问题中提示的那样,那么所有的iptables规则都被刷新了,并且没有“RH-Firewall-1-INPUT”链。

假设你正在使用默认的防火墙,请service iptables start 。 运行iptables -n --list Zoredachebuild议validation名为“RH-Firewall-1-INPUT”的链存在。 如果是这样,那么你显示的命令应该工作。 之后运行service iptables save ,将其保存到configuration文件中,以便在下一次重新引导时保存。

如果没有“RH-Firewall-1-INPUT”链,那么编辑你的问题来显示iptables -n --list的结果,我们可以从这里继续。

运行“iptables -nvL”,看看你的链的正确名称是什么,然后运行这样的规则附加到链:

 sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 

以下是我学习IPtables的一个很好的链接: https ://help.ubuntu.com/community/IptablesHowTo

希望这可以帮助