如何在 Linux 中显示 IPv6 NDISC 缓存?

如何在 Linux 中显示 IPv6 NDISC 缓存?

假设您已经在其中一个 Linux 系统上配置了 IPv6 代理 NDP,如下所示:

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

您如何验证配置是否生效?ip -6 neighbor show似乎没有显示代理条目并且ip -6 neighbor show proxy不受支持的命令。

答案1

我认为 ip 工具只是没有打印 NTF_PROXY 标志。在 ip/ipneigh.c 中的 NTF_ROUTER 块之后,尝试添加

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

我没有安装 NDP 代理,因此无法测试。但是,通过阅读内核源代码,似乎所有条目都将返回,并且应该为代理条目设置标志。

答案2

您尝试过 ip ntable 吗?

答案3

为了完整起见:

 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 个咬合,但这通常是您所需要的。

相关内容