IPv6을 사용하여 로컬 호스트를 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
당신이 리눅스에 있다면, 당신은 일반적으로 피해야 ifconfig하고 route- 선호 ip addr하고 ip route더 네트워킹 기능을 지원하고보다 일관된 출력이있는.
grawity

팁 메이트를위한
@grawity

답변:


14

짧은 답변 [ 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-localhost, ip6-loopback, ipv6-localhost, ipv6-loopback또는 localhost그 자체 ...


더 많은 단어

나는 정말로 내가 읽고 무엇에 대한 귀하의 혼란을 이해 rfc6761 에 대해 "특수 용도의 도메인 이름" 6.3 [ 3 ] , 이름에 대한 로컬 호스트 ,

로컬 호스트 이름에 대한 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
    
  • A의 수세 기업 10 시스템 I 발견 localhost, ipv6-localhost,ipv6-loopback

    # special IPv6 addresses
    ::1             localhost ipv6-localhost ipv6-loopback
    
  • 옛날에 데비안 GNU / 리눅스 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)

매우 상세한 답변 덕분에, atm을 걱정하는 것은, 우리는 ipv6을 매우 빨리 사용해야 할 것입니다. 그러나 너무 많은 장애물이 있습니다 (로컬 호스트보다 더 간단하게 얻을 수는 없습니다). 나는 우리가 그것에 대해 아무것도하지 않을 것
같아서

::1각 기계에 대한 작업을 보았 듯이 "표준에 대한 좋은 점은 선택할 수있는 것이 너무 많다는 것입니다." ASTanenbaum [ 1 ] :-) 해결책이 발견 될 것입니다 ... 아마도 잘못된 것입니다! ;)
Hastur

나는 완전히 친구를 얻습니다. ::1같은 IP (V6),이다 localhost입니다 hostname. 전적으로 제 의견이지만 표준을 그대로 유지하지 않으면 가까운 시일 내에 많은 문제에 직면하게 될 것입니다. 일단 ipv6가 추월하면 ipv6.google.com대신 입력하지 않아도되기를 바랍니다.google.com
nafas

1
당신이 ... :-) BTW 얻을 것이 분명했다 RFC 6761 (특수 용도의 도메인 이름) 월 2013 년 제안 된 표준 성숙도 수준을 달성 ... 그래서 전에 표준으로 그것을보고 희망을 가질 시간은 충분하다 너무 늦을 것입니다.
Hastur

1
@nafas 그들은에 IPv6를 추가했습니다 google.com.
Matt Nordhoff

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

우분투 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 : "최신"버전은 무엇입니까? iputils-s20150815에 ping 및 ping6이 병합되었습니다 (확인 ping -V). 배포판이 아직 업그레이드되지 않았을 수 있습니다. (그리고 BSD에는 자체 소프트웨어가 있으며 iputils를 사용하지 않습니다.)
grawity

@ grawity : 나는 최신 버전을 가지고 있지만 실제 최신 버전은 아니며 아치 리눅스 (20140519)에서도 실제로 OOD입니다.
edmz

@black : "최신이지만 실제 최신은 아님"? ... 어쨌든, Arch는 [테스트]에서 iputils-20150815를 한 달 넘게 가지고있었습니다.
grawity

9

localhost127.0.0.1주소 로 확인되는 호스트 이름입니다 . 귀하의 /etc/hosts파일에 대한 별도의 항목이 있어야합니다 ::1가능성 localhost6. 따라서 다음을 시도하십시오.

ping6 ::1
ping6 localhost6

7
호스트 이름은 특히 여러 프로토콜에서 온 경우 한 번에 여러 주소로 확인할 수 있습니다. 대부분의 시스템 별명 localhost모두 적용 됩니다. 127.0.0.1::1
grawity

1
@grawity 확인한 시스템 중 어느 것도 localhostIPv6 에 사용되지 않습니다 . 내가 사용 발견 이름은 ::1있었다 ip6-localhost, ip6-loopback, localhost6,와 localhost6.localdomain6.
kasperd

3
젠투에서 @kasperd /etc/hosts: 127.0.0.1 localhost, ::1 localhost; Windows Vista는 파일을 넣는 것을 제외하고는 동일합니다 C:\Windows\System32\drivers\etc. MacOSX 10.9.5는 이에 fe80::1%lo0 localhost대한 세 번째 이름으로 추가 됩니다.
Mark

3
@kasperd : 많은 시스템을 사용하지 않았습니다. Windows, Arch, CentOS, Ubuntu는 모두에 매핑 localhost됩니다 ::1. (distros가 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.