在IPv6中,您不应该子网到小于/ 64(RFC 5375)的任何东西。 除此之外,SLAAC不适用于较小的子网,显然还有一些其他function会打破。
什么是ISP只会给你一个/ 64的情况的解决方法,但你需要内部多个子网? 共同的build议似乎是find另一个将分发一个/ 56或/ 48的ISP。 在世界某些地区,这可能有效,但在我们这个地区(美国),由于缺乏竞争,这是不可行的。 如果他们有一个ISP服务于他们的地区,我的大多数客户是幸运的。 这里的很多人还在拨号。
我的客户将不符合ARIN的/ 48。
如果ISP不会给你超过一个/ 64,那么这个ISP很糟糕。 如果有任何救济,我可以告诉你,我必须处理那些比这更吸引人的ISP。 在这附近,把公共IPv4地址从客户那里拿出来放在CGN后面是非常正常的。 如果你询问他们的IPv6地址,他们会告诉你,他们不提供IPv6,因为现在还没有IPv4地址的短缺,只要没有IPv6支持的服务器,他们不会提供IPv6,因为这是不可能的双栈客户端连接到只有IPv4的服务器。
如果任何一个ISP能够给我你所拥有的东西,我会接受它,因为它比我迄今所能获得的要less。
向前推进有两种方法,我build议你平行追求。
对ISP施加压力
尽可能多地对ISP施加压力。 这包括联系其他ISP,并可能切换,如果任何其他ISP可以为您提供更好的交易。
请确保您testing了如果您的路由器通过WAN上的DHCPv6请求委托/ 48,/ 52,/ 56或/ 60,会发生什么情况。 我会testing所有四个前缀长度,以防万一DHCPv6服务器由于某种原因将只发出一个特定的前缀长度,并忽略其他前缀长度的请求。
充分利用你所拥有的东西
考虑到你可能不得不忍受一些黑客的攻击,所以你必须问自己,哪些攻击者使用黑客攻击或使用黑客攻击的IPv6less。
有几个黑客可以用来将单个/ 64扩展到很多主机。
将链接前缀转换为路由前缀
如果WAN链路上有一个/ 64,但没有前缀路由到LAN,则可以用几个步骤将该/ 64转换为路由前缀。 将路由器上的WAN接口configuration为/ 126而不是/ 64。 在路由器上安装邻居通告守护进程(例如ndppd),以通告/ 64中每个地址的MAC地址,除了/ 126中的4个地址。 通过这两个步骤,您将在路由器上使用路由/ 64,除了用于WAN链路的4个地址以外。
这个hack的修改版本可以在多个路由器之间共享链路/ 64。 为了适应每个路由器的IP地址,链路前缀将必须比/ 126短一点,一个/ 120将足够短以允许多达254个路由器。
每个路由器显然只会得到比64更长的前缀。 我build议你尽可能为每个路由器设置前缀,同时在该路由器上仍然有足够的IP地址用于局域网。 每个路由器的A / 112或/ 120可能是合适的。 每个路由器以自己的MAC地址作为响应,以发现该路由器前缀内的任何内容。
在这个变体中,每个路由器将在其WAN侧configuration相同的前缀,并将响应分配给其LAN侧的前缀的邻居发现请求。 很显然,没有一个局域网前缀可能互相重叠,它们中的任何一个都不会与您在WAN侧configuration的前缀重叠。
因此,如果作为网关的ISP路由器位于地址2001:db8 :: 1/64,则可以使用2001:db8 :: / 120作为WAN,并且可以将2001:db8 :: 1:0/112分配给第一个路由器,2001:db8 :: 2:0/112到第二个路由器等等
在局域网上,您可以通过子网划分或桥接将a / 64扩展到许多主机。 你必须弄清楚哪个最适合你。
子网划分
如果你使用子网/ 64,你也可以select最长的前缀,这些前缀对于你需要的主机来说仍然有足够的地址。 不要将子网划分为/ 80前缀,而应使用每个子网的/ 116,/ 120或/ 124。 如果你不使用/ 64,那么破坏的事情就不太可能在意,而且随着/ 116或者更长的时间,你将减less某些邻居发现DoS攻击(如果在你的任何系统中)的影响。
在这样的子网configuration中,您将打破SLAAC,因此您需要一个DHCPv6服务器来响应每个网段,并在所有设备上configuration静态IPv6地址,而不支持DHCPv6。
桥接
桥接是另一种select。 这基本上意味着你不要子网,而是把整个局域网作为一个带有/ 64前缀的单个IPv6段来运行。 (你需要的话,/ 64可以跨越局域网和广域网。)
IPv6旨在允许网桥识别每个任播地址需要转发到哪个桥接networking。 这样可以避免在局域网上的每个物理链路上广播数据包。
网桥也可以应用防火墙,并防止局域网上的邻居发现欺骗。
在桥上有足够的信息的情况下,原则上不限制有多less交换机可以连接一个/ 64个交换机。
是的,压力你的ISP不吸吮是首选。 RIR分配政策假设ISP正在给每个客户一个/ 48; ISP绝对没有理由不这样做。
IPv6并不是小型子网的粉丝,但是我知道的唯一一个应该突破的东西就是SLAAC。 在某些IPv6协议栈中,你会遇到一些错误和假设的问题,它们只是盲目地假设“/ 64 ==子网”,但这是一个错误,而不是function,你可以殴打供应商来修复它。 无论在你的ISP给你一个/ 48之前它是否被修复,另一方面