知っているように、localhost
のIPv4アドレスは127.0.0.1
(ループバックアドレス)です。一部の広告ホストをブロックする必要があるため、localhost
および0.0.0.0
のIPv6アドレスは何ですか。
これで、
localhost
のIPv4アドレスは127.0.0.1
(ループバックアドレス)になりました。
実際、127.0.0.0/8
内のIPv4アドレスはループバックアドレスです。
IPv6では、ループバック範囲の直接的な類似体は::1/128
です。したがって、::1
は唯一のIPv6ループバックアドレスです。
ホスト名localhost
は通常127.0.0.1
または::1
に解決されますが、誰かがループバックアドレスではないIPアドレスにバインドしている場合があります。これは少しクレイジーです...しかし、時々人々はそれをします。
0.0.0.0
をブロックしても意味がありません。 IPv4では、ルーティングされません。 IPv6で同等のものは::/128
アドレスです...これもルーティングされません。
0.0.0.0
および::/128
アドレスは、「任意のアドレス」を意味するために予約されています。したがって、たとえば、Webサービスを提供しているプログラムは、ホストのIPv4のいずれかを介してHTTP接続を受け入れるために0.0.0.0
ポート80にbindをバインドできますアドレス。
詳細については、IPv4およびIPv6アドレスに関するウィキペディアのページをご覧ください。
::1
は、IPv6の ループバック アドレスです。
URL内では、角括弧[]
を使用します。
http://[::1]/
http://[::1]:80/
URLで使用するためにIPv6リテラルを角括弧で囲むことは、 RFC 2732 – URLのリテラルIPv6アドレスの形式 で定義されています。
Ipv6 localhostは::1
です。指定されていないアドレスは::
です。これは RFC 4291セクション2.5 で定義されています。
/etc/hosts
ファイルで、ドメインの解決に失敗する単純な広告ブロック技術として使用する場合、0.0.0.0アドレスが広く使用されています。有効またはルーティング可能なアドレス。これは、その場所で127.0.0.1を使用するのと比較して、「接続拒否」で失敗する前に、少なくとも自分のコンピューターが要求されたポート80でリッスンしているかどうかを確認します。ドメインのホストファイルで使用されているこれらのアドレスのいずれかは、実際のネットワークを介した要求の試行を停止しますが、0.0.0.0は上記の理由により「最適」であるため好意的です。 「127」IPは自分のコンピューターにヒットしようとし、他のIPはルーターにリクエストを送信してルーティングを試みますが、0.0.0.0にはリクエストを送信する場所さえありません。
つまり、anyブロックするドメインのホストファイルにIPがリストされていれば十分です。 「-おそらく-ipv4をまったく有効にしていない場合を除き、hostsファイルにipv6アドレスを追加する必要はありません。しかし、そうだとしたら本当に驚きます。それでも、ipv4を有効にしていない場合、ホストが/ etc/hostsに不正なipv4アドレスで表示されると、still探している結果が得られると思いますたとえば、adserver-example.comの実際のDNSを検索してv4またはv6 IPを取得する代わりに、失敗します。
完全を期すために、 IPv4-mapped IPv6アドレス があります。IPv4アドレスをIPv6アドレスに埋め込むことができます(すべてのIPv6機器でサポートされているわけではありません)。
例:http://127.0.0.1:19983/solr
経由でアクセスできるサーバーをマシンで実行します。 IPv4にマップされたIPv6アドレスを介してアクセスする場合、http://[::ffff:127.0.0.1]:19983/solr
(http://[::ffff:7f00:1]:19983/solr
に変換されます)を介してアクセスします