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.


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.


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?


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.