我有这个问题连接:
Unable to complete network request to host "xx.xxx.xx.xxx". Failed to establish a connection. No route to host could not connect to DB
你能告诉我如何解决这个问题吗?我正在使用 Linux,并尝试与另一台 PC 建立连接。如能提供任何帮助我将不胜感激。
答案1
首先,尝试 ping 设备。“无路由到主机”可能会造成误导,因为远程机器上的防火墙(Linux 上的 iptables)阻止的端口可能会阻止您的连接尝试,看起来好像没有路由到主机。
在命令行中输入ping 192.168.2.3
(将其替换为您尝试连接的框的 IP 地址)。如果您收到成功的 ping 响应,则表明网络层正常运行,您可以按照自己的方式向上操作。我接下来要做的是尝试 telnet 到远程框上的端口,并查看出现什么错误(如果有)。在命令行中,您可以输入telnet 192.168.2.3 1234
,分别将 IP 和端口替换为您环境的值。如果 telnet 命令成功,则表明您已建立有效的网络连接,问题出在应用程序层。如果 telnet 命令失败,那么我的经验表明问题可能出在防火墙阻止了流量。
如果出现错误或 ping 失败,那么您可以集中精力处理网络层问题。要么是设备无法路由,要么是源主机没有添加正确的路由,要么是防火墙阻止了流量。
这也是数据包嗅探软件(如 tcpdump 或 tshark/wireshark(Linux 中经常包含这两个软件))有用的地方。在尝试连接时监控实际的网络数据包可以告诉您是否将数据包发送到了黑洞,或者是否有东西响应告诉您存在网络/路由问题,如果是,是什么在响应?
答案2
首先:没有到达目的地的路线。
我建议先执行“netstat -rn”和“ifconfig”,然后粘贴输出
答案3
总体而言,检查您是否配置了正确的 IP,以及需要配置 IP 的位置。主机名也一样。
这个特定的错误只是意味着没有从 A 到 B 的路线。这可能是 A 和 B 之间的某个问题,也可能是您实际上想要指定 C 而不是 B。