我是 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 就可以了,至少对我来说是有效的。