前期准备

开启网卡混合模式

sudo ip link set enx00e04c6800fa promisc on

创建 macvlan 网络

docker network create -d macvlan --subnet=192.168.50.0/24 --gateway=192.168.50.1 -o parent=enx00e04c6800fa macnet

pull docker

docker pull registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64

配置 docker

运行 docker

docker run --restart always --name openwrt -d --network macnet --privileged registry.cn-shanghai.aliyuncs.com/suling/openwrt:x86_64 /sbin/init

进入 docker 设置网络

docker exec -it openwrt bashvim /etc/config/network

更改 Lan 口设置:

config interface 'lan' option type 'bridge' option ifname 'eth0' option proto 'static' option ipaddr '192.168.50.100' option netmask '255.255.255.0' option ip6assign '60' option gateway '192.168.50.1' option broadcast '192.168.50.255' option dns '192.168.50.1'

重启网络

/etc/init.d/network restart

进行设置

地址option ipaddr

用户名:root

密码:password

宿主机网络恢复

Openwrt 容器运行后,宿主机内可能无法正常连接外部网络,需要修改宿主机的 /etc/network/interfaces 文件

cp /etc/network/interfaces /etc/network/interfaces.bak vim /etc/network/interfaces

向文件末尾添加:

auto eth0iface eth0 inet manualauto macvlaniface macvlan inet static address 192.168.50.200 netmask 255.255.255.0 gateway 192.168.50.1 dns-nameservers 192.168.50.1 pre-up ip link add macvlan link eth0 type macvlan mode bridge post-down ip link del macvlan link eth0 type macvlan mode bridge

参考

在 Docker 中运行 OpenWrt 旁路网关

个人的电子笔记软件使用历程

创建Electron应用并使用Github Action构建全平台应用

使用 honkit 将 Markdown 文件转换成 pdf/epub 电子书

Windows使用bat脚本更改网络设置

游戏《AI:梦境档案 涅槃肇始》感谢

书籍《日本沉没》感谢

游戏《艾尔登法环》感谢

游戏《Blue Reflection 帝》感想

2022 数字生活回顾

docker安装openwrt作网关