ご存知のとおり、のIPv4アドレスlocalhost
は127.0.0.1
(ループバックアドレス)です。以下のためのIPv6アドレスは何であるlocalhost
とのために0.0.0.0
、私はいくつかの広告のホストをブロックする必要があるとして。
回答:
ご存知のとおり、のIPv4アドレス
localhost
は127.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
そして::
アドレスは「任意のアドレス」を意味するために予約されています。したがって、たとえば、Webサービスを提供しているプログラムは、ポート80にバインドして0.0.0.0
、ホストの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アドレス空間全体です。詳細については、IPv4アドレスとIPv6アドレス、およびCIDR表記に関するウィキペディアのページを参照してください。
::1
IPv6のループバックアドレスです。
URL内では、角かっこを使用します[]
。
http://[::1]/
http://[::1]:80/
URLで使用するためにIPv6リテラルを角括弧で囲むことは、RFC 2732 –URLのリテラルIPv6アドレスの形式で定義されています。
ipv6localhostは::1
です。不特定のアドレスは::
です。これはRFC4291セクション2.5で定義されています。
完全を期すために、IPv4にマップされたIPv6アドレスがあり、IPv6アドレスにIPv4アドレスを埋め込むことができます(すべてのIPv6機器でサポートされているとは限りません)。
例:を介してアクセスできるサーバーを自分のマシンで実行していますhttp://127.0.0.1:19983/solr
。IPv4にマップされたIPv6アドレスを介してアクセスする場合は、http://[::ffff:127.0.0.1]:19983/solr
(に変換されますhttp://[::ffff:7f00:1]:19983/solr
)を介してアクセスします。
で使用するため /etc/hosts
ドメインの解決に失敗する単純な広告ブロック手法としてのファイル。0.0.0.0アドレスは、有効またはルーティング可能なアドレスではないため、試行しなくてもすぐにリクエストが失敗するため、広く使用されています。これは、その場所で127.0.0.1を使用する場合と比較して、「接続が拒否されました」で失敗する前に、少なくとも自分のコンピューターが要求されたポート80でリッスンしているかどうかを確認します。ドメインのhostsファイルで使用されているこれらのアドレスのいずれかは、実際のネットワークを介した要求の試行を停止しますが、上記の理由により「最適」であるため、0.0.0.0が支持されています。「127」のIPは自分のコンピューターを攻撃しようとし、他のIPはルーターにルーティングを試みるように要求を送信しますが、0.0.0.0の場合は
そうは言っても、ドメインをブロックするためにホストファイルにIPをリストするだけで十分であり、ホストファイルにipv6アドレスを追加する必要はありません。 ipv4を有効にします。でも、そうだったら本当にびっくりします。そして、まだしかし、私はあなたがIPv4が有効になっていない場合に、ホストがに/悪いIPv4アドレスを持つetc / hostsの表示されたことと思い、まだそれは失敗するためにあなたがいる探している結果はあなたを与えるのではなく、見上げますたとえば、adserver-example.comの実際のDNSと、v4またはv6IPのいずれかを取得します。