Ich bin mir hinsichtlich der Terminologie nicht sicher. Ich werde versuchen, so klar wie möglich zu sein, bedenken Sie jedoch, dass ich möglicherweise ein Wort falsch verwende.
Ich habe mehrere Ubuntu-Server, die alle mit demselben Netzwerk verbunden sind. Ich kann auf jeden dieser Server über SSH zugreifen, aber nur, wenn ich über VPN mit demselben Netzwerk verbunden bin.
Hintergrund:
Ich versuche, eine Lizenzierungssoftware auszuführen, die die Lizenz an die anderen Server im Netzwerk weitergeben soll. Die Lizenzierungssoftware scheint auf dem angegebenen Server ordnungsgemäß zu laufen und dieser Server kann auch auf die Lizenzierungssoftware zugreifen. Kein anderer Server im Netzwerk kann eine Verbindung zu diesem Server herstellen, auf dem die Lizenzierungssoftware läuft.
Um dieses Netzwerkproblem zu beheben, habe ich statt der Fehlerbehebung bei der proprietären Software versucht, auf jedem der Server einfache Python Flask-Server auszuführen. Ähnlich wie bei der proprietären Software scheint Flask ordnungsgemäß zu laufen, aber ich kann von einem anderen Server im selben Netzwerk keine Verbindung dazu herstellen, aber ich kann vom selben Server aus eine Verbindung dazu herstellen.
Das Problem:
Wenn ich eine einfache"Hallo Welt!" Flask-Serveran Server_1
oder Server_2
mit host=0.0.0.0
und port=5000
ich kann mich mit zu Server_1
und Server_2
von jedem anderen Server verbinden ip_of_Server:5000
.
Wenn ich jedoch denselben Flask-Server Server_3
mit denselben Parametern auf ausführe, kann ich keine Verbindung von Server_1
oder herstellen Server_2
. Der Fehler, den ich beim Verbindungsversuch über erhalte, wget
ist failed: No route to host.
. Wenn ich versuche, eine Verbindung über Chrome herzustellen, erhalte ich ERR_CONNECTION_TIMED_OUT
stattdessen .
Ich kann mich auch immer von jedem der Server aus verbinden . Ich kann mich also mit dem Flask-Server verbinden, der über localhost:5000 localhost:5000
läuft , aber ich kann mich nicht mit dem Flask-Server verbinden, der über localhost:5000 läuft.Server_1
Server_1
Server_1
Server_2
Was ich versucht habe:
Ich dachte zunächst, dass es sich möglicherweise um ein Firewall-Problem handelt.
Ich habe versucht, zu deaktivieren' iptables
mit folgendem:
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
Dies schien das Problem nicht zu beeinflussen. Ich habe es auch versucht sudo ufw disable
, aber auch dies hatte keine Auswirkungen auf das Problem.
Das lässt mich glauben, dass es nicht an der Firewall liegt, aber ich bin mir nicht sicher, ob das stimmt. Ich weiß auch nicht, wie ich dieses Problem weiter debuggen soll.
Antwort1
Die Ausgabe von wget „Keine Route zum Host“ bedeutet, dass weder Server_1
noch Server_2
ein „Pfad“ zu haben ist Server_3
. Dies ist kein Firewall- oder Flask-Problem, sondern eher ein IP-Problem (Internet Protocol).
Um dies zu beheben, schlage ich vor, sicherzustellen, dass Sie einen „Ping“ ausführen können Server_3
, dass eine Verbindung zum Internet hergestellt wird und dass Sie bei der Verwendung von wget die richtige IP-Adresse verwenden. Um den Fehler richtig zu benennen, wären weitere Details erforderlich, z. B. das Ausführen eines traceroute
.