目 录CONTENT

文章目录

多网口unraid系统下docker安装openwrt做主路由

华灯
2024-04-15 / 0 评论 / 0 点赞 / 29 阅读 / 2032 字

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

1.网络拓扑

img

2.unraid的网络设置

设置->网络设置:

img

img

img

3.docker网络设置

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

img

命令行创建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

img

添加好后,不要启动,命令行添加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,不知道是否需要,我是去掉了,没有问题。

0

评论区