用語についてはよくわかりません。できるだけ明確に説明しようとしますが、単語を間違って使用している可能性があります。
私には複数の 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
から接続できません。 経由で接続しようとすると、次のエラーが発生します。 Chrome 経由で接続しようとすると、代わりに次のエラーが発生します。Server_1
Server_2
wget
failed: No route to host.
ERR_CONNECTION_TIMED_OUT
localhost:5000
また、各サーバーから常に接続できます。つまり、localhost:5000 経由Server_1
で で実行されている Flask サーバーに接続できますが、localhost:5000 経由で でServer_1
実行されている Flask サーバーに接続することはできません。Server_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 からの出力「No route to host」は、 にServer_1
も にもServer_2
への「パス」がないことを意味しますServer_3
。これはファイアウォールの問題でも Flask の問題でもなく、むしろ IP (インターネット プロトコル) の問題です。
これを修正するには、「ping」が実行できることServer_3
、インターネットに接続していること、wget を使用するときに正しい IP アドレスを使用していることを確認することをお勧めします。エラーを適切に指摘するには、 を実行するなど、さらに詳しい情報が必要になりますtraceroute
。