PLUM
首页
分类
归档
关于我
Docker 中运行 OpenWrt作旁路由
## 步骤准备 #### 打开网卡混杂模式 ```bash #查看网络接口信息 ip addr show #打开enp1s0混杂模式 sudo ip link set enp1s0 promisc on ``` #### 创建Docker混杂网络 ```bash #根据自己网络环境设置subnet和gateway docker network create -d macvlan --subnet=10.0.0.0/24 --gateway=10.0.0.1 -o parent=enp1s0 macnet ``` #### 导入OpenWrt镜像 ```bash #例如从中科大源下载X86版导入 docker import https://mirrors.ustc.edu.cn/openwrt/releases/23.05.3/targets/x86/64/openwrt-23.05.3-x86-64-rootfs.tar.gz openwrt-23.05.2 ``` #### 创建并启动容器 ```bash docker run --restart always --name openwrt -d --network macnet --privileged openwrt-23.05.2 /sbin/init ``` ``` - restart always参数表示容器退出时始终重启,使服务尽量保持始终可用; - name openwrt参数定义了容器的名称; - d参数定义使容器运行在 Daemon 模式; - network macnet参数定义将容器加入 macnet网络; - privileged 参数定义容器运行在特权模式下; - openwrt-23.05.2为 Docker 镜像名; - /sbin/init定义容器启动后执行的命令。 ``` #### 进入容器,修改网络参数 ```bash #进入openwrt命令行 docker exec -it openwrt /bin/sh #根据自身网络环境修改配置文件 vim /etc/config/network #重启网络 /etc/init.d/network restart ``` #### 进入OpenWrt后台,修改配置 - OpenWrt后台为设置的IP,默认用户名/密码:root/password - 关闭DHCP服务,网络 -> 接口 -> Lan -> 修改 -> 基本设置,勾选忽略此接口,不在此接口提供DHCP服务 #### 主路由设置DHCP服务 进入主路由后台,DHCP服务设置,将默认网关和DNS服务器修改为OpenWrt的IP #### 设备重启获取IP 设备重新获取IP,确认网关和DNS服务器无误 ## 可能遇到的问题 - #### 网络无法访问 1、关闭LAN口桥接,网络 -> 接口 -> Lan -> 修改 -> 物理设置,取消勾选桥接接口 2、新版本方式,网络 -> 接口 -> Lan -> 设备改为eth0,防火墙 -> 区域设置 -> lan=>wan打开IP动态伪装 - #### 内网域名无法访问 关闭Dnsmasq的重绑定保护,或在域名白名单中添加内网域名,网络 -> DHCP/DNS -> 常规设置,取消勾选重定向保护 - #### 没有中文 进入openwrt命令行安装 ```bash opkg update && opkg install luci-i18n-base-zh-cn ```
赞赏
支付宝
微信
作者:
这个人很懒
发表时间:
2022-06-17 23:54
浏览量:
299
版权声明:转载请注明出处
评论
发布
目录
留言
评论