IPv6 和RFC 2462为主机提供了一种通过无状态地址自动配置来配置自己的 IP 地址的方法。对我来说,这就像蜜蜂的膝盖,它让我想知道为什么有人想要通过配置 DHCPv6 服务器的麻烦来代替。我不把网络作为一种职业来管理,所以我猜有一些显而易见的简单原因为什么人们想要支持 DHCPv6,但我没有想到。有人可以详细说明这些原因可能是什么吗?
假设您已经在其中一个 Linux 系统上配置了 IPv6 代理 NDP,如下所示:
ip -6 neighbor add proxy 2001:db8:1234::5 dev eth1
Run Code Online (Sandbox Code Playgroud)
您如何验证配置是否生效?ip -6 neighbor show
似乎不显示代理条目,ip -6 neighbor show proxy
也不是受支持的命令。
对于 IPv6,我知道客户端可以使用 SLAAC 无状态地获取地址,或者使用 DHCPv6 有状态地获取地址(尽管我听说 Android 不支持通过 DHCPv6 分配地址)。
我的问题是,对于通过 SLAAC 配置其 IPv6 地址的客户端,网络将其他网络配置推送给他们的方式是什么?他们能否通过路由器广告获得此类配置,或者网络还必须为客户端部署 DHCPv6 以获取这些额外信息(但不能获取其 IPv6 地址)?例如:
如果 DHCPv6 是获取此类服务器信息的唯一方法,那么将客户端配置为通过 SLAAC 获取其地址,然后通过 DHCPv6 获取此额外配置是否合理直接?
主动提供的邻居通告对于促进 HA 集群中的快速服务地址接管是必要的。对于 IPv4 (ARP),您可以使用“arping -U”,但到目前为止,我还没有找到任何可以对 IPv6 执行类似操作的工具。
编辑:搜索更多之后,问题可能是:IPv6 需要这个工具吗?在我看来,NDP 应该能够自己解决这个问题。
我正在寻找一种方法来检索 LAN 网络上特定主机的 MAC 地址。我知道它的 IPv6 地址。理想情况下,我想要一种方法来触发 Linux 内核为我执行邻居请求,然后我可以通过命令检索主机 MAC 地址ip -6 neighbour
目前,我发现触发邻居请求的唯一方法是尝试在随机端口上建立到主机的 TCP 连接。但我觉得这个解决方案并不漂亮:
curl --connect-timeout 1 "http://[fe80::1234%eth0]:12345"
Run Code Online (Sandbox Code Playgroud)