我不确定这个术语;我会尽力说得清楚,但请注意我可能会用错一个词。
我有许多 Ubuntu 服务器,它们都连接到同一个网络。我可以通过 SSH 访问这些服务器,但前提是我通过 VPN 连接到同一个网络。
背景:
我正在尝试运行许可软件,该软件应该为网络上的其他服务器提供许可证。许可软件似乎在指定的服务器上正确运行,并且该服务器也能够访问许可软件。网络上的任何其他服务器都无法连接到运行许可软件的这台服务器。
为了解决这个网络问题,我没有对专有软件进行故障排除,而是尝试在每台服务器上运行简单的 Python Flask 服务器。与专有软件类似,Flask 似乎运行正常,但我无法从同一网络上的另一台服务器连接到它,但我可以从同一台服务器连接到它。
问题:
当我运行一个简单的“你好,世界!”Flask 服务器Server_1
或使用Server_2
,host=0.0.0.0
我port=5000
能够使用 连接到Server_1
其他Server_2
每台服务器ip_of_Server:5000
。
但是,如果我使用相同的参数在 上运行相同的 Flask 服务器,Server_3
则无法从Server_1
或连接到它Server_2
。尝试通过 连接时收到的错误wget
是failed: No route to host.
。当我尝试通过 Chrome 连接时,我得到的是ERR_CONNECTION_TIMED_OUT
。
我也始终能够从每个服务器进行连接localhost:5000
。例如,我能够通过 localhost:5000 连接到正在运行的 flask 服务器Server_1
,Server_1
但我无法通过 localhost:5000 连接到正在运行的 flaskServer_1
服务器Server_2
。
我尝试过的:
我最初以为这可能是防火墙问题。
我试图“禁用'iptables
使用以下内容:
sudo iptables-save > /root/firewall.rules
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
这似乎对问题没有影响。我也尝试过sudo ufw disable
,但同样,这对问题没有影响。
这让我相信这不是防火墙的问题,但我不确定这是否属实。我也不知道如何继续调试这个问题。
答案1
wget 的输出“没有到主机的路由”意味着都Server_1
没有Server_2
到的“路径” Server_3
,这不是防火墙问题或 flask 问题,而是 IP(互联网协议)问题。
为了修复这个问题,我建议确保您可以“ping” Server_3
,确保它连接到互联网,并且在使用 wget 时您使用的是正确的 IP 地址,需要进一步的详细信息才能正确指向错误,例如运行traceroute
。