双网口群晖Docker部署OpenWrt
以下内容来自QQ:1729746258
测试环境
硬件:赛扬 3865U 双千兆主板
系统:DSM 7.1
容器:Docker
网络配置:群晖 eth0 连接到上级路由自动获取 IP (192.168.0.23),eth1 断开
部署过程
SSH 到群晖开启网口混杂模式
sudo -i ip link set eth0 promisc on ip link set eth1 promisc on
- Docker 拉取 OpenWrt 镜像
拉这个:piaoyizy/openwrt-x86
Docker 创建虚拟网卡
eth0 作为 OpenWrt 的 WAN 口docker network create -d macvlan -o parent=eth0 macvwan
eth1 作为 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 on ip link set eth1 promisc on
保存
如果咩咩的文章对你有帮助,您可以 请我喝牛奶