Câu trả lời:
Bất kỳ địa chỉ IPv6 nào bắt đầu bằng địa chỉ fe80:
tương đương với địa 169.254.*.*
chỉ IPv4 , tức là địa chỉ liên kết cục bộ, chỉ có thể truy cập trong phân đoạn mạng được kết nối trực tiếp, sử dụng cụ thể kết nối với phân đoạn đó. Tuy nhiên, không giống như IPv4, một NIC hoàn toàn bình thường có cả địa chỉ IPv6 liên kết cục bộ và một hoặc nhiều địa chỉ IPv6 toàn cầu cùng một lúc.
Vì fe80:
địa chỉ IPv6 là liên kết cục bộ, bạn phải chỉ định giao diện mạng mà bạn muốn sử dụng khi ping nó.
Thí dụ:
$ 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
...
Bạn cũng có thể nối thêm giao diện ở cuối địa chỉ bằng cách sử dụng %
dấu : ping6 fe80::beae:c5ff:febe:a742%eth0
.
Yêu cầu này chỉ dành cho các địa chỉ IPv6 liên kết cục bộ: bạn có thể ping các địa chỉ IPv6 có thể định tuyến toàn cầu mà không chỉ định giao diện.
$ 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
...
ping6 fe80::beae:c5ff:febe:a742%eth0
ping6: UDP connect: No route to host
Từ man ping6
, bạn phải cho biết ping bạn đang sử dụng giao diện nào:
-Tôi địa chỉ giao diện
Đặt địa chỉ nguồn thành địa chỉ giao diện đã chỉ định. Đối số có thể là địa chỉ IP số hoặc tên của thiết bị. Khi ping địa chỉ liên kết cục bộ IPv6, tùy chọn này là bắt buộc.
Ví dụ: nếu giao diện của bạn là eth0
:
ping6 -I eth0 fe80::xxxxxx
hoặc, không có -I
tùy chọn:
ping6 fe80:xxxxxx%eth0
scope link
ngay trong đầu ra :)