0.0.0.0 で解決されるネットワーク インターフェイス

0.0.0.0 で解決されるネットワーク インターフェイス

私の理解では、0.0.0.0これはこのホストのすべてのネットワーク インターフェイス (を含む127.0.0.1) を意味します。

インターフェースが 3 つあり192.0.2.40、サーバー (OS は Linux) があるとします203.0.113.150127.0.0.1

には192.0.2.40:777、ServerA があります。 には 203.0.113.150:777、ServerB があります。 サーバーは へのリクエストをどのように処理するのでしょうか0.0.0.0:777? つまり、同じポート ( 777) が異なるインターフェースでリッスンしている場合です。 それとも、私がすべて間違って理解しているのでしょうか?

答え1

サーバーは0.0.0.0:777へのリクエストをどのように処理しますか

そうはなりません。0.0.0.0 にリクエストを送信することはできません。

これは、使用される IP アドレスに関係なく、ホストがすべてのリクエスト (ポート 777) に反応することを意味します。明らかに、サーバーは IP アドレスを使用して構成する必要がありますが、これはサーバー プロセスが追加のフィルタリングを行わないことを意味します。

答え2

0.0.0.0およびは127.0.0.1内部的に使用されます。0.0.0.0はすべてのインターフェイスを指定するために使用され、127.0.0.1はループバック インターフェイスを指定します。これらは着信トラフィックとは関係ありません。

クライアントがサーバーに接続する必要がある場合、192.0.2.40:777またはのように、インターフェースの実際のIPアドレスを指定する必要があります203.0.113.150:777。これにより、Linuxマシンはどのサーバーがリクエストを処理すべきかを認識します。(クライアントが127.0.0.1またはに接続しようとすると0.0.0.0彼ら自身あなたのものではなく、システムのものです。

関連情報