我對術語不太確定;我會盡量說得清楚,但請注意我可能會用錯一個字。
我有許多 Ubuntu 伺服器,它們都連接到同一網路。我可以透過 SSH 存取這些伺服器,但前提是我透過 VPN 連接到同一網路。
背景:
我正在嘗試運行許可軟體,該軟體應該為網路上的其他伺服器提供許可證。許可軟體似乎在指定伺服器上正確運行,並且該伺服器也能夠存取許可軟體。網路上的任何其他伺服器都無法連接到執行許可軟體的該伺服器。
為了解決這個網路問題,我沒有嘗試對專有軟體進行故障排除,而是嘗試在每台伺服器上運行簡單的 Python Flask 伺服器。與專有軟體類似,Flask 似乎運作正常,但我無法從同一網路上的另一台伺服器連接到它,但我能夠從同一伺服器連接到它。
問題:
當我運行一個簡單的“你好世界!” Flask伺服器onServer_1
或Server_2
withhost=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
。