首页 > 行业 > 正文

unraid系统下macvlan网络的docker容器使用ipv6_全球快报

2023-04-11 14:07:34 来源:哔哩哔哩

省流版:

docker network create -d macvlan –ipv6 –subnet=192.168.0.0/24 –gateway=192.168.0.8 –subnet=fd00::/64 -o parent=eth0 test1br0


(相关资料图)

其实原理挺简单的。。fe80容器会自己生成,ipv6的公网地址和网关可以通过slaac从路由器获得。但docker network创建macvlan又需要规划ipv6的网段,否则报错。然后就配ipv6的局域网网段,但不配置ipv6网关来解决问题。

背景:

给unraid下macvlan的容器启用ipv6。

网上的教程基本都是给macvlan使用路由器上获取到运营商的ipv6公网网段。这种方法的坏处是路由器重启后,需要重新设置macvlan的网段,使用起来很不方便。

本文也主要是在macvlan创建时选择的ipv6网段上进行修改。

思路:

首先查阅ipv6的常见地址段有

1、全球单播地址(也就是公网地址): 2001::/16 ,电信的是240e开头,联通2408开头,移动2409开头

2、局域网地址:   fc,fd开头  可路由。

3、链路本地地址: fe80开头   不可路由,电脑自动生成。

以上三种比较常见的类型。

首先经过测试,macvlan下的容器可以自己生成链路本地地址。然后容器也可以自己获取到路由器下发的slaac网段,网关和ipv6dns。但生成macvlan又必须指定ipv6网段。

所以我尝试给macvlan分配fd00::/64的ipv6局域网网段,同时不设置ipv6网关。经过测试,容器可以同时获得局域网地址,链路本地地址以及ipv6公网地址。

经过测试可以正常使用,并且不用考虑路由器的重启问题。

步骤:

1、爱快路由器的ipv6dhcp选择无状态(slaac)

2、unraid的docker选项打开主机访问自定义网络,保留用户自定义网络,docker custom network type选择macvlan。

3、进入unraid命令行删掉unraid自带的br0,因为默认的br0是分配的公网地址,所以把它先干掉。

docker network ls //查看docker网络

docker network rm br0 //删掉br0

4、创建新的test1br0。

docker network create -d macvlan –ipv6 –subnet=内网v4网段/24 –gateway=内网v4网关 –subnet=fd00::/64 -o parent=eth0 test1br0

这里的配置上我ipv6分配网段使用了fd开头的局域网地址,同时不配置ipv6网关。

5、用新的test1br0创建测试容器。

可以发现容器获得了ipv6的局域网,链路本地和公网地址。并且可以ping通ipv6网站。

标签:

相关阅读
返回顶部