找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
广告投放联系QQ68610888广告投放联系QQ68610888
查看: 10501|回复: 17

[openwrt(x86)] 【原创】多网口unraid系统下docker安装openwrt做主路由

[复制链接]
发表于 2022-3-30 15:36 | 显示全部楼层 |阅读模式
本帖最后由 crarm 于 2022-4-3 09:38 编辑

我的nas主机插的4口pcie网卡,好像不能单网口直通,采用虚拟机运行openwrt做主路由,但网卡虚拟化比较消耗cpu资源,而docker不存在此问题,于是想docker下openwrt做主路由。网上搜的基本都是做旁路由,只在这里看到几篇做主路由的,比如这篇  【原创】Docker内OpenWRT设置成主路由,为WiFi接入的客户提供源自有线网口的网络服务 但是采用的是armbian,与我的系统不一样,我参考此文试了多种方案,始终没有搞定。
本来unraid系统也是才开始折腾,对linux、unraid里面的一些概念完全不懂,只能慢慢摸索,最后,终于算是搞定了,也搞懂了一些概念,也给后来的兄弟们参考参考,希望你们少踩点坑。步骤如下:

1.网络拓扑


2.unraid的网络设置


设置->网络设置:





3.docker网络设置


设置->docker,打开高级视图:

命令行创建docker网络:
创建lanet
docker network create -d bridge  --subnet 192.168.50.0/24 --gateway=192.168.50.4 -o "com.docker.network.bridge.name=br0" lanet
注意,类型一定一定一定要是bridge(不能是macvlan),gateway地址一定一定一定要是网络设置里的unraid的IP地址,否则unraid也会失联,"com.docker.network.bridge.name=br0"表示使用前面linux系统的br0创建lanet,必须一致。
创建wanet
docker network create -d macvlan -oparent=eth1 wanet
eth1接光猫,根据你自己的接口设置


4.openwrt容器设置


添加openwrt容器,我使用的是 registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64


添加好后,不要启动,命令行添加wanet:
docker network connect wanet openwrt
openwrt为你的容器名

5.unraid添加pppoe内核模块

启动编辑/boot/config/go文件,添加一行:modprobe pppoe重启,若不想重启,再在命令行输入前面代码

6.openwrt的设置

启动openwrt,进入其命令行,修改lan地址为192.168.50.1,重启openwrt网络,即可浏览器进入luci界面了,添加wan接口,选eth1,设置你的上网方式,防火墙选择wan区域,大功告成。
另外,防火墙自定义规则里默认有iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE,不知道是否需要,我是去掉了,没有问题。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
发表于 2022-4-2 10:14 | 显示全部楼层
刚好找了一大圈才找到这种方法,还好是刚买的设备。

docker network create -d bridge  --subnet 192.168.X.0/24 --gateway=192.168.X.X -o "com.docker.network.bridge.name=br0" lanet   
这段要是输错了,一旦硬盘启动和docker也启动了 整个unraid就无法连上了。

刚刚不小心粘贴到了shell上直接就挂了,要卸载硬盘或者关闭docker 重新格式化后才能使用,或者是哪里要删除这个配置
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2022-4-2 15:30 | 显示全部楼层
本帖最后由 crarm 于 2022-4-2 15:31 编辑

把启动u盘插别的电脑,先把config/docker.cfg文件里DOCKER_ENABLED="yes"改为no,重启unraid,进/var/lib/docker/network/files,把里面的local-kv.db删掉,改/boot/config/docker.cfg文件里DOCKER_ENABLED="yes",重启就行了

点评

我放弃了,可能是我用的容器不同,创建网络后虽然在openwrt里面能看见网口,但是实际上他并没有到能用的地步,无法获取光猫分配的dhcp也无法拨号  详情 回复 发表于 2022-4-2 23:44
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-4-2 23:44 | 显示全部楼层
crarm 发表于 2022-4-2 15:30
把启动u盘插别的电脑,先把config/docker.cfg文件里DOCKER_ENABLED="yes"改为no,重启unraid,进/var/lib/d ...

我放弃了,可能是我用的容器不同,创建网络后虽然在openwrt里面能看见网口,但是实际上他并没有到能用的地步,无法获取光猫分配的dhcp也无法拨号
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2022-4-3 08:54 | 显示全部楼层
容器应该都差不多的吧,再对着我的步骤看看?

点评

我用的是这个openwrtorg/rootfs:x86-64,可能要以后才折腾了,昨天花了十个多小时试了好久一直没办法。 把lanet wanet 都加进容器后 无论接哪个口都无法获取到IP,然后就换虚拟机去了。 也不知道是不是内核跟I225  详情 回复 发表于 2022-4-3 16:19
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-4-3 16:19 | 显示全部楼层
crarm 发表于 2022-4-3 08:54
容器应该都差不多的吧,再对着我的步骤看看?

我用的是这个openwrtorg/rootfs:x86-64,可能要以后才折腾了,昨天花了十个多小时试了好久一直没办法。
把lanet wanet 都加进容器后 无论接哪个口都无法获取到IP,然后就换虚拟机去了。
也不知道是不是内核跟I225网卡有问题

点评

哦哦,那可能是新网卡的问题吧  详情 回复 发表于 2022-4-3 19:20
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2022-4-3 19:20 | 显示全部楼层
A空2无C 发表于 2022-4-3 16:19
我用的是这个openwrtorg/rootfs:x86-64,可能要以后才折腾了,昨天花了十个多小时试了好久一直没办法。
...

哦哦,那可能是新网卡的问题吧
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-8-21 13:29 | 显示全部楼层
能正常使用,但是有个问题,拨号获取不到ipv6地址

点评

ipv6是不是需要unraid开启特定模块?  详情 回复 发表于 2022-8-24 23:48
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

 楼主| 发表于 2022-8-24 23:48 | 显示全部楼层
cryman 发表于 2022-8-21 13:29
能正常使用,但是有个问题,拨号获取不到ipv6地址

ipv6是不是需要unraid开启特定模块?
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-8-29 07:47 来自手机 | 显示全部楼层
应该是你Unraid设置那里 eth1 v6关了吧

点评

那个肯定开了的,现在怀疑是手工生成网络那里需要增加v6的参数,但是手工生成增加v6的参数又提示失败  详情 回复 发表于 2022-8-29 09:41
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-8-29 09:41 | 显示全部楼层
ewqewq 发表于 2022-8-29 07:47
应该是你Unraid设置那里 eth1 v6关了吧

那个肯定开了的,现在怀疑是手工生成网络那里需要增加v6的参数,但是手工生成增加v6的参数又提示失败

点评

应该加个--ipv6  详情 回复 发表于 2022-8-29 11:36
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-8-29 11:36 | 显示全部楼层
cryman 发表于 2022-8-29 09:41
那个肯定开了的,现在怀疑是手工生成网络那里需要增加v6的参数,但是手工生成增加v6的参数又提示失败

应该加个--ipv6
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-8-29 12:07 | 显示全部楼层
还有 如果我只有两个网口
是不是只需要docker network create -d macvlan -oparent=eth1 wanet
lan 直接用自带的那个网络吧?
就行了吧
还有 其实可以重写 /etc/rc.d/rc.docker
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-9-3 15:43 来自手机 | 显示全部楼层
Unraid  用 lxc  运行openwrt  当主路由更简单些

点评

lxc 网卡配置直连物理网口更简单  详情 回复 发表于 2022-9-3 15:44
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

发表于 2022-9-3 15:44 来自手机 | 显示全部楼层
ewqewq 发表于 2022-9-3 15:43
Unraid  用 lxc  运行openwrt  当主路由更简单些

lxc  网卡配置直连物理网口更简单
只谈技术、莫论政事!(点击见详情) | 互相尊重、友善交流、切勿过度反应、玻璃心。胡乱输入灌水等操作将会被封禁ID。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /2 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2026-8-23 20:12

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 电话:13506125623

快速回复 返回顶部 返回列表