IPv6を使用してlocalhostにpingを実行するにはどうすればよいですか?


22

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作業を行うためにどのような変更を行う必要がありますか(可能な場合)。


3
Linuxを使用している場合は、通常ifconfigroute- および-を避ける必要があります。これらは、より多くのネットワーク機能をサポートip addrip route、出力の一貫性を高めます。
荒廃

チップメイトの@grawity thx、非常に便利です
-nafas

回答:


15

短い回答[ 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 ] または別のシステムの場合は別の場所[ 2 ]で確認できます。
あなたは見つけることがip6-localhostip6-loopbackipv6-localhostipv6-loopbackまたはlocalhost自体...


もっと言葉

私は確かに私が読んでから何のためにあなたの混乱を理解rfc6761について「特殊用途ドメイン名」 6.3 [ 3 ]の名前については、localhostを

ユーザーは、localhost名の IPv4およびIPv6アドレスクエリが常にそれぞれのIPループバックアドレスに解決されると想定する場合があります

したがって、デフォルトとして期待されるはずです が、次のとおりです

  • 現在更新されており、変更されていないUbuntu 14.04.3 LTS /etc/hostsでは、次のセクションが見つかりましたip6-localhostip6-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のシステム私が見つかりましたlocalhostipv6-localhostipv6-loopback

    # special IPv6 addresses
    ::1             localhost ipv6-localhost ipv6-loopback
    
  • 古い Debian GNU / Linux 8.2 システムlocalhostip6-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)

非常に詳細な回答ありがとうございます、私は心配しています、私たちはすぐにipv6を使用する必要がありますが、非常に多くの障害があります(実際にはlocalhostよりも簡単にはなりませんでした)そして標準化はありません。私たちはそれについて何もしないと思います、それは非常に多くのトラブルを引き起こします
...-nafas

これらの::1各マシンでの作業を見てきましたように... 「標準の良いところは、選択できるものがたくさんあることです。」ASTanenbaum [ 1 ] :-)解決策が見つかるでしょう...たぶん間違ったものです!;)
ヘイスター

、私は完全に仲間になります。::1はip(v6)で、as localhosthostnameです。完全に私の意見ですが、標準をそのままにしないと、近い将来多くの問題に直面するでしょう。ipv6が追い越したら、ipv6.google.com代わりに入力する必要がないことを本当に願っていますgoogle.com
-nafas

1
あなたがそれを得ること:-) ...ところで明らかになった2月、2013年に提案されている標準の成熟度レベルを達成RFC 6761(特殊用途ドメイン名を) ...ので、前の標準としてそれを見てほしいまでの時間がまだあります手遅れになります。
ハスター

1
@nafas彼らはにIPv6を追加しましたgoogle.com
マットノルドホフ

24

試してください:

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。)


6
の新しいバージョンにiputilsは個別のping6ユーティリティはなく、と統合されましたping。これらのバージョンの場合は、ping -6 ::1または(::1IPv4アドレスではないため)を使用しping ::1ます。
-Lekensteyn

1
@Lekensteynどっち?最新バージョンで-6も、認識されていません。
edmz

@black:どのバージョンを「最新」とみなしますか?pingとping6はiputils-s20150815でマージされました(チェックping -V)。ディストリビューションがまだアップグレードされていない可能性があります。(およびBSDには独自のソフトウェアがあり、iputilsを使用しません。)
grawity

@grawity:最新バージョンはありますが、実際の最新バージョンではなく、Arch Linux(20140519)でもOODです。
edmz

@black:「最新だが実際の最新ではない」?...とにかく、Archは[testing]で1か月以上iputils-20150815を使用していますが、いつ安定版に移行するのかわかりません。
荒廃

9

localhost127.0.0.1アドレスに解決されるホスト名です。あなたの/etc/hostsファイルには::1、おそらくのための個別のエントリが必要localhost6です。これらを試してください:

ping6 ::1
ping6 localhost6

7
ホスト名は、複数のアドレスに一度に解決できます-特に異なるプロトコルからのものである場合。ほとんどのシステムlocalhost 127.0.0.1との両方のエイリアス::1です。
荒廃

1
@grawity私がチェックしたシステムはどれもlocalhostIPv6に使用していません。以下のために使用私が見つけた名前が::1なかったip6-localhostip6-loopbacklocalhost6、とlocalhost6.localdomain6
カスペルド

3
@ kasperd、Gentooから/etc/hosts127.0.0.1 localhost::1 localhost; Windows Vistaは同一です(ファイルをに入れることを除くC:\Windows\System32\drivers\etc)。MacOSX 10.9.5はfe80::1%lo0 localhost、3番目の名前として追加します。
マーク

3
@kasperd:あなたは多くのシステムを使用していません。Windows、Arch、CentOS、Ubuntuはすべてにマップさlocalhost::1ます。(ディストリビューションはsystemdを採用し、nss_myhostnameを有効にするため、これはさらに一般的になると思います。)
grawity

2
CentOS 6には:: 1がlocalhost6ですが、CentOS 7には両方にlocalhostがあります。OpenWRT、Xenserver、およびSolarisにはIPv6エントリがまったくありません。
qasdfdsaq
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.