如何在 Centos 6 中打开端口

ahm*_*nal 2 centos port centos6

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

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

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

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

iptables: Applying firewall rules: iptables-restore: line 13 failed
Run Code Online (Sandbox Code Playgroud)

如何在 Centos 6 中打开端口

cyb*_*x86 9

如果要打开单个端口:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

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

-A INPUT -m state --state NEW -m tcp -p tcp -m multiport --dports 22,80,143 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

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

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
Run Code Online (Sandbox Code Playgroud)

只是为了进一步解释,该行的-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT意思是:

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

  • 想到了两种可能性:a) iptables 规则的顺序很重要——如果你在一个规则之后有这个规则来丢弃链的数据包(例如在`-A INPUT -j REJECT --reject-with icmp-host-prohibited` ) 那么它永远不会发挥作用 b) 很多端口扫描会寻找一些实际在所需端口上的外部接口上侦听的服务 - 因此,如果您还没有运行 IMAP 服务(例如 Dovecot),那么端口可能显示为关闭。 (2认同)