내 컴퓨터의 핑 가능한 IPv6 주소를 어떻게 얻나요?

내 컴퓨터의 핑 가능한 IPv6 주소를 어떻게 얻나요?

시도하면 $ ip -6 addr 다음과 같은 결과가 나타납니다.

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

컴퓨터 자체에서 ping을 시도하는 경우:

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

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

내가 뭘 잘못했나요?

답변1

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

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

예:

$ 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 주소를 ping할 수 있습니다.

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

답변2

거기에서 man ping6ping에 어떤 인터페이스를 사용하고 있는지 알려주어야 합니다.

-I 인터페이스 주소

소스 주소를 지정된 인터페이스 주소로 설정합니다. 매개변수는 숫자로 된 IP 주소 또는 장치 이름일 수 있습니다. 이 옵션은 IPv6 링크-로컬 주소를 ping할 때 필요합니다.

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

ping6 -I eth0 fe80::xxxxxx

또는 -I옵션이 없습니다.

ping6 fe80:xxxxxx%eth0

관련 정보