在我的 CentOS 中打开一个端口

在我的 CentOS 中打开一个端口

我正在尝试在我的 CentOS 机器上打开一个端口:

我编辑/etc/sysconfig/iptables文件并添加我的规则:

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

然后我重新启动 iptable 服务

# service iptables restart

但是当我检查开放端口时,我声明的端口没有出现

netstat -tulpn | less

答案1

打开该端口后是否有服务在运行?该命令netstat -tulpn | less只会显示实际侦听 TCP 端口的守护程序的端口。

例子

最初什么都没有运行:

$ sudo netstat -tulpn | grep :80
$

启动阿帕奇:

$ sudo /etc/init.d/httpd start
Starting httpd:                                            [  OK  ]
$

再检查一遍:

$ sudo netstat -tulpn | grep :80
tcp        0      0 :::80                       :::*                        LISTEN      31260/httpd    

现在我们看到了。停止服务:

$ sudo /etc/init.d/httpd stop
Stopping httpd:                                            [  OK  ]
$

现在又不见了。

$ sudo netstat -tulpn | grep :80
$ 

答案2

iptables rule只是说,当默认链策略设置为 DROP 时,任何具有目标端口 143 的传入 TCP 段都将被接受,并且不会被删除,或者当该段与任何规则都不匹配且链中的最后一个规则为 REJECT 时,将被拒绝。

如果您希望看到此端口已打开并处于侦听状态,则必须有某个应用程序在该端口上运行和侦听。显然,没有这样的应用程序正在运行,因此请尝试先配置它,然后启动它。 TCP 端口 143 通常分配给 IMAP 服务(又名 Dovecot、Courier-imap 等)。

相关内容