IPv6 kullanarak localhost'a nasıl ping yapabilirim?


22

IPv6'yı daha iyi anlamaya çalışıyorum .

Öncelikle ifconfig'ü deniyorum ve aşağıdakileri alıyorum:

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

Yani yukarıdan IPv6'nın etkin olduğunu varsayabilirim (burada yanılıyorsam düzelt beni).

Şimdi kullanırsam ping localhostalıyorum:

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
...

Ama kullandığımda şunu ping6 localhostalıyorum:

unknown host

Nasıl kullanırım ping6? Ya da daha spesifik olarak, ping6 localhostiş yapmak için ne gibi değişiklikler yapılması gerekiyor (mümkünse)?


3
Eğer Linux üzerinde iseniz, genellikle kaçınmalısınız ifconfigve route- tercih ip addrve ip routedaha ağ özellikleri destekleyen hangi ve daha tutarlı bir çıkış var.
yerçekimi

@grawity tip arkadaşı için çok yararlı, çok kullanışlı
nafas

Yanıtlar:


15

Kısa cevap [ 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`

Çalışmak için yapılan değişiklikler ping6 localhost

Eğer varsa setine istediğiniz localhosther ikisi için takma ad olarak pingveping6 ve makinenizde Henüz değil, içinde yazma için yeterlidir /etc/hostsdosyanın hem hatları:

127.0.0.1       localhost
# ... and below
::1             localhost ipv6-localhost ipv6-loopback

O endişelendiren için takma şu anda kullanılan sisteminizde Eğer hosts dosyasını kontrol edebilirsiniz /etc/hosts [ 1 ] ya da farklı bir yer yerde farklı bir sistem üzerinde eğer [ 2 ] .
Sen bulabilir ip6-localhost, ip6-loopback, ipv6-localhost, ipv6-loopbackveya localhostkendisi ...


Bazı kelimeler daha

Ben gerçekten ben okuma ne için karışıklık anlıyorum rfc6761 hakkında "Özel Kullanım Alan Adları" 6,3 [ 3 ] adı hakkında, localhost ,

Kullanıcılar, yerel ana bilgisayar adları için IPv4 ve IPv6 adres sorgularının her zaman ilgili IP geridöngü adresine çözümleneceğini varsayabilir .

bu nedenle varsayılan olarak beklenmelidir, ancak:

  • Güncellenmiş ve güncel olarak bakir Ubuntu 14.04.3 LTS /etc/hosts aşağıdaki bölüme sahip bulunan 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
    
  • Bir Açık Suse Enterprise 10 Bulduğum sistemin localhost, ipv6-localhost,ipv6-loopback

    # special IPv6 addresses
    ::1             localhost ipv6-localhost ipv6-loopback
    
  • Eski bir günü Debian GNU / Linux 8.2 sisteminde localhost, ip6-localhost,ip6-loopback

    # The following lines are desirable for IPv6 capable hosts
    ::1     localhost ip6-localhost ip6-loopback
    

Bu, benim sınırlı deneyimlerime göre, /etc/hostdosyanızı incelemeniz ve üzerinde değişiklik yapmanız veya ne yaparken bulacağınızı kullanmanız gerektiği anlamına gelir.

ping6 ipv6-localhost   # On some systems (maybe on Suse) 
ping6 ip6-localhost    # On some systems (maybe on Debian/*buntu)

çok detaylı cevap teşekkürler, beni endişelendiren şey, çok yakında ipv6 kullanmamız gerekecek ve henüz çok fazla engel var (bu, localhost'tan daha kolay olamazdı) ve hiçbir standardizasyon yok. Sanırım bu konuda hiçbir şey yapmayacağız, bu çok fazla sıkıntıya neden oluyor ...
nafas

Gördüğünüz gibi ::1bu makinelerin her birinde işler var ... "Standartlarla ilgili en güzel şey, aralarından seçim yapabileceğiniz çok şey olması." ASTanenbaum [ 1 ] :-) Bir çözüm bulunacak ... belki yanlış! ;)
Hastur

, Tamamen dostum olsun. ::1olarak ip (v6) olduğu localhostolduğu hostname. tamamen benim görüşüme göre ancak standardı olduğu gibi tutmazsak, yakın gelecekte birçok sorunla karşı karşıya kalacağımıza inanıyorum. Gerçekten IPv6 gelse kez biz örneğin yazmanız gerekmez umut ipv6.google.comyerinegoogle.com
Nafas

1
Anladığın açıktı ... ... BTW RFC 6761 (Özel Kullanım Alan Adları), Şubat 2013’te Önerilen Standart vade seviyesine ulaştı. ... bu yüzden daha önce standart olarak görmek için hala vaktiniz var. çok geç olacak.
Hastur

1
@nafas IPv6'yı eklediler google.com.
Matt Nordhoff

24

Deneyin:

ping6 ::1

Sonuç şöyle görünür:

# 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 (Güvenilir 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

(Aynı şey için ping6 -V.)


6
Yeni sürümleri iputilsayrı bir ping6yardımcı program, birleşti ping. Bu sürümler için ping -6 ::1ya da kullanın (çünkü ::1bir IPv4 adresi değildir) ping ::1.
Lekensteyn

1
@Lekensteyn Hangisi? En son sürüm, -6tanınmıyor bile.
edmz

@black: Hangi sürümü "son" olarak düşünüyorsunuz? ping ve ping6, iputils-s20150815'te (kontrol ping -V) birleştirildi . Dağıtımınız henüz yükselmemiş olabilir. (Ve BSD'lerin kendi yazılımları var ve iputils kullanmıyorlar.)
Grawity

@grawity: En son sürüme sahibim, gerçekte son sürüm değil ve gerçekte OOD, hatta Arch Linux'ta (20140519).
edmz

@black: "En son ama en son değil"? ... Her neyse, Arch'ın bir aydan uzun bir süredir iputils-20150815'i [sınama] yapmasına rağmen ne zaman stabil hale getirileceğine dair hiçbir fikrim yoktu.
Grawity

9

localhost127.0.0.1adrese çözümleyen ana bilgisayar adıdır . Dosyanızın muhtemelen /etc/hostsayrı bir girişi olmalı . Öyleyse şunu dene:::1localhost6

ping6 ::1
ping6 localhost6

7
Bir ana bilgisayar adı aynı anda birden fazla adrese çözülebilir - özellikle de farklı protokollerden geliyorsa. Çoğu sistem takma localhostiçin hem 127.0.0.1 ve ::1.
yerçekimi

1
@grawity Kontrol ettiğim hiçbir sistem localhostIPv6 kullanmıyor . Ben için kullanılan bulundu isimler ::1vardı ip6-localhost, ip6-loopback, localhost6, ve localhost6.localdomain6.
kasperd

3
Bir gentoo'dan @ kasperd /etc/hosts: 127.0.0.1 localhost, ::1 localhost; Windows Vista aynıdır (dosyayı koymak hariç C:\Windows\System32\drivers\etc). MacOSX 10.9.5 fe80::1%lo0 localhostbunun için üçüncü bir isim olarak ekler .
Mark

3
@ kasperd: O zaman pek çok sistem kullanmadınız. Pencereler, Arch, CentOS, Ubuntu tüm harita localhostiçin ::1. (Dağıtımların systemd'i benimsemesi ve nss_myhostname'yi etkinleştirmesi gibi daha yaygın olacağını düşünüyorum.)
Grawity

2
CentOS 6'da localhost6 olarak :: 1 bulunur, ancak CentOS 7'de her ikisi için de localhost vardır. OpenWRT, Xenserver ve Solaris, IPv6 girişlerinde hiç yoksundur.
qasdfdsaq
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.