如何在 Centos 6 中打开端口

如何在 Centos 6 中打开端口

我是 Centos 新手。我需要在 Centos 中打开几个端口。

我用谷歌搜索了一下,发现了类似的东西。

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT

但是当我尝试重新启动 iptables 时,出现了以下错误

iptables: Applying firewall rules: iptables-restore: line 13 failed

如何在 Centos 6 中打开端口

答案1

如果你想开放单个端口:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT

对于多个,您可以改用以下内容(或多次重复上述行):

-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 22,80,143 -j ACCEPT

您的行不起作用的原因可能是因为您没有名为“RH-Firewall-1-INPUT”的链。 CentOS 6 仅使用“INPUT”作为链名称。 您会在默认配置的顶部看到类似以下内容,命名存在的链:

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

进一步解释一下,这句话的-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT意思是:

  • -A:附加规则
  • INPUT: 到 INPUT 链
  • -m state:使用“state”模块
  • --state NEW:仅寻找新连接(即不是先前建立/相关的连接)
  • -m tcp:使用 tcp 模块
  • -p tcp:查找使用 TCP 协议的数据包
  • --dport 143:查找目标端口为 143 的数据包

答案2

您可以通过添加来解决此问题:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

就在 22 号港口之后

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

重新启动 iptables 就可以了,至少对我来说是有效的。

相关内容