Jak wyświetlić pamięć podręczną NvISC IPv6 w systemie Linux?

14

Załóżmy, że skonfigurowałeś NDP proxy IPv6 na jednym z systemów Linux:

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

Jak sprawdzić, czy konfiguracja się odbyła? ip -6 neighbor shownie wyświetla pozycji serwera proxy i ip -6 neighbor show proxynie jest obsługiwanym poleceniem.

Gerald Combs
źródło
Może ip -6 neighbor show nud all?
Zoredache
Pokazuje więcej adresów (np. :: dev lo), Ale nie proxy.
Gerald Combs

Odpowiedzi:

1

Myślę, że narzędzie ip po prostu nie drukuje flagi NTF_PROXY. W ip / ipneigh.c, po bloku NTF_ROUTER, spróbuj dodać

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

Nie mam instalacji proxy NDP, więc nie mogę go przetestować. Jednak po przeczytaniu źródeł jądra wydaje się, że wszystkie wpisy zostaną zwrócone i należy ustawić flagę dla wpisów proxy.

Martin v. Löwis
źródło
To niestety nie zadziałało. Próbowałem także dodać „flagi fprintf (fp,”:% 02x \ n ”, r-> ndm_flags);” na początku print_neigh i żaden z wpisów nie miał ustawionej flagi NTF_PROXY.
Gerald Combs
0

próbowałeś ip ntable?


źródło
Daje mi wiele przydatnych informacji o pamięci podręcznej NDISC, ale nie same wpisy. Zaczynam myśleć, że są to wartości tylko do zapisu, przynajmniej dla mojej wersji jądra.
Gerald Combs,
0

Ze względu na kompletność:

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

To tylko ostatnie 6 przekąsek, ale często to wszystko, czego potrzebujesz.

hroptatyr
źródło