1. 安装教程
虚拟机占内存过大,改为使用docker版op
2. 下载链接
-
docker openwrt:
【2021.10.17有点问题】kiddin9/openwrt-nginx - Docker Image | Docker Hub
【DNS可以正常使用】[]sulinggg/openwrt - Docker Image | Docker Hub
3. docker版op安装教程
- 群晖Docker安装openwrt简易流程NAS存储什么值得买 (smzdm.com)
- 【使用该方法】在Docker 中运行 OpenWrt 旁路网关 | 美丽应用 (mlapp.cn)
n1 docker安装openwrt(旁路由)_zhangjingzheng的博客-CSDN博客 - 【弃】安装教程:Docker版OpenWrt旁路由安装设置教程 (evernote.com)
本教程所使用环境 (debian 11 x86_64, root管理员, lan为eth0, ip段 10.0.0.x, 用于拨号的主路由IP:10.0.0.1 ,不要照抄命令,根据自己的实际情况做相应的调整)
打开网卡混杂模式
ip link set eth0 promisc on
创建网络
docker network create -d macvlan --subnet=192.168.2.0/24 --gateway=192.168.2.1 -o parent=eth0 openwrt
拉取镜像,创建并启动容器
docker run --restart always --name openwrt -d --network openwrt --privileged kiddin9/openwrt-nginx:x86_64 /sbin/init
进入容器
docker exec -it openwrt sh
修改openwrt后台登录IP
本固件默认后台10.0.0.1, 假如我要修改为192.168.2.2
sed -i 's/10.0.0.1/192.168.2.2/' /etc/config/network && /etc/init.d/network restart
4. openwrt旁路由设置
- 【有问题 导致没网】网关互指:关于旁路由的一种设置方法 - OPENWRT专版 - 恩山无线论坛 - Powered by Discuz! (right.com.cn)
- 【手动选定网关】 从听说到上手,人人都能看懂的旁路由入门指南 - 少数派 (sspai.com)
5. 出现的问题以及解决办法
出现问题:
- 安装报错:"message":"failed to create the macvlan port: device or resource busy"}.
- docker版op能ping通ip,但ping不通域名
- 网关配置好以后,其他设备用此网关也没办法上网
解决方法:
关闭群晖虚拟机VMM,因为open vswitch占用。 参考:19楼【210523】群晖Docker安装openwrt求助!【pt吧】_百度贴吧 (baidu.com)
-
DNS配置问题,参考设置Docker容器内部能ping通ip,ping不通域名(Name or service not known)解决方法_丶聆风的博客-CSDN博客——缺点重启丢失(重装无效)
(明白了
/etc/resolv.conf
文件是通过挂载方式挂载到容器中来的)docker中执行sed: can't move '/etc/resolv.conf73UqmG' to '/etc/resolv.conf': Device or resource busy错误的处理原因及方式 - xinkun - 博客园 (cnblogs.com)换了sulinggg/openwrt - Docker Image | Docker Hub的固件后,DNS则是正常的,不过打开passwall的DNS过滤后也会导致DNS解析出问题,所以不用PASSWALL的DNS功能
无解,好像是因为群晖的docker网络问题,网上教程很少,有的也只是到了安装完毕这一步,配置我暂时还是不懂网关,其他人用N1/虚拟机都说正常。