Bagaimana Anda menampilkan cache IPv6 NDISC di Linux?

14

Misalkan Anda telah mengkonfigurasi IPv6 proxy NDP di salah satu sistem Linux Anda seperti:

ip -6 neighbor add proxy 2001:db8:1234::5 dev eth1

Bagaimana Anda memverifikasi bahwa konfigurasi perlu? ip -6 neighbor showtampaknya tidak menampilkan entri proxy dan ip -6 neighbor show proxybukan perintah yang didukung.

Sisir Gerald
sumber
Mungkin ip -6 neighbor show nud all?
Zoredache
Itu menunjukkan lebih banyak alamat (mis. :: dev lo) Tetapi bukan proksi.
Gerald Combs

Jawaban:

1

Saya pikir alat ip tidak hanya mencetak bendera NTF_PROXY. Di ip / ipneigh.c, setelah blok NTF_ROUTER, coba tambahkan

   if (r->ndm_flags & NTF_PROXY) {
            fprintf(fp, " proxy");
    }

Saya tidak memiliki instalasi proxy NDP, jadi saya tidak bisa mengujinya. Namun, dari membaca sumber-sumber kernel, tampaknya semua entri akan dikembalikan dan bendera harus ditetapkan untuk entri proxy.

Martin v. Löwis
sumber
Sayangnya, itu tidak berhasil. Saya juga mencoba menambahkan "fprintf (fp," flags:% 02x \ n ", r-> ndm_flags);" ke awal print_neigh dan tidak ada entri yang memiliki flag NTF_PROXY yang ditetapkan.
Gerald Combs
0

Sudahkah Anda mencoba ip ntable?


sumber
Ini memberi saya banyak informasi berguna tentang cache NDISC, tetapi tidak entri itu sendiri. Saya mulai berpikir ini adalah nilai-nilai hanya-tulis, setidaknya untuk versi kernel saya.
Gerald Combs
0

Demi kelengkapan:

 shell> ip -6 neigh del proxy 2001:db8:1234::1234:5678 dev eth1
 shell> ip -6 maddr show dev eth1                      
 3:      eth1
         inet6 ff02::1:ff34:5678
 ...

Ini hanya 6 camilan terakhir tapi itu yang sering Anda butuhkan.

hroptatyr
sumber