无法在我的 Linux 服务器上打开端口

无法在我的 Linux 服务器上打开端口

事情是这样的,我的服务器无法连接到 gmail SMTP,出现超时错误。我认为我的服务器上的 465 端口已关闭,所以我做了几件事,现在我的csf.config文件有这两行:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995,2011,2222,8080"
TCP_OUT = "20,21,22,25,53,80,110,113,443,2011,2222,8080,465"

我搜索了 iptable 文件,发现465有三个情况如下:

-A INPUT -p tcp -m tcp --dport 465 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
-A INPUT ! -i lo -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 465 -j ACCEPT

当我运行netstat -tulpn命令时,我得到了这个结果:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name
tcp        0      0 158.58.184.42:53            0.0.0.0:*                   LISTEN      1938/named
tcp        0      0 127.0.0.1:53                0.0.0.0:*                   LISTEN      1938/named
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1552/sshd
tcp        0      0 0.0.0.0:25                  0.0.0.0:*                   LISTEN      1681/exim
tcp        0      0 0.0.0.0:443                 0.0.0.0:*                   LISTEN      9671/httpd
tcp        0      0 0.0.0.0:993                 0.0.0.0:*                   LISTEN      1505/dovecot
tcp        0      0 0.0.0.0:995                 0.0.0.0:*                   LISTEN      1505/dovecot
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN      1689/mysqld
tcp        0      0 0.0.0.0:587                 0.0.0.0:*                   LISTEN      1681/exim
tcp        0      0 0.0.0.0:110                 0.0.0.0:*                   LISTEN      1505/dovecot
tcp        0      0 0.0.0.0:143                 0.0.0.0:*                   LISTEN      1505/dovecot
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      9671/httpd
tcp        0      0 :::21                       :::*                        LISTEN      1817/proftpd
tcp        0      0 :::22                       :::*                        LISTEN      1552/sshd
tcp        0      0 :::25                       :::*                        LISTEN      1681/exim
tcp        0      0 :::587                      :::*                        LISTEN      1681/exim
tcp        0      0 :::2222                     :::*                        LISTEN      1675/directadmin
udp        0      0 158.58.184.42:53            0.0.0.0:*                               1938/named
udp        0      0 127.0.0.1:53                0.0.0.0:*                               1938/named

服务器 IP 为:158.58.184.42,SMTPS 端口 (465) 尚未开放!我该怎么办?

答案1

您的防火墙不是问题所在,一定是您的代码出了问题(因此,这不是适合询问的网站)。

你正在做的是允许传入连接到你的通过服务器的防火墙,端口 465 可以访问服务器。问题是,当你连接到 Gmail 时,你连接到的是他们的服务器。您服务器上的端口 465 与此无关。该活动中没有任何内容在端口 465 上建立入站连接你的服务器。

您找错了方向,打开这些端口并不能解决您的问题。

答案2

从“netstat -tulpn”的输出中可以看出,您有 RHEL 发行版、Exim smtp 和 Apache Web 服务器,因此您应该检查 /var/log/messages 文件以获取有关 tailf -f 命令问题的更多信息。如果您尝试通过 PHP 发送邮件,您还应该检查 httpd 日志文件(/var/log/httpd/error_log 或对于 vhosts,检查 httpd.conf 文件以查找 VirtualHost 范围下的路径)

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /www/docs/dummy-host.example.com
    ServerName dummy-host.example.com
    **ErrorLog logs/dummy-host.example.com-error_log**
    CustomLog logs/dummy-host.example.com-access_log common
</VirtualHost>
  1. 正如以上帖子所解释的那样,这与传入防火墙规则无关。问题可能出在您的传出防火墙/iptables 中。这是完整的 iptables-save 命令输出吗?尝试

    iptables -L OUTPUT 或 iptables-save | grep OUTPUT

  2. 检查您的网络接口和 /etc/resolv.conf 文件。您的服务器可能无法解析 smtp.google.com。尝试 ping smtp.google.com 或其他工具。

  3. 检查你的 exim 配置和日志以获取更多详细信息。/var/log/exim_mainlog

相关内容