PVE使用LXC搭建openwrt
之前给大家说了怎么制作openwrt docker镜像,今天给大家说下怎么在PVE里用LXC来搭建openwrt.
1.制作LXC容器模板
其实方式跟制作docker openwrt镜像差不多的.
mkdir openwrt && cd openwrt
cp ~/openwrt-spp-k54-autumn[2022]-x86-64-generic-squashfs-legacy.img.gz .
gunzip openwrt-spp-k54-autumn[2022]-x86-64-generic-squashfs-legacy.img.gz
Total_size=$((`fdisk -l openwrt-spp-k54-autumn[2022]-x86-64-generic-squashfs-legacy.img|grep .img2|awk '{print $2}'` * 512))
mkdir op
mount -o loop,offset=$Total_size openwrt-spp-k54-autumn[2022]-x86-64-generic-squashfs-legacy.img ./op
tar czf openwrt-rootfs.tar.gz -C ./op .
然后把制作好的模板上传或复制到PVE的CT模板目录/var/lib/vz/template/cache
scp ./openwrt-rootfs.tar.gz root@192.168.1.254:/var/lib/vz/template/cache/
2.新建LXC容器
通过SSH或者是网页端打开PVE终端,执行以下命令创建新容器
pct create 102 local:vztmpl/openwrt-rootfs.tar.gz --rootfs local-lvm:5 --ostype unmanaged --hostname CTOpenWrt --arch amd64 --cores 2 --memory 2048 --swap 0 -net0 bridge=vmbr0,name=eth0
pct create:容器创建命令
102:容器ID,可根据自己情况设定
local:vztmpl/openwrt-rootfs.tar.gz: 为第三步骤所得到的固件包名称
--rootfs:模版为rootfs文件
local-lvm:5 :后面的数字代表分配的磁盘大小,比如我这里设置的为5,即为即将创建的容器分配2G的大小
--ostype unmanaged:操作系统类型,这里没有填写指定的操作系统(不会影响)
--hostname CTOpenWrt:主机名,也就是虚拟机名称
--arch amd64:设置为64位
--cores 2:分配给容器的核心数(我不知道这里是不是和docker一样,为最大限制)
--memory 2048:分配给容器最大的内存数量
--swap 0:交换分区设置为0
-net0 bridge=vmbr0,name=eth0:网卡,这里一定要设置,不然你的op没有办法连接到pve的虚拟交换机。
因为我是用来做旁路由的,所以就不需要再设置个网口来拨号.
3.最后启动LXC容器
进入web控制台启动CTOpenWrt.
现在又没心思折腾了,劲头过了,还是继续用KVM跑