如何将自己的脚趾“浸入”动态IPv6网络寻址中?


14

IPv6中是否可以通过某种方式为由特定mac地址标识的网络上的主机子集启用动态寻址和配置?

我一直在缓慢地设置IPv6。我所有的路由器都有静态地址和路由,一些关键服务器也被静态寻址。现在,我想开始测试一些客户端,但是我不想简单地一次为整个网络启用它。我希望能够只为几个主机启用它。

在IPv4的世界中,我将设置范围为0的空闲地址的DHCP服务器,并仅设置保留。在IPv6世界中,这似乎不是一个选择,因为我无法通过DHCPv6设置默认网关,这显然只能通过路由器公告来学习。

如何处理?是否不可能在网络上选择性地启用IPv6?

我的路由器是基于Linux的,如果重要的话,DHCPv6服务器将在Linux上运行,并且我希望启用各种客户端(Windows / Linux / OSX)。


为什么不能保留DHCPv6?甚至我的家用路由器都可以做到这一点。
迈克尔·汉普顿

@MichaelHampton,是的,DHCPv6应该能够向客户端传递地址,但是如何使客户端具有默认路由?
Zoredache 2013年

在DHCP服务器上,您可以创建一些iptables-rules,从某些MAC地址阻止DHCPv6,并允许您希望启用IPv6的IPtables-rules。
2013年

@Zoredache:默认路由始终通过路由器广告(RA)消息进行通信。DHCPv6不交换路由信息。
Sander Steffann 2013年

Answers:


7

我不明白为什么在IPv6上不能和在IPv4上实现相同的方式(尽管我建议通过子网而不是单个主机进行部署;这将为您节省很多时间和以后的麻烦)。

这就是IPv6在这里的工作方式(大大简化了;请参见RFC 4861以获得更多细节):

默认路由器会定期发送路由器通告,或者在收到新主机发出的路由器请求时发送该通告。RA当然包含路由器的地址和各种标志。我们感兴趣的是M(托管)标志和O(其他)标志。这些标志指定主机应从DHCPv6服务器获取其余的配置信息:

  • 设置M标志时,所有配置信息(路由器地址除外)均由DHCPv6提供。
  • 设置O标志后,主机将使用SLAAC配置其自己的IPv6地址;所有其他配置信息(路由器地址除外)由DHCPv6提供。

那时,只需要使用(例如fixed-address6在您的dhcpd.conf配置中)设置保留即可;您的DHCPv6设置将与IPv4的DHCP设置基本相似。

我也跳过了子网可能有两个或多个处理“默认”路由的路由器的情况。在这种情况下,请查看IPv6路由器首选项以配置此方面。


好的,听起来不错。挑战在于,我目前正在尝试使用DnsMasq进行路线广告。似乎缺少启用此功能所需的功能。我猜我将不得不切换到使用radvd。
Zoredache 2013年

1
在这方面,@ Zoredache dnsmasq非常少,我认为它没有所有必需的功能。我自己在用radvd。如果您需要一些极简主义的东西,例如对于嵌入式系统,请考虑6relayd。这是最初为OpenWrt编写的路由器通告/ DHCPv6服务器和中继的组合。
迈克尔·汉普顿

1

您可以将DHCPv6服务器(例如WIDE或ISC)设置为有状态配置,或者将radvd设置为无状态自动配置。IPv6为唯一的本地地址指定了范围FC00 :: / 7(类似于IPv4中的私有地址范围)。


而且您不应该使用fc00 ::或fd00 ::,因为我看到有人这样做。您应该从该范围内随机选择/ 48。
迈克尔·汉普顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.