Skip to main content

Deploy the Tiniest Openwrt in PVE

· 5 min read
beta
Beta is a story man

Overall

All in One Homelab是目前常见的家用服务器玩法。Openwrt系统是目前最流行的开源路由器固件,一般来说,我们比较常见通过物理机、虚拟机、Docker的方式部署Openwrt。今天我来介绍,如何通过LXC方式部署最轻量化Openwrt系统。

Tags

#Network #Openwrt #iStoreOS #homelab

How to

前置条件

PVE环境(版本>8.0)

1. 下载Openwrt官方镜像

Screenshot 2025-02-17 at 8.51.33 PM.png 我这里是X86主机,我下载X86版本(amd64),下载rootfs.tar.gz格式的模板,LXC模板只有4M多一点,说明LXC模版充分复用了宿主机系统。下载地址如下

http://downloads.openwrt.org/releases/

接下来导入模板到PVE宿主机 Screenshot 2025-02-17 at 9.23.40 PM.png 方式1,PVE宿主机直接下载。在PVE中找到“CT Templates”界面-->点击“Download from URL”-->贴入模板文件URL-->下载文件到PVE中 方式2,电脑下载后导入CT Templates 注意,“CT Templates”内只能存放tar文件;

2. 创建LXC主机

目前PVE不支持在管理页面通过“Create CT”直接建立Openwrt LXC容器,但是我们可以通过终端命令建立容器。具体步骤如下 进入PVE宿主机Shell,贴入以下代码;

pct create 108 local:vztmpl/openwrt-23.05.2-x86-64-rootfs.tar.gz --hostname openwrt-lxc --rootfs local-lvm:2 --ostype unmanaged --arch amd64 --cores 2 --memory 1024 -net0 bridge=vmbr0,name=eth0 --swap 0 -onboot 1

命令行解释

pct create 108,代表创建CT ID为108的LXC容器,ID需要唯一。 --hostname openwrt-lxc,代表LXC容器名称为“openwrt-lxc” --rootfs local-lvm:2,代表CT Volomes安装在“local-lvm”磁盘容量为2GB,后续磁盘扩容有难度,建议依据需求设置好磁盘大小 --ostype unmanaged,代表OS type为unmanaged,后续不可以修改 --arch amd64,代表LXC容器架构为X86,后续无法修改 --core 2,代表CPU核心数是2,后续可以在Options修改 --memory 1024,代表1024Mb内存,,后续可以在Options修改 -net0 bridge=vmbr0,name=eth0,代表添加ID为“net0”的网络,桥接vmbr0网卡,网络名为“eth0”;网络参数后续可以在Options修改 --swap 0,代表swap缓存为0,若不添加此行,默认swap缓存为512MB -onboot 1,1代表开机自动启动,0代表不自动启动。

Screenshot 2025-02-17 at 10.15.40 PM.png 命令执行后,我们可以看到,ID为108,名称为openwrt-lxc已经创建成功。灰色代表关机未启动。

4. 修改Openwrt设置

在openwrt-lxc关机时,我们可以对容器进行相关设置。

网络设置 首先我们进行网络设置,openwrt作为路由系统,需要对其设置一个固定ip。然后点击“start”开机,进入容器的终端(console)。 Screenshot 2025-02-17 at 10.29.48 PM.png 通过ifconfig查看,我们发现eth0的IP没有被设置,br-lan的IP设置为192.168.1.1;这是因为我们下载的是官方的镜像,这些是默认的网络设置。我家的网络是192.168.50.1/24,光猫的地址是192.168.1.1/32,这时需要就家庭网络环境做正确的适配。

#修改网络配置, 将ip地址设置为内网地址
vi /etc/config/network
#重启网络
/etc/init.d/network restart

这样你就可以在内网访问openwrt管理界面了. 下一期,我将告诉大家如何在LXC的Openwrt中配置科学上网[科学上网].(2025-02-24-添加科学上网.md)

References