IPv6 핑은 대상 시스템이 핑백할 때만 가능합니다.

IPv6 핑은 대상 시스템이 핑백할 때만 가능합니다.

저는 전형적인 "a는 b를 핑할 수 있지만 b는 a를 핑할 수 없습니다"라는 문제가 있습니다. 핑에 IPv6을 사용합니다. 제 경우의 특별한 점은 "b"가 "a"를 핑한 직후 "b"가 "a"를 핑할 수 있다는 것입니다. 몇 번 시도한 후에 "-I eth0"과 함께 사용해야 하는 네트워크 인터페이스를 지정하면 모든 것이 제대로 작동한다는 것을 깨달았습니다(예, Linux 시스템의 두 인터페이스는 동일한 서브넷에 있습니다). 나는 기계 "b"가 핑을 보낸 후 어떤 변화가 있는지 이해하고 싶고 전문 지식에 감사드립니다. IPv4를 사용한 Ping은 양방향에서 모두 잘 작동합니다. "b"에서 핑을 중지하면 Ctrl-C를 사용하여 중지할 때까지 "a"는 계속 "b"를 핑할 수 있습니다. 바로 시도해도 다시 시도하면 실패하므로 업캐시 문제는 아닌 것으로 판단됩니다. 일부 정보:

기계 "a"

OS: Windows(방화벽 예외에 "ICMPv6" 추가)

IPv6 주소: fe80::21c:1cff:fe00:3de3

기계 "b":

OS: 리눅스 비지박스

IPv6 주소: fe80::21c:1cff:fe00:3de4

"ping" 및 "ping6" 바이너리를 모두 시도했습니다.

답변1

와 함께 링크-로컬 IPv6 주소 항상 인터페이스를 지정해야 합니다. 그 이유는 모든 네트워크에서 동일한 주소 블록(접두사)이 사용되기 때문입니다. 주소는 fe80::21c:1cff:fe00:3de3특정 링크(인터페이스)에서만 고유합니다. 다른 링크에서는 동일한 주소가 완전히 다른 장치에 사용될 수 있습니다.

이 때문에 링크-로컬 주소는 매번 인터페이스를 지정해야 하므로 일반적으로 수동 사용에는 그다지 유용하지 않습니다. 다른 컴퓨터에서는 인터페이스 이름이 다를 수 있으므로 다른 사람에게 주소가 포함된 링크를 보낼 수 없습니다. 해당 링크의 인터페이스 이름이 상대방 측에 있는지 모르기 때문입니다.

인터페이스를 지정하지 않으려면 라우팅할 수 있는 전역 범위의 "실제" IPv6 주소가 필요합니다.

예를 들어 다음을 사용할 수 있습니다. https://cd34.com/rfc4193/, 여기서 MAC 주소를 입력하면 계산이 수행되고 사용할 IPv6 주소 블록이 반환됩니다.

귀하의 경우, 한 컴퓨터가 다른 컴퓨터에 핑을 보낸 후 해당 컴퓨터의 IPv6 주소 그리고 그 인터페이스대상 컴퓨터에 알려졌으므로 핑백할 수 있습니다.

관련 정보