当前位置: 首页 > news >正文

Docker运行OpenWRT - EM

在日常网络优化中,OpenWRT 作为强大灵活的软路由系统,非常适合作为旁路由运行;而使用 Docker 快速部署 OpenWRT,不仅便于管理,还能避免单独刷固件、物理接入的繁琐;本篇笔记记录了通过 Docker 安装并配置 OpenWRT 为旁路由的全过程;

参考资料:
https://www.ilovn.com/2023/02/23/deploy-openwrt-with-docker/
https://openwrt.ai/docker版openwrt旁路由安装设置教程/

准备工作-开启网卡混杂模式

旁路由需要 Docker 网络能桥接到主机的物理网卡,因此必须开启混杂模式(Promiscuous Mode);

使用 ifconfig 或 ip addr 查找你的有线网卡名,比如 enp1s0,然后执行:

sudo ip link set enp1s0 promisc on

确认是否已开启:

ip link | grep PROMISC

创建 Macvlan 网络

创建一个 Macvlan 类型的网络,供 OpenWRT 容器使用;你可以根据自己的局域网网段修改 subnet 和 gateway 参数:

docker network create -d macvlan \--subnet=192.168.10.0/24 \--gateway=192.168.10.1 \-o parent=enp1s0 openwrt
  • --subnet: 指定 OpenWRT 所在的子网;
  • --gateway: 原有主路由地址;
  • -o parent: 指定物理网卡;
  • openwrt: 为网络命名;

获取并导入 OpenWRT 镜像

从 https://openwrt.ai 下载适合自己设备架构的镜像,例如 x86_64 架构的 Generic 镜像;

下载后导入镜像,此命令会将镜像命名为 openwrt:

docker import 文件名.tar.gz openwrt

运行 OpenWRT 容器

创建容器并连接至刚才创建的网络:

docker run -d \--restart always \--name openwrt \--network openwrt --privileged=true \openwrt /sbin/init

配置 OpenWRT 网络信息

进入容器:

docker exec -it openwrt bash

编辑网络配置文件:

nano /etc/config/network

参考配置如下:

config interface 'lan'option device 'br-lan'option proto 'static'option ipaddr '192.168.10.2'     # OpenWRT 地址option netmask '255.255.255.0'option gateway '192.168.10.1'    # 主路由地址option peerdns '0'list dns '223.5.5.5'

配置完成后重启网络服务:

/etc/init.d/network restart

进入 Web 管理页面

此时你可以在浏览器访问 http://192.168.10.2 进入 OpenWRT 的 LuCI 管理界面,初始用户名密码均为 root;

进入系统后,可以通过“网络向导”配置旁路由模式,建议:

  • IP 地址:192.168.10.2(与前文一致)
  • 网关与 DNS:均填写主路由地址(如 192.168.10.1)

开启 DHCP 功能(可选)

若希望 OpenWRT 自动分配 IP,则需要:

  • 关闭主路由的 DHCP 服务;
  • 在 OpenWRT 中开启 DHCP 功能,并配置其 IP 分配范围;

总结

部署完成后,你的 OpenWRT 容器就具备完整的旁路由能力,可以实现流量分流、广告屏蔽等高级功能;同时也得益于 Docker 的管理便利,容器化的 OpenWRT 更便于升级、迁移和备份,推荐给动手能力强的朋友们试试;

阅读原文:Docker运行OpenWRT

http://www.jsqmd.com/news/752121/

相关文章:

  • 目标检测模型训练时,为什么我建议你从IOU Loss换成CIOU Loss?一个YOLOv5实验对比告诉你答案
  • 从抽卡保底到地图生成:用Godot4.2的GDScript设计游戏中的随机系统
  • 别再手动切字符串了!C语言sscanf函数实战:从日志解析到配置读取的5个真实案例
  • 炉石传说macOS智能助手HSTracker:让每一局对战都拥有数据分析师
  • 湖北 SCMP 证书报考及含金量解读 - 众智商学院课程中心
  • 3步掌握DeepMosaics:AI智能马赛克处理终极解决方案
  • 湖南 SCMP 证书报考及含金量解读 - 众智商学院课程中心
  • 用8086汇编和ADC0809/DAC0832做个简易示波器:从电位器采样到波形生成全流程
  • 湖北鑫巨达工贸:肇庆亚萨合莱酒店五金配件销售电话多少 - LYL仔仔
  • 苏州力安吊装:苏州靠谱的叉车吊车租赁推荐哪几家 - LYL仔仔
  • 如何高效逆向微信小程序:实用反编译工具完整指南
  • Jenkins与GitLab集成实战:HTTP vs SSH凭证配置全攻略(含常见错误排查)
  • 2026年4月MIBK甲基异丁基酮供应商推荐,甲醇/异氟尔酮783/丁酯/环已烷,MIBK甲基异丁基酮实力厂家怎么选择 - 品牌推荐师
  • 3步解锁QQ音乐加密文件:QMCDecode macOS音频格式转换完全指南
  • 从aSAN看演进:手把手拆解深信服超融合存储的版本升级与特性对比
  • Docker 部署个人网盘 - EM
  • 山东 SCMP 证书报考及含金量解读 - 众智商学院课程中心
  • 打倒高家冲,救出高王子
  • PyTorch转ONNX避坑指南:解决算子不支持、动态输入与模型验证问题
  • 玲珑GUI-移植修改 - EM
  • 用TWEN-ASR ONE做个智能调光台灯:从ADC读取电位器到PWM控制LED亮度的完整项目
  • 基于Python的币安合约量化交易机器人:架构、策略与实战部署
  • Translumo:免费实时屏幕翻译工具的终极指南
  • 3步掌握Python网站下载器:从零到精通的完整指南
  • 广东 SCMP 证书报考及含金量解读 - 众智商学院课程中心
  • 从Verilog到Chisel:手把手教你用Scala重写Booth4乘法器(附完整测试对比)
  • GitMem:为AI编码助手构建持久化机构记忆的MCP服务器实践
  • 开源ChatGPT Plus增强方案:自托管部署与深度使用指南
  • Dolby Digital Plus音频编码技术与SoC实现解析
  • DownKyi完全指南:免费下载B站8K超清视频的终极方案