一步一步在PVE用LXC安装openwrt
从KVM转LXC理由
最近在Proxmox上用LXC虚拟了一个debian,资源占用很小,想着是否能实现openwrt,一搜果然有,为什么用LXC见同为值得买的 这篇, 不过这篇基于linxu基础比较好的,而且不是首先匹配PVE。 于是继续参考和试错, 最后具体设置主要按照 论坛 这个方法,但是里面有几个地方笔误了,采完坑补充记录下, 让更多人可以一步步操作实现。
关于版本,一开始用的 官方 版本, 结果发现间歇断网(可能权限设的不对),后来测试下来发现 原帖采取的 这个干净版本非常不错,还能在线装插件,不用去搜专门的ipk,也不像一些编译好的版本多了很多用不上的功能。大家可以自由选择,进阶操作主要还是rootfs文件的打包和替换。
整理具体步骤,一步步比较详细:
下载和模板准备需在linux中操作。 首先在 这里 下载openwrt-x86-64-generic-squashfs-rootfs.img.gz。 也可以选择其他版本。约18M。
解压
gzip -d openwrt-x86-64-generic-squashfs-rootfs.img.gz`
安装解包软件
apt install squashfs-tools
对得到的img进行解包
unsquashfs openwrt-x86-64-generic-squashfs-rootfs.img
进入目录,重新打包为pve的CT模板
cd squashfs-roottar zcf ../openwrt201117.rootfs.tar.gz *
结果约为24M,上传或复制到PVE对应目录,一般为/var/lib/vz/template/cache。
一开始几次压缩后都只有9k,有问题,后来在完整的linux下执行就对了
进入PVE shell中,创建LXC,据说web中创建CT方式会不好用,没测试。
pct create 202 local:vztmpl/openwrt201117.rootfs.tar.gz --rootfs local-lvm:1 --ostype unmanaged --hostname CTOpenWrt --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0
相关参数可自行定义local-lvm可以设硬盘为更大,单位是G,我这为1G。这条比起vm下扩容overlay方便很多。
进入web控制台启动CT。设置IP等等,安装插件。以下为旁路由方式
uci set network.lan.ipaddr=[lan ip]
uci set network.lan.gateway=[上级路由ip]
uci set network.lan.dns=[上级路由ip]
uci commit
/etc/init.d/network restart
如需映射宿主机目录 ,100是ID,最后mp=是LXC中目录地址
pct set 100 -mp0 /mnt/bindmounts/shared,mp=/shared
使用感受
安装完adguard home和pswl后基本占用很低,不像VM模式下都有5%的CPU。 观察稳定运行几天试试,iperf3测试可以跑满千兆。
总结
pve下不管是VM还是CT安装好的openwrt都方便备份和快照,LXC模式在空间设置和资源占用上都更具优势,可以一试,当然如果需要安装zerotier还需设置下tun,网上很成熟。
heroares
校验提示文案
gwchen
校验提示文案
这个名字没人用啊
校验提示文案
Kiririshi_
校验提示文案
comfort
校验提示文案
值友4828652426
校验提示文案
值友4828652426
校验提示文案
comfort
校验提示文案
Kiririshi_
校验提示文案
heroares
校验提示文案
这个名字没人用啊
校验提示文案
gwchen
校验提示文案