내 컴퓨터의 핑 가능한 IPv6 주소는 어떻게 얻습니까? 내가 시도 할 때 : $

내가 시도 할 때 :
$ ip -6 addr
나는 다음과 같은 것을 얻는다 :

inet6 fe80::d773:9cf0:b0fd:572d/64 scope link

기계 자체에서 핑하려고하면 :

$ ping6 fe80::d773:9cf0:b0fd:572d/64
unknown host

$ ping6 fe80::d773:9cf0:b0fd:572d
connect: Invalid argument

내가 뭘 잘못하고 있죠?



답변

로 시작하는 모든 IPv6 주소 fe80:는 IPv4 169.254.*.*주소 와 동일 합니다. 즉, 링크 로컬 주소입니다. 즉, 해당 세그먼트에 특별히 연결된 NIC를 사용하여 직접 연결된 네트워크 세그먼트에서만 도달 할 수 있습니다. 그러나 IPv4와 달리 NIC가 링크 로컬 IPv6 주소 하나 이상의 글로벌 IPv6 주소를 동시에 갖는 것은 정상입니다 .

fe80:IPv6 주소는 로컬 링크 이므로 핑할 때 사용할 네트워크 인터페이스를 지정해야합니다.

예:

$ ping6 fe80::beae:c5ff:febe:a742
connect: Invalid argument

$ ping6 -I eth0 fe80::beae:c5ff:febe:a742
PING fe80::beae:c5ff:febe:a742(fe80::beae:c5ff:febe:a742) from fe80::beae:c5ff:febe:a742%eth0 eth0: 56 data bytes
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=1 ttl=64 time=0.182 ms
64 bytes from fe80::beae:c5ff:febe:a742%eth0: icmp_seq=2 ttl=64 time=0.167 ms
...

%부호 를 사용하여 주소 끝에 인터페이스를 추가 할 수도 있습니다 ping6 fe80::beae:c5ff:febe:a742%eth0.

이 요구 사항은 링크 로컬 IPv6 주소에만 해당됩니다. 인터페이스를 지정하지 않고 전역 적으로 라우팅 가능한 IPv6 주소를 핑할 수 있습니다.

$ ping6 2a00:1450:400f:80a::200e  # that's ipv6.google.com
PING 2a00:1450:400f:80a::200e(2a00:1450:400f:80a::200e) 56 data bytes
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=1 ttl=55 time=17.6 ms
64 bytes from 2a00:1450:400f:80a::200e: icmp_seq=2 ttl=55 time=19.6 ms
...


답변

에서 man ping6사용중인 인터페이스를 Ping에 알려야합니다.

-I 인터페이스 주소

소스 주소를 지정된 인터페이스 주소로 설정하십시오. 인수는 숫자 IP 주소 또는 장치 이름 일 수 있습니다. IPv6 링크 로컬 주소를 핑 (ping) 할 때이 옵션이 필요합니다.

예를 들어, 인터페이스가 eth0다음 과 같은 경우

ping6 -I eth0 fe80::xxxxxx

또는 -I옵션이 없는 경우 :

ping6 fe80:xxxxxx%eth0


답변