Linux에서 IPv6 NDISC 캐시를 어떻게 표시합니까?


14

다음과 같이 Linux 시스템 중 하나에서 IPv6 프록시 NDP를 구성했다고 가정하십시오.

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

구성이 수행되었는지 어떻게 확인합니까? ip -6 neighbor show프록시 항목을 표시하지 않으며 ip -6 neighbor show proxy지원되는 명령이 아닙니다.


아마도 ip -6 neighbor show nud all?
Zoredache

더 많은 주소 (예 :: dev lo:)가 표시되지만 프록시는 표시되지 않습니다.
Gerald Combs

답변:


1

ip 도구는 NTF_PROXY 플래그를 인쇄하지 않는다고 생각합니다. ip / ipneigh.c에서 NTF_ROUTER 블록 뒤에 추가하십시오.

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

NDP 프록시 설치가 없으므로 테스트 할 수 없습니다. 그러나 커널 소스를 읽으면 항목이 모두 반환되고 프록시 항목에 플래그를 설정해야합니다.


불행히도 작동하지 않았습니다. 또한 "fprintf (fp,"flags : % 02x \ n ", r-> ndm_flags);" print_neigh의 시작 부분에 NTF_PROXY 플래그가 설정된 항목이 없습니다.
Gerald Combs

0

ip ntable을 사용해 보셨습니까?


NDISC 캐시에 대한 유용한 정보를 많이 제공하지만 항목 자체는 아닙니다. 적어도 커널 버전에서는 이것이 쓰기 전용 값이라고 생각하기 시작했습니다.
Gerald Combs

0

완전성을 위해 :

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

그것은 단지 마지막 6 니블이지만 그것은 종종 당신이 필요한 전부입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.