telnet:无法连接到远程主机:网络不可达

telnet:无法连接到远程主机:网络不可达

我无法使用任何端口通过 telnet 连接到 gmail。我正在使用以下命令:

telnet smtp.gmail.com 25

并出现以下错误:

Trying 74.125.68.108...
Trying 74.125.68.109...
Trying 2404:6800:4003:c02::6d...
telnet: Unable to connect to remote host: Network is unreachable

我用了使用方法 2 配置我的防火墙,认为这个问题可能是因此引起的。

命令的输出 sudo ufw status是:

Status: active

To                         Action      From
--                         ------      ----
25,53,80,110,443/tcp       ALLOW OUT   Anywhere
53,67,68/udp               ALLOW OUT   Anywhere
51413/tcp                  ALLOW OUT   Anywhere
51413/udp                  ALLOW OUT   Anywhere
6969/tcp                   ALLOW OUT   Anywhere
587,2525/tcp               ALLOW OUT   Anywhere
587,2525/udp               ALLOW OUT   Anywhere
25,53,80,110,443/tcp (v6)  ALLOW OUT   Anywhere (v6)
53,67,68/udp (v6)          ALLOW OUT   Anywhere (v6)
51413/tcp (v6)             ALLOW OUT   Anywhere (v6)
51413/udp (v6)             ALLOW OUT   Anywhere (v6)
6969/tcp (v6)              ALLOW OUT   Anywhere (v6)
587,2525/tcp (v6)          ALLOW OUT   Anywhere (v6)
587,2525/udp (v6)          ALLOW OUT   Anywhere (v6)

我甚至尝试使用移动网络而不是局域网,以为我的 ISP 可能阻止了端口,但我遇到了同样的错误。有人能帮忙吗?

更新: sudo netstat -tunlp给出:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:23              0.0.0.0:*               LISTEN      8390/xinetd     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      4310/cupsd      
tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN      1405/postgres   
tcp        0      0 127.0.0.1:5433          0.0.0.0:*               LISTEN      1779/postgres   
tcp        0      0 127.0.0.1:9306          0.0.0.0:*               LISTEN      3275/searchd    
tcp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      1171/mysqld     
tcp        0      0 127.0.1.1:53            0.0.0.0:*               LISTEN      2465/dnsmasq    
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           3414/chrome     
udp        0      0 0.0.0.0:5353            0.0.0.0:*                           749/avahi-daemon: r
udp        0      0 0.0.0.0:48695           0.0.0.0:*                           749/avahi-daemon: r
udp        0      0 0.0.0.0:46846           0.0.0.0:*                           9389/dhclient   
udp        0      0 127.0.1.1:53            0.0.0.0:*                           2465/dnsmasq    
udp        0      0 0.0.0.0:68              0.0.0.0:*                           9389/dhclient   
udp6       0      0 :::47892                :::*                                749/avahi-daemon: r
udp6       0      0 :::5353                 :::*                                749/avahi-daemon: r
udp6       0      0 :::14340                :::*                                9389/dhclient 

答案1

许多 ISP 会阻止与端口 25 的连接,作为一种反垃圾邮件措施。我的 ISP (Cox) 就是这样做的,只允许通过端口 25 连接到他们自己的邮件服务器。对于其他电子邮件服务,必须使用备用端口,这可能需要使用 SSL 或 TLS,而不是像端口 25 那样的开放连接。

请查看您的 ISP 网站,特别是有关端口 25 的信息。

首先尝试使用端口 25 连接到您的 ISP 的电子邮件服务器(如果可用)。如果成功,则可能是 ISP 限制。

作为测试,你可以稍微玩一下 netcat:

sudo nc -l -p 25

然后在新的终端中尝试 telnet 连接到 localhost:25。如果您输入的内容反映在 netcat 中,那么这又可能是您的 ISP 的限制。

为了进一步测试和验证这一点,您可以在路由器中为当前 PC 的端口 25 设置端口转发,然后尝试相同的 netcat 技巧。但是,请改为远程登录到您的公共 IP,即端口 25。如果此操作失败,那么几乎可以肯定是 ISP 限制。

注意:许多 ISP 都采用这种做法,包括以下移动提供商威瑞森。因此,仅仅因为它在网络共享连接上无法工作,并不意味着它不是 ISP 问题。


解决方案

可以通过端口 587 以纯文本(无安全协商)连接到 Gmail。因此,您应该会看到它telnet smtp.gmail.com 587运行正常!

相关内容