ネットワーク上の 1 つのサーバーにアクセスできないが、他のサーバーにはアクセスできる

ネットワーク上の 1 つのサーバーにアクセスできないが、他のサーバーにはアクセスできる

用語についてはよくわかりません。できるだけ明確に説明しようとしますが、単語を間違って使用している可能性があります。

私には複数の Ubuntu サーバーがあり、すべて同じネットワークに接続されています。これらの各サーバーに SSH 経由でアクセスできますが、VPN 経由で同じネットワークに接続している場合に限られます。

背景:

ネットワーク上の他のサーバーにライセンスを提供するライセンス ソフトウェアを実行しようとしています。ライセンス ソフトウェアは指定されたサーバー上で正常に実行されているようで、そのサーバーもライセンス ソフトウェアにアクセスできます。ネットワーク上の他のサーバーは、ライセンス ソフトウェアを実行しているこのサーバーに接続できません。

このネットワークの問題をトラブルシューティングするために、プロプライエタリ ソフトウェアのトラブルシューティングを行う代わりに、各サーバーで単純な Python Flask サーバーを実行してみました。プロプライエタリ ソフトウェアと同様に、Flask は正常に動作しているように見えますが、同じネットワーク上の別のサーバーからは接続できませんが、同じサーバーからは接続できます。

問題:

単純な「こんにちは世界!」Flaskサーバーまたはを使用するとServer_1、を使用して他のすべてのサーバーと接続できます。Server_2host=0.0.0.0port=5000Server_1Server_2ip_of_Server:5000

ただし、同じパラメータを使用して で同じ Flask サーバーを実行すると、またはServer_3から接続できません。 経由で接続しようとすると、次のエラーが発生します。 Chrome 経由で接続しようとすると、代わりに次のエラーが発生します。Server_1Server_2wgetfailed: No route to host.ERR_CONNECTION_TIMED_OUT

localhost:5000また、各サーバーから常に接続できます。つまり、localhost:5000 経由Server_1で で実行されている Flask サーバーに接続できますが、localhost:5000 経由で でServer_1実行されている Flask サーバーに接続することはできません。Server_1Server_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

関連情報