Como você exibe o cache do IPv6 NDISC no Linux?

14

Suponha que você configurou o NDP do proxy IPv6 em um dos seus sistemas Linux da seguinte forma:

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

Como você verifica se a configuração demorou? ip -6 neighbor shownão parece mostrar entradas de proxy e ip -6 neighbor show proxynão é um comando suportado.

Gerald Combs
fonte
Talvez ip -6 neighbor show nud all?
Zoredache
Isso mostra mais endereços (por exemplo :: dev lo), mas não os proxies.
Gerald Combs

Respostas:

1

Eu acho que a ferramenta ip simplesmente não imprime a bandeira NTF_PROXY. No ip / ipneigh.c, após o bloco NTF_ROUTER, tente adicionar

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

Não tenho uma instalação de proxy NDP, portanto não posso testá-la. Ao ler as fontes do kernel, no entanto, parece que todas as entradas serão retornadas e o sinalizador deve ser definido para entradas de proxy.

Martin v. Löwis
fonte
Infelizmente, isso não funcionou. Eu também tentei adicionar "fprintf (fp," flags:% 02x \ n ", r-> ndm_flags);" no início de print_neigh e nenhuma das entradas tinha o sinalizador NTF_PROXY definido.
Gerald Combs
0

você já tentou ip ntable?


fonte
Isso me fornece muitas informações úteis sobre o cache NDISC, mas não as próprias entradas. Estou começando a pensar que esses são valores somente para gravação, pelo menos para a minha versão do kernel.
Gerald Combs
0

Por uma questão de completude:

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

São apenas os últimos 6 petiscos, mas geralmente é tudo o que você precisa.

hroptatyr
fonte