web-dev-qa-db-ja.com

/ etc / hostsでIPv6アドレスを表示する適切な方法は何ですか

ホストでIPv6アドレスを構成する方法を学ぶために、私は同僚にIPv6に関するドキュメントを書くことを任されています。主にRHEL6.x/7.x、ESXi、Ubuntu Serverを使用しています。これはRHEL/Ubuntuにのみ関係します。

引数:/ etc/hostsにIPv6アドレスをどのように表示するか。

私はそれが次のように表示されるのを見てきました。 2001:4860:4860 :: 1:8888 google.comゲートウェイ:IPv6アドレス

または

IPv4と同じ方法で記述します。

1
BinaryData

Hostsファイルの形式は行で構成されます。各行にはIPアドレスが含まれ、その後に空白、さらに空白で区切られた1つ以上のホスト名が含まれます。

アドレスがレガシーIPv4アドレスではなくIPv6アドレスである場合、何も変更されません。フォーマットは同じです。

例えば:

_2001:db8:1::1 example.com www.example.com
2001:db8:2::1 mail.example.com
_

hosts(5) manページ も参照してください。

3
Michael Hampton

IPv6アドレスは、128ビットのアドレス空間を表すため、独自のフォーマットシステムを持っています。これは、16オクテットであり、非常に扱いにくいです。また、現時点では、埋め込まれたゼロの実行が多数あるため、それらを圧縮できるので便利です。オクテットが使用されていないことを示すために、ピリオドの代わりにコロンが使用されています。同様に、10進数の代わりに16進数が使用されます。

IPv6アドレス は次のようになります。

aaaa:bbbb:cccc:dddd:eeee:ffff:gggg:hhhh[%int][/netmask]

netmaskは、128まで使用できることを除いて、IPv4と同じように機能します。

%intは、グローバルアドレスではなく、ローカルネットワーク内でのみ意味を持つscopedアドレスに必要であり、アドレスを2つとして所有するネットワークインターフェイスを指定しますインターフェイスは同じアドレスを持つ場合があります。

先頭のゼロは省略でき、アドレス内のゼロの連続(慣例により最長のもの)は::を使用して圧縮できます。

2001:0db8:1523:0000:1334:0000:0000:0193
先頭のゼロが削除されました:2001:db8:1523:0:1334:0:0:193
圧縮されたゼロの最長ラン:2001:db8:1523:0:1334::193

いくつかの特別な場合があります:

  • 完全にゼロで始まるアドレスは、::に圧縮できます。次に、ゼロ以外の部分(0:0:0:0:0:0:0:0/128::/128になり、0:0:0:0:0:0:0:1/128::1/128になります)。

  • IPv4互換およびIPv4にマップされたIPv6アドレスは、::a.b.c.d/96および::ffff:a.b.c.d/96(または::ffff:aabb:ccdd/96)のように見えます。

/etc/hostsの使用法については、IPv4アドレスとIPv6アドレスの間でほとんど何も変更されません。ネットワークマスクについて心配する必要はなく、スコープアドレスやIPv4互換アドレスについて心配する必要もほとんどありません。ゼロ圧縮ルールに従うだけで、通常は問題ありません。デュアルホームアドレスがある場合(ホストがIPv4とIPv6の両方をリッスンする場合)、2回入力する必要があります。1回はIPv4アドレス用、もう1回はIPv6アドレス用です。

::1 localhost
127.0.0.1 localhost
2001:db8:123:456::78 example.com www.example.com
192.0.2.56 example.com www.example.com
fe80::12:34:56:78%eth0 printer.example.com

ネットワークマスクと範囲については説明しませんが、標準範囲への参照が必要な場合は、RIPEによって生成されます a PDF with with) 簡単な概要が必要な場合そのうちの。

3
ErikF