创建一个macvlan网络给第二个网心云使用,macvlan的原理这里不做多解释,有兴趣的朋友可以自行查询相关资料,简单说他就是bridge的另一种形式,与原有bridge不同的时候,他创建的网桥让你的docker容器与你的主网卡网段相同,而不是由虚拟网卡创建的虚拟网网络,这样你的第二个网心云容器,就可以正常的upnp成为映射公网型了。
1.群晖-控制面板-终端机和SNMP,启动SHH,端口一般默认是22,如果你的22端口已占用,自行修改一下
2.打开你PC上的SSH管理工具,推荐XSHELL和finalshell,这里以finalshell为例。打开软件之后,点左上角新建SSH连接
3.填写内容,注意端口号。
4.填写好之后,确定,回到finalshell 主页面登录。登录之后需要使用root用户登录。
命令行输入 sudo -i
返回password之后,填写你群晖的登录管理密码,输入密码是空白的,看不见,注意你的小键盘数字键是否打开了。
登录成功之后,显示为 root用户就正确了。
5.手动加载macvlan驱动,看看系统是否支持macvlan
手动加载macvlan驱动到内核
命令行输入:modprobe macvlan 正常情况下是没有返回信息的
查看是否已经加载了macvlan驱动
命令行输入:lsmod | grep macvlan 正常的话会返回 macvlan驱动的信息
这里需要注意了。如果你的设备不能加载macvlan驱动,说明Linux内核或者docker版本不支持,
需要把群晖系统升级到6.2以上。
6.命令行输入 ifconfig
查询您的网卡名称,看到显示你群晖IP的那个网卡,就是你要使用的网卡
命令行输入:route -n 查看你的网关
7.创建macvlan网卡
命令行输入,注意要一起输入,然后回车,不要一条一条输入,你可以复制我的指令,然后粘贴到记事本,修改好自己的参数之后,到finalshell里右键,粘贴
docker network create -d macvlan \
--subnet=192.168.68.0/24 \
--ip-range=192.168.68.25/20 \
--gateway=192.168.68.1 \
-o parent=eth0 macvlan1
subnet 是你的网段,一般是你网关的IP,最后一位改成0 /24不用修改
ip-range是子网ip范围,格式是 你的网关IP ,xx.xx.xx.25/20,按我的设置也可以,你自己设置也可以
gateway 是你的网关
o parent=你的网卡名称
输入之后, 回车,返回一条长长的数字和字母组成代码,就是成功了,类似这样
注意事项:指令里面的数据一定是你本身设备的,注意修改,指令里有空格的注意不要删除了
特殊情况,有些教程说需要先打开网卡的混杂模式,我没有打开,一样可以成功了。
如果不行的话,尝试打开网卡的混杂模式再试下。
8.上面的创建完成之后,回到群晖的管理页面,打开docker套件,网络,就可以看到有个新的网络类型
里面的参数跟你在finalshell创建的是一样的。注意驱动程序:macvlan
到此,创建macvlan网络的过程已经结束了