Firewalld 说一个端口是开放的,但 nmap 说它是关闭的

Jir*_*kel 6 smtp centos firewalld

在我的 CentOS 7 安装中,我无法连接我在服务器上创建的作为 Gmail 别名的电子邮件帐户之一。

我已经运行了以下命令:

 firewall-cmd --permanent --zone=public --add-service=smtp
 firewall-cmd --permanent --zone=public --add-port=25/tcp
Run Code Online (Sandbox Code Playgroud)

当我做一个

firewall-cmd --permanent --zone=public --query-port=25/tcp
Run Code Online (Sandbox Code Playgroud)

它返回“是”

但是,我仍然在 Gmail 和各种电子邮件测试站点上收到“无法访问服务器”错误。

然后我做了一个

nmap -sT -O localhost
Run Code Online (Sandbox Code Playgroud)

看到我的端口没有在那里列出。任何想法为什么?

Sok*_*kel 2

两件事情。首先,对于firewalld,您需要在使用firewall-cmd --reload或应用永久规则后重新加载--complete-reload。重新验证您的查询或firewall-cmd --list-all.

其次,如果您已经执行了上述操作,请检查ss -tuna | grep 25它是否正在侦听*:25。如果它正在侦听“127.0.0.1:25”,那么您需要重新配置 postfix 以侦听另一个接口。例子。

inet_interfaces = $myhostname
# or...
inet_interfaces = all
Run Code Online (Sandbox Code Playgroud)