同じEC2サブネットのインスタンス間でTCP接続を作成するときのEHOSTUNREACHエラー

同じEC2サブネットのインスタンス間でTCP接続を作成するときのEHOSTUNREACHエラー

同じ EC2 サブネットにクライアント EC2 インスタンスとサーバー EC2 インスタンスがあります。サブネットルーティングテーブルは、「ローカル」ルーティング用に設定されています。

私が走るときEC2ネットワーク洞察クライアントインスタンスからポート22のサーバーインスタンスまでのTCPパスへのパスを正常に検索します。私にとって、これはセキュリティグループとACLがこのトラフィックを許可するように設定されていることを意味します。

telnet <server-ip> 22クライアントで実行すると、「ホストへのパスなし」というメッセージが表示されます。 strace で errno=EHOSTUNREACH によって connect(2) が失敗することがわかります。

私には、セキュリティグループ/ACL/中間ルーティングの問題に関するこの種のヒントがありますか?ただし、任意のポート(そのポートでリッスンしていないことがわかっています)を使用してサーバーからクライアントにTelnetを実行すると、予想される「接続が拒否されました」というメッセージが表示されます。

特に奇妙なことは、VPCフローログでトラフィックが正常であることがわかるということです。ジョブは「受け入れ」、ログ状態は「正常」です。それでは、そのようなセキュリティグループ/ACLが大丈夫であることを意味しますか?

私が走るときパス(8)クライアントインスタンスでは、サーバーインスタンスのゲートウェイが0.0.0.0であることがわかります。これは、ローカルブロードキャストドメインでのみ利用可能であることを示します。したがって、中間ルータがないようです。

ここで何が起こっているのか、さらにデバッグするために何ができるのかを知っている人はいますか?理想的には、インスタンスまたは少なくともそのログにアクセスする他の方法があります。

サーバーインスタンスがTCPに到達せずにIPレベルでトラフィックを拒否しているようです。しかし、サーバーのIP層はTCPポートについてもわからないため、奇妙に見えます。

サーバーインスタンスでsshdが実行されていると思うので、このネットワークの問題を解決できる場合は、おそらく私のインスタンスにアクセスできます。

答え1

確かにfirwalldここでサーバーインスタンスを起動しました。したがって、サーバーは TCP SYN に応答しません。

関連情報