为了排除,快速运行mtr samba.example.com服务器。如果服务器是可访问的,那么它就是一个防火墙。
首先,使用以下命令检查服务器本身是否有任何防火墙规则iptables -L -v -n,如果没有,那么将获得以下输出:
复制
iptables -L -v -n
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
如果你看到其他任何内容,则可能是问题所在。为了检查,先iptables一下,再跑telnet samba.example.com 445,看看能不能连上。如果仍然无法连接,请查看你的提供商和/或办公室是否设置了阻止防火墙。
2、错误 2 - DNS 问题
如果使用的主机名未解析为 IP 地址,则会出现 DNS 问题。你将看到的错误如下:
复制
telnet samba.example.com 445
Server lookup failure: samba.example.com:445, Name or service not known
这里的第一步是用服务器的 IP 地址代替主机名。如果你可以连接到 IP 但不能连接到主机名,则问题出在主机名上。
发生这种情况的原因有很多(我已经看到了以下所有原因):
(1)域名是否已注册?使用whois以查明是否。
(2)域名过期了吗?使用whois以查明是否。
(3)使用的主机名是否正确?使用digorhost确保使用的主机名解析为正确的 IP。
(4)你的A记录正确吗?检查是否不小心为诸如 Asmaba.example.com 之类的内容创建了A记录。
始终仔细检查拼写和正确的主机名(是 itsamba.example.com还是samba1.example.com),因为这通常会让你感到困惑,尤其是长的、复杂的或外国的主机名。
3、错误 3 - 服务器未在该端口上侦听
telnet当能够访问服务器但没有任何内容在你指定的端口上侦听时,会发生此错误。错误如下所示:
复制
telnet samba.example.com 445
Trying 172.31.25.31...
telnet: Unable to connect to remote host: Connection refused
发生这种情况可能有以下几个原因:
(1)你确定要连接到正确的服务器吗?
(2)你的应用程序服务器没有在你认为是的端口上侦听。通过在服务器上运行来检查它到底在做什么netstat -plunt,看看它实际上在监听什么端口。
(3)应用程序服务器未运行。当应用程序服务器在你启动后立即安静地退出时,就会发生这种情况。启动服务器并运行ps auxf或systemctl status application.service检查它是否正在运行。
4、错误 4 - 连接被服务器关闭
当连接成功时会发生此错误,但应用程序服务器具有内置的安全措施,会在连接建立后立即终止连接。这个错误看起来像:
复制
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
Connection closed by foreign host.
最后一行Connection closed by foreign host.表示:连接已被服务器主动终止。为了解决这个问题,需要查看应用服务器的安全配置,以确保 IP 或用户可以连接到它。
5、连接成功
这是成功的telnet连接尝试的样子:
复制
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
连接将保持打开状态一段时间,具体取决于所连接的应用程序服务器的超时时间。
通过键入关闭telnet连接CTRL+],然后当看到telnet>提示时,键入“quit”并按ENTER 键,即:
复制
telnet samba.example.com 445
Trying 172.31.25.31...
Connected to samba.example.com.
Escape character is '^]'.
^]
telnet> quit
Connection closed.
6、结论
客户端应用程序无法连接到服务器的原因有很多。确切的原因可能很难确定,尤其是当客户端是提供很少或不提供错误信息的GUI时。使用telnet和观察输出将能够非常迅速地缩小问题所在范围并节省大量时间。
原文链接:https://bash-prompt.net/guides/telnet/返回搜狐,查看更多