Bagaimana cara saya mendapatkan alamat IPv6 pingable mesin saya?

14

ketika saya mencoba: $ ip -6 addr saya mendapatkan sesuatu seperti:

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

jika saya mencoba untuk melakukan ping dari mesin itu sendiri:

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

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

Apa yang saya lakukan salah?

maraton
sumber

Jawaban:

24

Setiap alamat IPv6 yang dimulai dengan fe80:adalah setara dengan 169.254.*.*alamat IPv4 , yaitu alamat tautan-lokal, hanya dapat dijangkau di segmen jaringan yang terhubung langsung, menggunakan NIC yang terhubung ke segmen itu secara khusus. Tidak seperti IPv4, bagaimanapun, sangat normal bagi NIC untuk memiliki alamat IPv6 link-lokal dan satu atau lebih alamat IPv6 global secara bersamaan.

Karena fe80:alamat IPv6 adalah tautan lokal, Anda harus menentukan antarmuka jaringan yang ingin Anda gunakan saat melakukan ping.

Contoh:

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

Anda juga dapat menambahkan antarmuka pada akhir alamat dengan menggunakan %tanda: ping6 fe80::beae:c5ff:febe:a742%eth0.

Persyaratan ini hanya untuk alamat IPv6 tautan lokal: Anda dapat melakukan ping alamat IPv6 yang dapat dialihkan secara global tanpa menentukan antarmuka.

$ 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
...
telcoM
sumber
Ia juga mengatakan scope linktepat di output :)
hobbs
4
Sama seperti lampiran untuk jawabannya: Anda juga dapat menentukan antarmuka di akhir alamat:ping6 fe80::beae:c5ff:febe:a742%eth0
Ferrybig
@Ferrybig: terima kasih telah mengingatkan saya, memperbarui jawaban saya.
telcoM
1
Perhatikan bahwa jika Anda ingin melakukan ping ke alamat ipv6 jarak jauh, router rumah Anda juga harus mendukung ipv6. Router yang lebih lama tidak selalu memiliki pembaruan peranti lunak / firmware untuk mendukung koneksi melalui ipv6. Anda kemungkinan besar akan mendapatkan pesan berikut:ping6: UDP connect: No route to host
Daniel Gelling
4

Dari man ping6, Anda harus memberi tahu ping antarmuka mana yang Anda gunakan:

- Alamat antarmuka saya

Tetapkan alamat sumber ke alamat antarmuka yang ditentukan. Argumen dapat berupa alamat IP numerik atau nama perangkat. Saat melakukan ping alamat IP-link-lokal, opsi ini diperlukan.

Misalnya, jika antarmuka Anda adalah eth0:

ping6 -I eth0 fe80::xxxxxx

atau, tanpa -Iopsi:

ping6 fe80:xxxxxx%eth0
garethTheRed
sumber