群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器

群晖开启docker桥接教程(准备篇)

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图1

桥接网卡和局域网DHCP模式进行图

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图2

开始配置群晖docker开启局域网桥接

作死实验者:缔梦天诚 希望转载的保留

开始我参考国外论坛各种毛病各种方法都不行,国内各大论坛都没有教程

首先群晖默认网络模式是bridge+host 我们将开启的网络模式bridge-host

Bridge:docker容器内部虚拟网桥,容器内部172.17.0.X网段 无法获取主机网络ip 访问容器需要映射端口 并且不能和主机占用端口冲突 不映射端口无法使用

Host:host模式 将容器绑定到主机网卡使用主机的ip 并且不能和主机占用端口冲突 使用哪些端口自动占用

bridge-host:通过主机的虚拟网卡来创建虚拟网桥 将容器的网卡绑定到这个直通局域网的虚拟网桥上

优点:容器获取到局域网ip, 容器ip和群晖主机一个网段,端口1-65535全端口使用 不和主机冲突 ip手动指定

可以说bridge-host模式就是把容器都桥接到你群晖所在的局域网

那么开始教程

首先你的群晖开启了root账号并用putty登录上

如图 打开群晖控制面板 —》》》》网络—-》》》》网络界面—-》》》管理—》》》》Open vSwitch设置

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图3

勾选启动——————》》点击确定—》》》等待群晖进入界面

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图4

登录putty

执行创建网络命令

docker network create -d macvlan \\

–subnet=192.168.99.0/24 \\

–gateway=192.168.99.254 \\

-o parent=ovs_eth0 \\

bridge-host

192.168.99.0/24是整个192.168.99.X网段 这个网段要和路由一样 就是docker网卡DHCP分配地址的段位

192.168.99.254是路由器管理ip 这个网关要和路由一样实际就是路由器ip

因为我的群晖ip是192.168.99.1 所以192.168.99.1被占用了需要添加参数–aux-address=\”my-nas=192.168.99.1\”

意思是aux-address跳过ip 设备是my-nas 使用的ip 192.168.99.1

我自己的命令就是

docker network create -d macvlan \\

–subnet=192.168.99.0/24 \\

–gateway=192.168.99.254 \\

–aux-address=\”my-nas=192.168.99.1\” \\

-o parent=ovs_eth0 \\

bridge-host

我在网络设置固定的

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图5

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图6

执行完成 打开群晖docker

出现bridge-host网络模式

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图7

创建容器方法 这样配置就是看容器启动顺序自动分配ip 如果你只有1个桥接容器就好猜了 我的群晖占用了1 那桥接1个容器

这个容器ip就是192.168.99.2

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图8

手动命令创建容器并绑定ip的方法

容器绑定到桥接网卡 并指定ip

–network bridge-host \\ 绑定容器到你新建的 名称为bridge-host的网络

–ip=192.168.99.11 \\ 给容器指定ip

在你创建的容器里添加绑定的网络 和绑定的ip

如下

docker run -itd –restart=always \\

–network bridge-host \\

–ip=192.168.99.2 \\

–name kms-server3 \\

luodaoyi/kms-server

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图9

看看完成效果

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图10

群晖6.1+6.2 docker开启局域网桥接并创建过滤广告容器插图11

TIM图片20191123125539

最终结果 容器成功接入局域网ip 并且端口没有冲突

上面讲了只是开启ipv4的那么ipv6就只是多几个参数而已

docker network create -d macvlan \\

–subnet=192.168.99.0/24 \\

–gateway=192.168.99.254 \\

–ipv6 \\

–subnet=fe80::/64 \\

–gateway=fe80::1 \\

–aux-address=\”my-nas=192.168.99.1\” \\

-o parent=ovs_eth0 \\

lan1-bridge

群晖6.1可以使用ipv6的 支持局域网v4+v6+获取公网v6 群晖6.2X因为群晖封闭没法使用ipv6

subnet局域网子网网段

gateway 局域网网关

aux-address dhcp跳过的ip(因为192.168.99.1是我群晖自己的不能给容器用 所以跳过)

parent 桥接的网卡 ovs_eth0就是网卡eth0

lan1-bridge 网络名称 在群晖创建容器时候添加网络里显示的名称

下面是6.2可以用的示例 因为某些未知原因6.2无法开启局域网v6支持所以没法获取公网v6

docker network create -d macvlan \\

–subnet=192.168.99.0/24 \\

–gateway=192.168.99.254 \\

–aux-address=\”my-nas=192.168.99.1\” \\

-o parent=ovs_eth0 \\

lan1-bridge

创建固定ip的docker容器 给容器指定ipv4和ipv6 这个适用于自己搭建广告过滤,dns解析 我这个示例就是过滤广告的容器

Docker run -d \\

–name adguard-home \\

–restart=always \\

–net=lan1-bridge \\

–ip=192.168.99.2 \\

–ip6=fe80::2 \\

adguard/adguardhome

–name 容器名称

net 容器所使用的网络 这里就是上面创建的网络

ip 指定容器所使用局域网ipv4地址

ip6指定容器所使用局域网ipv6地址(这个地址不影响docker容器的局域网dhcp-v6和公网v6获取)

这个v6只是让你局域网更加简单的使用这个docker容器的服务

ip6 这一行必须是开启了ipv6的才行 如果网络没有ipv6就去掉这行

THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容