本地部署openwrt
今天记录下使用openwrt软路由技术来自建科学上网的过程。
搭建openwrt这种软路由对设备性能基本没有什么要求,只有有网口并且是X86架构能刷Linux系统就好了。
这里我使用的是我电脑里的一台虚拟机,安装的系统是Ubuntu20.04,然后今天是用docker来实现,所以docker环境要提前准备好。
现在到这个网址下载一下openwrt的本地镜像。
🔗https://dl.openwrt.ai/releases/24.10/targets/x86/64/kwrt-04.12.2025-x86-64-generic-rootfs.tar.gz
下载完之后我们将镜像上传到虚拟机的自定义文件夹里,cd进入这个文件夹。
在当前目录使用docker自带的解压功能解压。
sudo docker import openwrt压缩包 openwrt_img
解压好了之后我们查看docker镜像列表。
sudo docker image ls
可以看到镜像列表中已经有我们刚刚解压好的openwrt镜像了。
在创建docker实例之前,我们需要创建一个macvlan模式的docker网络,输入下面的几行命令:
sudo ip link set 网卡名称 promisc on //打开网卡混杂模式
sudo docker network create -d macvlan --subnet=本地子网/掩码 --gateway=网关地址 --parent=网卡名称 -o macnet
创建完成之后我们查看docker网络。
sudo docker network ls
可以看到已经有macvlan的网络了。
然后我们创建openwrt实例。
sudo docker run --name openwrt --restart always -d --network macnet --privileged -v 镜像路径 /sbin/init
创建完成之后进入实例终端,修改网络配置
sudo docker exec -it openwrt sh
vi /etc/config/network
修改config interface 'lan'中gateway为实际的网关配置,ipaddr配置为自定义ip
修改好之后wq保存退出,然后输入exit退出实例终端
退出终端之后重启实例
sudo docker restart openwrt
重启完成之后打开浏览器,输入自定义的openwrt地址即可进入openwrt后台。默认用户和密码均为root