群晖Docker添加桥接网络 - 使容器和路由器在同一内网

前言

最近辉哥在搞docker的时候发现内网访问群晖docker必须加上端口号才能访问,这样间接的导致了局域网的可玩性,所以今天辉哥就来升级一下

创建桥接网络 macvlan

打开群晖》控制面板》网络》网络界面》管理》Open vSwitch 设置》启用 Open vSwitch

使用ssh工具进入群晖,切换root权限,终端中输入ip addr查看网络信息,找到你群晖ip地址所在的那行

查看群晖已启用网络

开始桥接

docker network create -d macvlan --subnet=10.0.11.0/24 --gateway=10.0.11.1 --ip-range=10.0.11.2/24 -o parent=ovs_eth1 局域网2

10.0.11.0/24为你的内网地址

10.0.11.1为你的网关地址

10.0.11.2/24为网段

最后的局域网2为名称,可以自定义

桥接后的docker网络

创建桥接网络下的容器

如图所示,在创建容器的网络页面添加这个网络

这样创建的容器的IP是不固定的,重启容器的时候可能会变,并且也不太好查ip,需要进路由器里看

所以我建议是在终端里创建容器,并指定ip,群晖的docker控制台实在是太简陋了,虽然易用,但是这种功能都不集成

创建容器并指定ip

docker create --name portainer --network 局域网2 --ip=10.0.11.3 6053537/portainer-ce

简单说明一下,用create容器是因为,大量的基础设置都没做,可以创建完容器后修改容器配置

这样创建好的容器可以一个容器占用一个ip的所有端口,所以也就不需要做端口转发了,很多容器的高级功能都需要在这样的网络下,所以有的时候还是会用得上。

最终效果


docker macvlan 官方文档

docker macvlan 官方文档写的非常详细,有具体的例子可以参考

https://docs.docker.com/network/macvlan/#bridge-mode

有些应用程序,特别是传统的应用程序或监控网络流量的应用程序,希望直接连接到物理网络。在这种类型的情况下,你可以使用macvlan网络驱动为每个容器的虚拟网络接口分配一个MAC地址,使其看起来是一个直接连接到物理网络的物理网络接口。在这种情况下,你需要在你的Docker主机上指定一个物理接口用于macvlan,以及macvlan的子网和网关。你甚至可以使用不同的物理网络接口来隔离你的macvlan网络。请记住以下几点。

由于IP地址耗尽或 “VLAN扩散”,很容易在无意中损坏你的网络,这是你的网络中的唯一MAC地址数量不当的情况。

你的网络设备需要能够处理 “混杂模式”,即一个物理接口可以分配多个MAC地址。

如果你的应用可以使用桥接(在单个Docker主机上)或叠加(在多个Docker主机之间进行通信),从长远来看,这些解决方案可能会更好。

辉哥现用的网络拓图

参考文献

sleele的博客:https://sleele.com/2020/03/08/%E7%BE%A4%E6%99%96%E5%88%9B%E5%BB%BA%E6%A1%A5%E6%8E%A5%E7%BD%91%E7%BB%9C-%E4%BD%BF%E5%AE%B9%E5%99%A8%E5%92%8C%E8%B7%AF%E7%94%B1%E5%99%A8%E4%B8%80%E4%B8%AA%E7%BD%91%E6%AE%B5/

结尾

如有其他疑问请在评论区留言!

文章链接:https://www.haah.net/archives/7638.html
文章标题:群晖Docker添加桥接网络 - 使容器和路由器在同一内网
文章版权:辉哥博客 (https://www.haah.net) 所发布的内容,部分为原创文章,转载请注明来源,网络转载文章如有侵权请联系我们!
本文最后更新发布于2022年05月01日 18时36分30秒,某些文章具有时效性,若有错误或已失效,请在下方留言或联系辉哥:m@haah.net

给TA买糖
共{{data.count}}人
人已买糖
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
我是底线可爱胖!冲鸭~