Ubuntu使用docker安装openwrt
时间: 2025-05-17 19:07:15 浏览: 37
### 如何在 Ubuntu 系统中使用 Docker 安装 OpenWRT
#### 1. 准备工作
为了成功部署 OpenWRT 到 Docker 上,需要先完成一些准备工作。这包括安装 Docker 和必要的工具。
确保已更新系统的包管理器缓存,并升级现有软件包:
```bash
sudo apt update && sudo apt upgrade -y
```
接着安装 `docker` 及其依赖项[^1]:
```bash
sudo apt install docker.io -y
```
启动并设置 Docker 随系统启动自动运行:
```bash
sudo systemctl start docker
sudo systemctl enable docker
```
如果希望更方便地操作 Docker,则可将当前用户加入到 `docker` 用户组中(无需每次执行命令时都加 `sudo`)[^3]:
```bash
sudo usermod -aG docker $USER
newgrp docker
```
#### 2. 创建虚拟网络接口
为了让容器内的 OpenWRT 实现与外部网络通信的功能,通常会创建两个虚拟网桥分别代表 LAN 和 WAN 接口。
##### 创建 LAN 虚拟网卡
LAN 的 IP 地址池一般设为私有地址段 (如 192.168.x.x),这里以 192.168.200.1/24 为例:
```bash
sudo ip link add br-lan type bridge
sudo ip addr add 192.168.200.1/24 dev br-lan
sudo ip link set br-lan up
```
##### 创建 WAN 虚拟网卡
对于 WAN 来说,它可以直接连接宿主机的真实外网接口或者指定某个子网作为出口IP范围:
```bash
sudo ip link add br-wan type bridge
sudo ip link set eth0 master br-wan
sudo ip link set br-wan up
```
注意:上述例子假设物理网卡名称为 `eth0` ,实际环境中可能不同,请替换为你自己的真实设备名。
#### 3. 下载并运行 OpenWRT 镜像
从官方仓库拉取最新版本的 OpenWRT 镜像文件[^2]:
```bash
docker pull openwrtorg/rootfs:latest
```
利用之前建立好的两套独立网络环境来启动容器实例,同时映射端口号以便后续访问 Web UI 页面进行图形化配置:
```bash
docker run -d --name=openwrt \
--cap-add=NET_ADMIN \
--network="none" \
--privileged=true \
-v /lib/modules:/lib/modules:ro \
--sysctl net.ipv6.conf.all.disable_ipv6=0 \
-p 8080:80 \
--device=/dev/net/tun \
--mac-address=$(printf '02:02:%02x:%02x:%02x:%02x\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256))) \
--ipMasq=false \
--add-host=dockerhost:`ip route show | grep ^default | cut -d' ' -f3` \
-e TZ='Asia/Shanghai' \
openwrtorg/rootfs:latest /sbin/init
```
进入正在运行中的容器内部进一步调整参数设定:
```bash
docker exec -it openwrt ash
opkg update
opkg install luci
/etc/init.d/uhttpd restart
exit
```
此时可以通过浏览器输入 http://<服务器公网IP>:8080 访问 LuCI 控制台界面完成剩余初始化步骤。
---
###
阅读全文
相关推荐


















