首页 折腾备忘群晖docker-MACVLAN开IPV6

群晖docker-MACVLAN开IPV6

2023-06-02 68
群晖docker-MACVLAN开IPV6

站点名称:群晖docker-MACVLAN开IPV6

所属分类:折腾备忘

相关标签: 暂无

官方网址:index.phparchives28

SEO查询: 爱站网 站长工具 站长工具

进入网站

站点介绍

简介:

运营商:中国电信路由器:X86软路由,ikuai系统,3.6.0网络环境:IPv4 & IPv6双动态公网IP地址
一、SSH连接至群晖,输入ip a,查看网卡名称
*kenny@Diskstation-zjg:~$ ip a
6: ovs_bond0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1

link/ether 00:11:32:e9:fd:f9 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.23/24 brd 10.10.10.255 scope global ovs_bond0
   valid_lft forever preferred_lft forever
inet6 fc00:b84:f70b:1::e6e/128 scope global
   valid_lft forever preferred_lft forever*

inet和inet6分别对应的是nas的ipv4地址和ipv6地址,正确ipv4地址对应的ovs_bond0就是需要的网卡名称,记住备用。
二、查看运营商给我们分配的ipv6地址前缀是什么(以安徽电信为例)
1、以我的网络设备和环境为例,主路由也就是负责拨号的路由上面,我用的是ikuai系统,进入网络设置,下翻找到ipv6设置
请输入图片描述
ipv6设置
http://home.pjky.top:3488/imgs/2022/01/12bc12c6c0a81d18.png
2、在ikuai的ipv6设置内,右边内网ipv6地址就包含有需要的前缀
请输入图片描述
ipv6前缀

以我获取到的地址240e:361:46d6:4910::1001/60为例,macvlan网络需要的前缀就是240e:361:46d6:4910::
三、返回群晖SSH,开始创建macvlan网络并分配ipv6地址
docker network create -d macvlan -o parent=ovs_bond0 6Net --subnet=10.10.10.0/24 --ip-range=10.10.10.200/29 --gateway=10.10.10.2 --ipv6 --subnet=240e:361:46d6:4910::1/64

详细解析:
1、-d macvlan指定创建的网卡所用驱动程序为macvlan,保持不变即可。
2、-o parent=ovs_bond0指定父接口为NAS实际的网卡名称,也就是第一步中ip a获取到的网卡名称,替换ovs_bond0为你自己的网卡名称即可。
3、6Net是macvlan网络的名称,名称可以自定义,但不能缺少这一块内容,可以直接命名为macvlan
4、--subnet=10.10.10.0/24指定macvlan网卡的子网,根据实际情况替换修改即可。
5、--ip-range=10.10.10.200/29指定macvlan网卡的IP段及子网掩码,根据实际情况替换修改即可。
6、--gateway=10.10.10.2指定macvlan网卡的网关地址,也就是主路由地址,如家里有其他路由或次级路由,则以实际情况为准替换即可。
7、--ipv6 --subnet=240e:361:46d6:4910::1/64配置macvlan网卡的ipv6部分,subnet和ipv4部分一样是指定子网,240e:361:46d6:4910这个部分是前面查到的本地ipv6前缀,以你实际查到的去替换即可,/64是v6部分的子网掩码,同样以各人实际情况进行替换,一般默认/64即可。
8、确认各项内容无误后,粘贴至群晖SSH运行即可。
四、macvlan网络成功创建后,在docker内创建容器指定网络至macvlan网卡即可。
1、容器启动后,可以在主路由端刷新查看是否有对应新IP地址的设备出现
2、也可以在终端内执行
root@Diskstation-zjg:~# docker network inspect 6Net

{
    "Name": "6Net",
    "Id": "520ced5fd86a0f38391782217ea98adf6da635fd76039e7adf74e4df460ba7e6",
    "Created": "2022-01-08T22:56:18.489283715+08:00",
    "Scope": "local",
    "Driver": "macvlan",
    "EnableIPv6": true,
    "IPAM": {
        "Driver": "default",
        "Options": {},
        "Config": [
            {
                "Subnet": "10.10.10.0/24",
                "IPRange": "10.10.10.200/29",
                "Gateway": "10.10.10.2"
            },
            {
                "Subnet": "240e:361:46d6:4910::1/64"
            }
        ]
    },
    "Internal": false,
    "Attachable": false,
    "Ingress": false,
    "ConfigFrom": {
        "Network": ""
    },
    "ConfigOnly": false,
    "Containers": {
        "6a08fa7c79037818b66a86f670214eedb1558b1bb152d33475329253cd05190c": {
            "Name": "linuxserver-qbittorrent1",
            "EndpointID": "505854ece8c32a658ec961a2202d7d5137f0357e11f1581781f2594cc52d1695",
            "MacAddress": "02:42:0a:0a:0a:c8",
            "IPv4Address": "10.10.10.200/24",
            "IPv6Address": "240e:361:46d6:4910::2/64"
        }
    },
    "Options": {
        "parent": "ovs_bond0"
    },
    "Labels": {}
}

]
"Containers": {}这个部分就是容器的参数,包括容器ID、名称,MAC地址,IPv4和IPv6地址。
3、群晖DSM7可能会出现docker套件内点击网络显示空白的情况,就需要在SSH内将已创建容器的网络部分从桥接host网卡转移至macvlan网卡
root@Diskstation-zjg:~# docker stop linuxserver-qbittorrent1

root@Diskstation-zjg:~# docker network connect 6Net linuxserver-qbittorrent1

root@Diskstation-zjg:~# docker start linuxserver-qbittorrent1

docker network connect macvlan网卡名称 容器名称

执行后再启动容器即可

添加新评论

  • 评论列表 (4 条)

 已有 4 条评论
  1. docker network create -d macvlan -o parent=ovs_eth1 macvlan2 --subnet=192.168.2.0/24 --ip-range=192.168.2.20/31 --gateway=192.168.2.2 --ipv6 --subnet=240e:399:298:5de1::1/64

    1. 以现有的网卡、IP信息创建MACVLAN

  2. docker network inspect macvlan2

    1. 查看macvlan2下各容器网络信息