IPv6 を理解しようとしています。
最初に、私は ifconfig を試して、以下を取得します。
eth0 Link encap:Ethernet HWaddr XXXXXXX
inet addr:X.X.X.X Bcast:X.X.X.X Mask:XXXXXXXXX
inet6 addr: XXXX::XXXX:XXX:XXXX:XXX/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:138752772 errors:0 dropped:0 overruns:0 frame:0
TX packets:67894054 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:67347428211 (67.3 GB) TX bytes:168368922639 (168.3 GB)
Interrupt:43
上記から、IPv6が有効になっていると想定できます(ここで間違っている場合は修正してください)。
ping localhost
を使用すると、次のようになります。
64 bytes from localhost (127.0.0.1): icmp_req=1 ttl=64 time=0.026 ms
64 bytes from localhost (127.0.0.1): icmp_req=2 ttl=64 time=0.019 ms
64 bytes from localhost (127.0.0.1): icmp_req=3 ttl=64 time=0.025 ms
...
しかし、ping6 localhost
を使用すると、次のようになります。
unknown Host
ping6
の使用方法を教えてください。より具体的には、ping6 localhost
を機能させるためにどのような変更が必要ですか(可能な場合)。
短い答え [ rcf4291 ]
ping6 ip6-localhost # Or the alias you have in /etc/hosts file (See below)
ping6 0:0:0:0:0:0:0:1 # Similar to `ping 127.0.0.1` with 7 `:` instead of 4 `.`
ping6 ::1 # The used analogous of `ping 127.0.0.1`
ping6 localhost
を機能させるための変更
localhost
をping
とping6
の両方のエイリアスとして設定する必要があり、マシンにまだ設定されていない場合、/etc/hosts
ファイルに両方の行を書き込むだけで十分です。
127.0.0.1 localhost
# ... and below
::1 localhost ipv6-localhost ipv6-loopback
システムで現在使用されているエイリアスに関する問題については、ホストファイル/etc/hosts
を確認できます [ 1 ] または別のシステムの場合は別のplace [ 2 ] 。ip6-localhost
、ip6-loopback
、ipv6-localhost
、ipv6-loopback
またはlocalhost
自体が見つかります...
さらにいくつかの単語
rfc6761からについて読んだことについて、あなたの混乱が本当にわかりました「特殊用途ドメイン名」6.3 []、名前localhostについて、
ユーザーは、localhost名のIPv4およびIPv6アドレスクエリが常にそれぞれのIPループバックアドレスに解決されると想定する場合があります。
それはデフォルトとして期待されるはずですが:
現在更新されていないUbuntu 14.04.3 LTSについて/etc/hosts
ip6-localhost
、ip6-loopback
で次のセクションを見つけました
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Suse Enterprise 10システムでlocalhost
、ipv6-localhost
、ipv6-loopback
が見つかりました
# special IPv6 addresses
::1 localhost ipv6-localhost ipv6-loopback
古いDebian GNU/Linux 8.2システムの場合localhost
、ip6-localhost
、ip6-loopback
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
つまり、私の限られた経験では、/etc/Host
ファイルを調べて変更するか、次のようにして、あなたが見つけたものを使用する必要があります。
ping6 ipv6-localhost # On some systems (maybe on Suse)
ping6 ip6-localhost # On some systems (maybe on Debian/*buntu)
試してください:
ping6 ::1
結果は次のようになります。
# ping6 ::1
PING ::1(::1) 56 data bytes
64 bytes from ::1: icmp_seq=1 ttl=64 time=0.040 ms
(...)
64 bytes from ::1: icmp_seq=9 ttl=64 time=0.037 ms
^C
--- ::1 ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 7998ms
rtt min/avg/max/mdev = 0.035/0.042/0.055/0.011 ms
Ubuntu 14.04.1 LTS(Trusty Tahr):
# ping ::1
ping: unknown Host ::1
# ping -6 ::1
ping: invalid option -- '6'
Usage: ping [-aAbBdDfhLnOqrRUvV] [-c count] [-i interval] [-I interface]
[-m mark] [-M pmtudisc_option] [-l preload] [-p pattern] [-Q tos]
[-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[-w deadline] [-W timeout] [hop1 ...] destination
# ping -V
ping utility, iputils-s20121221
(ping6 -V
についても同様です。)
localhost
は、127.0.0.1
アドレスに解決されるホスト名です。 /etc/hosts
ファイルには、::1
の別のエントリが必要です。おそらくlocalhost6
です。だからこれらを試してください:
ping6 ::1
ping6 localhost6