文章
2022/5/27
双网口群晖Docker部署OpenWrt
以下内容来自QQ:1729746258
测试环境
硬件:赛扬 3865U 双千兆主板
系统:DSM 7.1
容器:Docker
网络配置:群晖 eth0 连接到上级路由自动获取 IP (192.168.0.23),eth1 断开
部署过程
-
SSH 到群晖开启网口混杂模式
sudo -iip link set eth0 promisc onip link set eth1 promisc on -
Docker 拉取 OpenWrt 镜像
拉这个:piaoyizy/openwrt-x86 -
Docker 创建虚拟网卡 eth0 作为 OpenWrt 的 WAN 口
docker network create -d macvlan -o parent=eth0 macvwaneth1 作为 OpenWrt 的 LAN 口
docker network create -d macvlan -o parent=eth1 macvlan -
启动 OpenWrt 容器 (连接到 macvlan)
docker run -d --name=OpenWrt --restart always --privileged --network macvlan piaoyizy/openwrt-x86 -
OpenWrt容器连接到 macvwan
docker network connect macvwan openwrt -
进入 OpenWrt 容器 Shell
vi /etc/config/network配置如下:
config interface 'lan'option ifname 'eth1'option proto 'static'option ipaddr '192.168.1.1'option netmask '255.255.255.0'config interface 'wan'option ifname 'eth0'option proto 'dhcp'保存退出
-
重启容器
-
进入 OpenWrt 容器 Shell 或上级路由器后台查看自动获取的 IP 登录到 OpenWrt 后台,网络 -> 防火墙 -> 自定义规则, 添加一行:
iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j MASQUERADE重启防火墙
网络 -> 防火墙 -> 区域设置 -> 转发: 接受
保存&应用 -
设置网口混杂模式开机自启 登录到群晖,控制面板 -> 任务计划 -> 新增 -> 触发的任务 -> 用户自定义的脚本:
用户账号:root
脚本如下:ip link set eth0 promisc onip link set eth1 promisc on保存
如果咩咩的文章对您有帮助,您可以 请我喝牛奶