1. ホーム
  2. localhost

[解決済み] localhostと0.0.0.0のIPV6とは何ですか?

2022-03-07 10:07:18

質問

のIPv4アドレスはご存知の通りです。 localhost127.0.0.1 (ループバックアドレス)です。のIPv6アドレスは何ですか? localhost0.0.0.0 いくつかの広告ホストをブロックする必要があるため。

解決方法は?

<ブロッククオート

のIPv4アドレスは、ご存知のように localhost127.0.0.1 (ループバックアドレス)です。

のIPv4アドレスはすべて 127.0.0.0/8 はループバックアドレスです。

IPv6では、ループバックの範囲の直接のアナログは、次のとおりです。 ::1/128 . そのため ::1 (長い形式 0:0:0:0:0:0:0:1 は、唯一無二のIPv6ループバックアドレスです。


ホスト名 localhost は通常 127.0.0.1 または ::1 ループバックアドレスでないIPアドレスにバインドしているケースを見たことがあります。 これは少しクレイジーですが......時々、人々はそれを行います。

例えば、あるアプリケーションがループバックIPの逆引きを試みても、期待した結果を得ることができないかもしれません。 最悪の場合、アプリケーションは誤って安全でないネットワークに機密性の高いトラフィックを送信してしまうかもしれません。


ブロッキング 0.0.0.0 は意味をなさない。 IPv4では、それは決してルーティングされません。 IPv6でこれに相当するのは :: アドレス(長い形式 0:0:0:0:0:0:0:0 ) ...これもルーティングされることはない。

0.0.0.0:: のアドレスは、「任意のアドレス」という意味で予約されています。 したがって、例えば、ウェブサービスを提供するプログラムは バインド 0.0.0.0 ポート 80 を使用して、ホストの IPv4 アドレスのいずれかを経由した HTTP 接続を受け付けます。 これらのアドレスは、IPパケットの送信元アドレスや送信先アドレスとしては有効ではありません。


最後に、いくつかのコメントで ::/128::/0:: .

この違いは何でしょうか?

厳密に言うと、最初の2つはIPv6アドレスではなくCIDR記法です。 実際に指定しているのは 範囲 のIPアドレスです。 CIDRは、IPアドレスと、ネットマスクのビット数を指定する付加的な数値から構成されます。 この2つを合わせて、アドレスの範囲を指定します。つまり、与えられたアドレスからマスクされたビットを無視して形成されるアドレスのセットです。

だから

  • :: は、単にIPv6アドレスを意味する 0:0:0:0:0:0:0:0
  • ::/128 手段 0:0:0:0:0:0:0:0 で、ネットマスクは128ビットで構成されます。 これにより、ちょうど1つのアドレスが含まれるネットワーク範囲が得られます。
  • ::/0 というのは 0:0:0:0:0:0:0:0 で、ネットマスクは0ビットで構成されます。 この場合、ネットワーク範囲は2 128 つまり、IPv6アドレス空間全体なのです。

詳しくは、Wikipediaの「IPv4 & IPv6 アドレス」「CIDR記法」をご覧ください。