docker程序设置指定的网关不通过旁路由显示真实的速率

2021-03-27 20:38:20 18点赞 202收藏 71评论

追加修改(2021-03-28 01:39:12):
关于重启后失效的解决方案 参照阿文菌大佬的使用教程 安装user scripts 添加一个脚本 输入命令 #!/bin/bash sleep 2m docker network rm br0 docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=br0 br0 命令的意思就是延迟2分钟,删除旧的macvlan,创建一个新的macvlan,注意要修改下自己的参数,不能照抄我这个,最好一个br0必须要跟前面删除的名字一样,也就是前面删除的名字是什么,那你就要改成什么 保存后,回到插件页面,点击后面的下拉框选择at first array start only (只有第一次启动的时候运行) 然后在docker那边,选择高级试图,在qb前面的启动程序等待那里,填上300 意思就是上一个程序启动完成后等待300秒再启动,这样就有足够的时候等脚本修改好参数再启动

之前写了一篇All in one小主机的帖子,折腾这几天遇到了一些问题,也遇到了一些坑,在这里跟大家分享下,免得走冤枉路,有兴趣的可以先看看之前发的帖子

我的All in One unraid小主机如何才能快速换一种生活方式?参加#牛年Flag#征稿活动,征集你2021年的购物学习生活计划!>>点击查看活动详情晨枫哥| 51 评论64 收藏286查看详情


unraid小主机虚拟了爱快(直通wan口lan口主路由,3拨)、openwrt(科学)win10(一些日程摸鱼)黑裙晖(直通硬盘备份照片) docker安装了Jellyfin服务器(视频服务器),Qbittorrent(挂PT)

docker程序设置指定的网关不通过旁路由显示真实的速率

安装爱快和openwrt的方法我就不细说了,具体可以参照下阿文菌的帖子,非常的详细

UNRAID系统安装双软路由保姆级教程:使用GK41 双网口 J4125设备安装!【下篇】如何才能快速换一种生活方式?参加#牛年Flag#征稿活动,征集你2021年的购物学习生活计划!>>点击查看活动详情阿文菌| 527 评论309 收藏4k查看详情

我unraid的IP地址是192.168.1.98 爱快是192.168.1.1 openwrt是192.168.1.253

由于unraid商店需要梯子才稳定,所以我将网关设置成了openwrt的地址,可这样一来,docker下的qb下载软件也同样的经过了openwrt,出国溜达了一翻,速度慢的可怜,理论上来讲,如果可以给docker指定IP地址和网关的话,就可以不通过openwrt,在网上搜索了很久也没有找到可以单独修改网关的方案,只是看到说可以固定qb的IP,然后在科学上网里面设置屏蔽掉这个IP,那就先这样用着吧,可是这样也有一个很大的弊端,就是在主路由下监控网速的时候,没有办法识别到QB的速度,只有所有通过openwrt的流量,有点强迫症的我觉得这样太难受了,刚好群里的小伙伴也问了这样一个问题,群里的一个大佬给出了一个方案,可以通过命令创建macvlan指定网关,这样就完美的解决了

为了避免打扰,打个码为了避免打扰,打个码

可是我直接输入命令,但是却不能输入,会报错,继续查询资料,原来我设备里面已经有了一个相同网段的macvlan,要删除以后重新建立一个

首先在unraid里打开terminal终端,运行ifconfig,获取到网卡信息,请注意,标红框的是真实的网卡,前面那个br0是网卡名字,记下来,等会儿要考

docker程序设置指定的网关不通过旁路由显示真实的速率

docker network ls查看 docker下的网络

如果已经有了macvlan的话,用命令docke network rm macvlan删除掉

接下来新建一个macvlan

docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=br0 mvlan

subnet后面的192.168.1.0/24这个是网段,需要修改成自己实际的网段

gateway后面的192.168.1.1是网关,需要修改成你主路由的网关

parent后面的 br0就是那会儿查出来的网卡的名字

最后mvlan是创建的这个macvlan的名字,这里你可以自己输入你想要的名字

如果像图上面这样就表示创建成功了

docker程序设置指定的网关不通过旁路由显示真实的速率

接下来,就可以在docker里面使用了

网络类型选择刚刚创建的macvlan

IP地址自己指定一个,其他的设置好,保存

docker程序设置指定的网关不通过旁路由显示真实的速率

现在这个docker的网关就指定成为了主路由的网关,也不需要出国溜达,也能监控到流量了

docker程序设置指定的网关不通过旁路由显示真实的速率

全文完,告辞

展开 收起
71评论

  • 精彩
  • 最新
  • 置顶 关于重启后失效的解决方案
    参照阿文菌大佬的使用教程
    去看看
    安装user scripts 添加一个脚本
    输入命令
    #!/bin/bash
    sleep 2m
    docker network rm br0
    docker network create -d macvlan --subnet=192.168.1.0/24 --gateway=192.168.1.1 -o parent=br0 br0

    校验提示文案

    提交

    晨枫哥

    作者

    晨枫哥

    作者
    命令的意思就是延迟2分钟,删除旧的macvlan,创建一个新的macvlan,注意要修改下自己的参数,不能照抄我这个,最好一个br0必须要跟前面删除的名字一样,也就是前面删除的名字是什么,那你就要改成什么
    保存后,回到插件页面,点击后面的下拉框选择at first array start only(只有第一次启动的时候运行>
    然后在docker那边,选择高级试图,在qb前面的启动程序等待那里,填上300
    意思就是上一个程序启动完成后等待300秒再启动,这样就有足够的时候等脚本修改好参数再启动

    校验提示文案

    提交
    “qb前面的启动程序等待”这个在哪里?我这里很奇怪,每次重启mvlan是能自动创建了,但是qb直接启动还是认不到,必须要重新编辑一下随便改个参数才能启动

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 感谢大佬,变通了一下教程,有公网ip 在虚拟机的ikuai上做ddns,结果unraid上的jellyfin先走的旁路由再去的主路由,导致外网无法访问,直接用大佬的教程,给jellyfin做了这个指定网关的网络类型,现在外网可以访问了 [鼓掌]

    校验提示文案

    提交
  • 好文收藏了,不过我用tr,在openwrt禁止tr的ip出国,爱快后台是可以正常看tr的流量的,不知为啥

    校验提示文案

    提交
    我以前用tr,重装了系统以后重新开始,听说qb抢上传比较厉害,就想换成qb试试

    校验提示文案

    提交
    哇⊙ω⊙,这样的吗。我也试试qb

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 重启失效!!!

    校验提示文案

    提交
    重启qb还是unraid?

    校验提示文案

    提交
    unraid

    校验提示文案

    提交
    还有3条回复
    收起所有回复
  • 重启失效??我也这样用的呀,重启还在。

    校验提示文案

    提交
    具体情况不清楚,我的重启就会自动变成原来默认的了

    校验提示文案

    提交
    我的之前也是重启失效,后来怎么解决的我忘了 [无语] 并不需要脚本添加,创建macvlan的设置是可以持久化存储的。

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 晨枫哥,我想问下unraid开心版会不会在以后的使用过程中像黑群晖一样会跳出系统更新,然后不小心点了更新就失联了? [疑问]

    校验提示文案

    提交
    不会的,默认设置是关闭自动更新,只要你不去打开就行

    校验提示文案

    提交
    收起所有回复
  • 大佬,咨询个问题,在all in one 底层unraid下,虚拟机软路由爱快和openwrt,爱快主路由ip10.10.10.253,直通两个网口,一个wan口,一个lan口openwrt旁路由ip10.10.10.252,没有直通,unraid的10.10.10.254,unraid需要留学我把unraid的网关设为10.10.10.252,但是我发现只要网关设为10.10.10.252unraid的docker就无法联网了,换成10.10.10.253就没问题可以联网,但是就没有留学的效果了,请教一下是哪里的问题?谢谢

    校验提示文案

    提交
    检查下openwrt的设置,重点检查下是否打开了桥接,以及防火墙的设置,试试用其它机器走openwrt能不能上网

    校验提示文案

    提交
    好的,谢谢大佬,再咨询您一个奇怪的问题,我和您一样unraid做aio,爱快直通的lao口和unraid的管理口只有一个能连接交换机,如果两个同时连接交换机的话就无法上网了。单独连接哪个都可以让连接交换机的其他设备上外网。这是啥原因啊 [喜极而泣]

    校验提示文案

    提交
    还有5条回复
    收起所有回复
  • 请问这个设置是对所有的docker生效还是每个docker单独设置呢?

    校验提示文案

    提交
    只要是选了这个网关的,就生效

    校验提示文案

    提交
    明白了,好教程,真心觉得unraid连apps要停止阵列才能改网络设置这事挺麻烦,这样可以解决了

    校验提示文案

    提交
    收起所有回复
  • 多谢分享!不知道为啥,用了这种方法确实生效了,但qbit总是搜不到种(非冷门种),JD脚本也不好使,无奈只能换回硬路由网关。

    校验提示文案

    提交
    我把整个网络都改了,主路由直接op了,去掉旁路由那些了,一下子就舒服了

    校验提示文案

    提交
    总算解决了,portainer里docker dns都指向主路由就通了,感谢!

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • 大佬,实际操作遇到一个问题,每次重启删除重新创建br0-macvlan后,network id都不一样,导致docker启动时报No such container的错误,必须要手动重新指定一下网络类型:custom:br0后才能启动docker,怎么解决?

    校验提示文案

    提交
  • 666,一直因为这个问题纠结了好久

    校验提示文案

    提交
  • 用了这个方法,通过User Scripts添加脚本,重启后可以看到脚本顺利运行,但是qb却无法直接运行,显示“执行错误 No such container”,必须进入编辑随便修改一个参数保存后才能启动

    校验提示文案

    提交
    解决了吗?

    校验提示文案

    提交
    收起所有回复
  • 如果只是想看到流量不用这么麻烦,爱快开启跨三层应用,旁路油开启snmp就行了

    校验提示文案

    提交
  • 请问我的unraid上虚拟机装了op,我想把unraid网关指向op插件上网,但是需要停掉阵列,这样op也不运行了,此时unraid网关改为op地址后,unraid就连不上了,这个问题怎么解决?是我设置有问题吗?我用的是单网口。谢谢大佬!

    校验提示文案

    提交
  • 很奇怪,我不能删除macvlan
    使用docke network rm br0
    提示bash: docke: command not found

    难道还要装什么工具吗?

    校验提示文案

    提交
    命令少了一个字母r 应该是 docker network rm br0

    校验提示文案

    提交
    收起所有回复
  • 谢楼主,有用的!

    校验提示文案

    提交
  • 重启重新创建macvlan后每次的networkid都不一样,导致docker启动报No such container错误,只有重新指定一下网络类型才能启动,这个怎么解决?

    校验提示文案

    提交
    你好。相同的问题,解决了吗?

    校验提示文案

    提交
    收起所有回复
  • 想问一下,目前是爱快主路由,op旁路由。
    “固定qb的IP,然后在科学上网里面设置屏蔽掉这个IP”
    请问这样的话,流量还是会从op到爱快再出去,只是不经过梯子。这样跑qb下载对openwrt的性能要求也高吧

    校验提示文案

    提交
  • 这里似乎可以不用这个开机脚本,可以在设置,docker设置,停用docker后,将保留用户定义网络:选择是,重启docker,然后删除br0 重建这个br0为macvlan

    校验提示文案

    提交
    你好 我6.10.3 好像没看到这个docker设置 具体在哪呢

    校验提示文案

    提交
    设置—docker—高级视图—保留用户定义网络:是

    校验提示文案

    提交
    还有9条回复
    收起所有回复
  • 大佬这个错是为什么呀Error response from daemon: Pool overlaps with other one on this address space@晨枫哥

    校验提示文案

    提交
    相同的报错,解决了吗?

    校验提示文案

    提交
    docker network rm br0. 先用这个命令删除br0对应的设置。
    版主删除的是macvlan,我这要删除的实际是br0

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
202
扫一下,分享更方便,购买更轻松