我正在构build一个虚拟化主机,我希望我的虚拟机通过v4和v6 IP地址可用。
我拥有的主机(Xen 4.1.3与dom0中的Debian Wheezy)有一个物理eth0接口:
10.0.0.2/30 dev eth0 default via 10.0.0.1 2000:1111:1111:11111::2/64 dev eth0 default via 2000:1111:1111:11111::1 (aka fe80::1)
我的ISP为我分配了一个10.100.0.0/28 IPv4范围,通过10.0.0.2静态路由。
在主机上,我build了xenbr0虚拟网桥接口:
10.100.0.1/28 dev xenbr0
在每个访客VM上,我设置了从10.100.0.0/28开始的任何未使用的地址,即:
10.100.0.2/28 dev eth0 default via 10.100.0.1
正如所料(因为主机就像一个典型的路由器),虚拟机能够顺利地与v4互联网交谈。
这就是我对IPv6缺乏经验的地方。根据我的理解,v6地址与v4地址的路由非常相似,这意味着我想要完成的事情是不可能的,只有一个/ 64范围(至lesseth0&v6 gw的configuration方式)。
是否有可能使用单一的IPv6 / 64范围,以便虚拟机可以有静态的IPv6地址,而不必去问我的ISP另一个/ 64范围(我猜)将不得不通过2000:1111:1111:11111::2静态路由2000:1111:1111:11111::2 ?
我试图在两个/ 65个networking中“拆分”这个/ 64networking,然后像这样重新configurationxenbr0:
2000:1111:1111:11111:8000:2/65 dev xenbr0
此外,eth0被重新configuration(只有networking大小从64更改为65):
2000:1111:1111:11111::2/65 dev eth0 default via 2000:1111:1111:11111::1
主机没有松动IPv6连接。 但是,当这样configuration时,访客虚拟机无法联系主机之外的任何东西:
2000:1111:1111:11111:8000::2/65 dev eth0 default via 2000:1111:1111:11111:8000::1
任何想法如何进行?
从您的提供商获取更大的地址块是正确的解决scheme。 使用IPv6给客户一个/56或/48 (对应于256或65536个子网)是非常正常的。 这是关于IPv6的伟大的事情:总是有很多的地址! 🙂
尽pipe如此,仍然有很多人使用IPv4的思路来运行IPv6networking,并且尽可能less地给客户,他们认为“A / 64包含这么多的地址,这样就足够了”。 然后当你需要多个子网的时候遇到问题…networking运营商和服务提供商将不得不改变他们的想法,并且总是给出更大的块(像/56或者/48这样的大块,你不想问他们每个人和每个额外的子网)给想要使用它们的客户。
一旦人们开始使用它提供的大量地址空间,运行IPv6networking就变得如此简单。 没有更多的计划,要求额外的地址等只是:
/56 ,而一个/48应该是默认的商业客户。 /64 。 它将超过你所需要的,而这就是它应该是的方式。 /64 ,尽pipe可以configuration一个/127来避免ND高速caching问题。 所有这一切使您的计划和操作变得更加简单,一旦您习惯了突然可用的大数字:)