如何结合,通过NDP获取前缀ipv6并通过dhcpv6获取dns?
例子:
interface FastEthernet1/0
no ip address
duplex auto
speed auto
ipv6 address 2000::/64 eui-64
ipv6 nd prefix 2000:34::/64
ipv6 dhcp pool DNS_ONLY
dns-server 2000:FFFC:BBBB:AAAA:CCCC::1
答案1
为了实现这个功能你需要做一些改变。
首先,整个2000:0000::/32
前缀都是为 Teredo 保留的,因此您不能在 LAN 上使用它。我将2001:db8::/32
在此处从文档前缀转换为地址。请将其替换为您从 ISP 获得的前缀。如果您没有前缀(即因为这是一个独立的测试设置),请生成一个 ULA 前缀。有一个有用的生成器和可选注册页面,网址为SixXS ULA 注册表。
我个人不太喜欢在服务器和路由器上使用该eui-64
选项,因为我希望即使在更换网络接口卡后地址也是可预测的(并且该eui-64
选项取决于该卡的 MAC 地址),因此在我的示例中,我配置了一个固定地址。我还配置了所有路由器anycast
地址,即 /64 前缀,主机部分全部为零。我不知道有任何系统使用它,但遵守 RFC 永远不会有坏处 :-)
然后,您必须告诉网络有一个处于无状态模式的 DHCPv6 服务器可用。这可以通过other-config-flag
路由器通告来完成。
然后,您必须告诉路由器在接口上使用哪些 DHCPv6 服务器设置。您可以使用设置来执行此操作ipv6 dhcp server ...
。
您可能还想将路由器设置为高优先级。当其他系统意外(恶意)在 LAN 上发送路由器通告时,它可以防止出现一些问题。这就是设置ipv6 nd router-preference High
。
而且您不必明确指定路由器通告的前缀。默认情况下,它将从自己的接口地址获取前缀。您可以使用以 开头的命令更改默认前缀的前缀选项ipv6 nd prefix default ...
,但此设置中没有任何内容需要这样做。
因此我们最终得到:
interface FastEthernet1/0
no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:a:b::1/64
ipv6 address 2001:DB8:a:b::/64 anycast
ipv6 nd other-config-flag
ipv6 nd router-preference High
ipv6 dhcp server DNS_ONLY
ipv6 dhcp pool DNS_ONLY
dns-server 2001:4860:4860::8888
dns-server 2001:4860:4860::8844
这样就行了!
PS:我将 DNS 服务器更改为 Google 的公共 DNS 解析器。请根据需要进行调整。