在 Docker 中安装 OpenWrt(macvlan 旁路由模式)详细教程

OpenWrt 是一款强大的嵌入式 Linux 路由器系统。通过 Docker,可以在 PC、服务器等环境下快速体验和测试 OpenWrt,尤其适合旁路由科学上网场景。以下为详细步骤:

一、创建 macvlan 网络

假设物理网卡为 eth0,可用如下命令创建 macvlan 网络(请根据实际网卡名调整):

1
2
3
4
5
docker network create -d macvlan \
--subnet=192.168.1.0/24 \
--gateway=192.168.1.1 \
-o parent=eth0 \
macnet

二、设置网卡为混杂模式

1
sudo ip link set eth0 promisc on

三、拉取并启动 OpenWrt Docker 镜像

1
2
3
4
5
docker pull sulinggg/openwrt:x86_64

docker run -d --name openwrt --restart unless-stopped \
--network macnet \
--privileged sulinggg/openwrt:x86_64

镜像可选 sulinggg/openwrt:x86_64 或其他适合的 OpenWrt 镜像。

四、进入容器编辑 OpenWrt 网络配置

1
2
docker exec -it openwrt /bin/bash
vi /etc/config/network
  • 按需修改 LAN 口 IP(如 192.168.1.2),保存后重启网络:
  • 需要修改 IP DNS 和网关等配置
1
/etc/init.d/network restart

五、浏览器访问 OpenWrt

六、关闭桥接接口(防止卡住)

  • 进入“网络”-“接口”-“物理设置”,关闭“桥接接口”选项。
  • 若页面卡住超过 1 分钟,可在容器中再次重启 OpenWrt:
1
docker exec -it openwrt /etc/init.d/network restart

七、科学上网设备网关指向 OpenWrt

  • 在需要科学上网的设备上,将网关设置为 OpenWrt 的 IP 地址即可。

以上内容仅供参考,请结合实际情况具体分析