web-dev-qa-db-ja.com

localhostおよび0.0.0.0のIPV6とは何ですか?

知っているように、localhostのIPv4アドレスは127.0.0.1(ループバックアドレス)です。一部の広告ホストをブロックする必要があるため、localhostおよび0.0.0.0のIPv6アドレスは何ですか。

55
Killerbeans

これで、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アドレスに関するウィキペディアのページをご覧ください。

70
Stephen C

IPv6 localhost

::1は、IPv6の ループバック アドレスです。

URL内

URL内では、角括弧[]を使用します。

  • http://[::1]/
    デフォルトはポート80です。
  • http://[::1]:80/
    ポートを指定します。

URLで使用するためにIPv6リテラルを角括弧で囲むことは、 RFC 2732 – URLのリテラルIPv6アドレスの形式 で定義されています。

41
Tomachi

Ipv6 localhostは::1です。指定されていないアドレスは::です。これは RFC 4291セクション2.5 で定義されています。

38
programmerq

/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を取得する代わりに、失敗します。

1
XP84

完全を期すために、 IPv4-mapped IPv6アドレス があります。IPv4アドレスをIPv6アドレスに埋め込むことができます(すべてのIPv6機器でサポートされているわけではありません)。

例:http://127.0.0.1:19983/solr経由でアクセスできるサーバーをマシンで実行します。 IPv4にマップされたIPv6アドレスを介してアクセスする場合、http://[::ffff:127.0.0.1]:19983/solrhttp://[::ffff:7f00:1]:19983/solrに変換されます)を介してアクセスします