Comment afficher le cache NDISC IPv6 sous Linux?

14

Supposons que vous ayez configuré le proxy IPv6 NDP sur l'un de vos systèmes Linux comme ceci:

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

Comment vérifiez-vous que la configuration a pris? ip -6 neighbor showne semble pas afficher les entrées proxy et ip -6 neighbor show proxyn'est pas une commande prise en charge.

Gerald Combs
la source
Peut ip -6 neighbor show nud all- être ?
Zoredache
Cela montre plus d'adresses (par exemple :: dev lo) mais pas les procurations.
Gerald Combs du

Réponses:

1

Je pense que l'outil ip n'imprime tout simplement pas le drapeau NTF_PROXY. Dans ip / ipneigh.c, après le bloc NTF_ROUTER, essayez d'ajouter

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

Je n'ai pas d'installation de proxy NDP, donc je ne peux pas le tester. Cependant, à la lecture des sources du noyau, il apparaît que les entrées seront toutes retournées et l'indicateur devrait être défini pour les entrées proxy.

Martin c. Löwis
la source
Cela n'a pas fonctionné, malheureusement. J'ai également essayé d'ajouter "fprintf (fp," flags:% 02x \ n ", r-> ndm_flags);" au début de print_neigh et aucune des entrées n'avait l'indicateur NTF_PROXY défini.
Gerald Combs du
0

avez-vous essayé ip ntable?


la source
Cela me donne beaucoup d'informations utiles sur le cache NDISC, mais pas les entrées elles-mêmes. Je commence à penser que ce sont des valeurs en écriture seule, au moins pour ma version du noyau.
Gerald Combs du
0

Par souci d'exhaustivité:

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

Ce ne sont que les 6 derniers grignotages mais c'est souvent tout ce dont vous avez besoin.

hroptatyr
la source