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

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

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

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

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

但我收到一条错误消息:

iptables:未找到命令

因此我运行了相同的命令但添加了 sbin:

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

现在我收到此错误:

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

在此先感谢所提供的任何帮助。

答案1

如果您service iptables stop按照某人在您发布的其他问题中建议的方式运行,那么所有 iptables 规则都已被刷新,并且不存在“RH-Firewall-1-INPUT”链。

假设您使用的是默认防火墙,请执行service iptables startiptables -n --list按照 Zoredache 的建议运行,以验证是否存在名为“RH-Firewall-1-INPUT”的链。如果存在,则您显示的命令应该有效。service iptables save之后运行以将其保存到配置文件中,这样下次重新启动时它就会出现在那里。

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

答案2

运行“iptables -nvL”,查看链的正确名称,然后运行如下命令将规则附加到链中:

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

这是我用来学习 IPtables 的一个很棒的链接:https://help.ubuntu.com/community/IptablesHowTo

希望这可以帮助

相关内容