링크 로컬 주소를 사용하여 ipv6 장치를 ping할 수 없습니다.

링크 로컬 주소를 사용하여 ipv6 장치를 ping할 수 없습니다.

링크 로컬 주소가 있는 IPv6 장치가 있습니다 fe80::204:9fff:fe04:7fb5(아래 ifconfig의 출력). 내 컴퓨터에는 주소가 있습니다 fe80::d939:2d31:6fe2:c203. 나는 두 가지 방법(기계에서 장치로, 기계에서 장치로)으로 ping을 시도했지만 얻은 것은 Destination unreachable: Address unreachable(아래에 제공된 정확한 출력)뿐이었습니다.

문제가 무엇인지 알아내려고 여러 포럼을 살펴보는 데 오랜 시간을 보냈지만 답변을 찾을 수 없었습니다. 또한 나는 IPv6에 익숙하지 않다는 점을 지적하고 싶습니다. 또한 해당 주제에 대한 많은 기사를 읽었지만 설정에 문제가 있는지 확실하지 않습니다.

ifconfig장치 출력:

eth2      Link encap:Ethernet  HWaddr 00:04:9f:04:7f:b5
          inet6 addr: fe80::204:9fff:fe04:7fb5/64 Scope:Link
          inet6 addr: 2001:c001:5afe:b1::e20:d001/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 B)  TX bytes:1898 (1.8 KiB)

ifconfig내 컴퓨터의 출력:

enp0s31f6: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::d939:2d31:6fe2:c203  prefixlen 64  scopeid 0x20<link>
        ether 54:e1:ad:92:26:52  txqueuelen 1000  (Ethernet)
        RX packets 545  bytes 62724 (61.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4000  bytes 460567 (449.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 16  memory 0xec200000-ec220000

기계에서 장치로의 Ping 출력

ping6 -I enp0s31f6 fe80::204:9fff:fe04:7fb5
ping6: Warning: source address might be selected on device other than enp0s31f6.
PING fe80::204:9fff:fe04:7fb5(fe80::204:9fff:fe04:7fb5) from :: enp0s31f6: 56 data bytes
From fe80::d939:2d31:6fe2:c203%enp0s31f6: icmp_seq=1 Destination unreachable: Address unreachable
From fe80::d939:2d31:6fe2:c203%enp0s31f6: icmp_seq=2 Destination unreachable: Address unreachable
From fe80::d939:2d31:6fe2:c203%enp0s31f6: icmp_seq=3 Destination unreachable: Address unreachable

장치에서 컴퓨터로의 Ping 출력

ping6 -I eth2 fe80::d939:2d31:6fe2:c203
PING fe80::d939:2d31:6fe2:c203(fe80::d939:2d31:6fe2:c203) from fe80::204:9fff:fe04:7fb5%eth2 eth2: 56 dat
a bytes
From fe80::204:9fff:fe04:7fb5%eth2 icmp_seq=1 Destination unreachable: Address unreachable
From fe80::204:9fff:fe04:7fb5%eth2 icmp_seq=2 Destination unreachable: Address unreachable
From fe80::204:9fff:fe04:7fb5%eth2 icmp_seq=3 Destination unreachable: Address unreachable

답변1

[방화벽/ip6tables 규칙을 확인해야 합니다. 이것은 작동합니다. 물론 두 장치가 직접 연결되어 있다고 가정합니다.]

링크-로컬 IPv6 주소를 ping할 때 %- 구문을 통해 링크 사양을 포함할 수도 있습니다.

ping6 fe80::dfef:2fb9:b91c:89a0%l_br0
PING fe80::dfef:2fb9:b91c:89a0%l_br0(fe80::dfef:2fb9:b91c:89a0%l_br0) 56 data bytes
64 bytes from fe80::dfef:2fb9:b91c:89a0%l_br0: icmp_seq=1 ttl=64 time=0.615 ms
...

(알아채다...%l_br0; l_br0은 내 브리지의 이름입니다. ...%enp0s31f6또는 ...%eth2주소와 함께 사용해야 합니다.

등을 사용할 때는 via와 같은 인터페이스를 지정할 수 없으므로 구문을 netcat사용해야 합니다 . 예를 들어, 컴퓨터에서 들으려면 다음을 수행하세요.%ping6-I

nc -l fe80::dfef:2fb9:b91c:89a0%em0 8888

다른 곳에서 연결하세요.

nc fe80::dfef:2fb9:b91c:89a0%l_br0 8888

(이 인터페이스를 사용하는 첫 번째 머신은 em0OpenBSD를 실행하고 있고, 이 인터페이스를 사용하는 두 번째 머신은 l_br0Linux를 실행하고 있습니다.)

관련 정보