下载推荐:https://openwrt.ai/
使用环境PVE8.0,openwrt是以上网址的最新版,内涵及其丰富组件。
- 问题来源:
在PVE虚拟机可以很方便的使用img文件,转换qm 成一个硬盘文件,加入到虚拟机也就完成了,这种方式有个问题,停止命令经常失效。听说CT容器要好一点,但是网上的方法太繁琐,使用img,提取rooffs分区,导入成ct,启动。我的lenyu的openwrt打包里转换后,ct方式,第一次可以运行,第二次网络地址就丢失了,所以说存在漏洞。 - 后来找到了一个方便的rootfs的包,居然是借用的docker镜像盘。具体方式我记不清,只是提示资源下载,并且可行。
具体步骤:
- 打开首页https://openwrt.ai/
下载页尾:这里栏目的包
可解压固件,一般用于Docker或LXC等容器. 教程
目前的是 https://dl.openwrt.ai/releases/targets/x86/64/openwrt-11.19.2023-x86-64-generic-rootfs.tar.gz
2. 以上的tar.gz。可以直接当作ct模板使用,所以也可直接以模板地址方式下载到pve的CT模板目录。但是不可以直接引导方式创建ct容器,
3. 用命令方式建容器,自行修改 local-lvm和bridge名称为你自已的
pct create 111 local:vztmpl/openwrt.rootfs.tar.gz --rootfs local-lvm:2 --ostype unmanaged --hostname CTOpenWrt --arch amd64 --cores 2 --memory 512 --swap 0 -net0 bridge=vmbr0,name=eth0 -net1 bridge=vmbr1,name=eth1
解释:
pct create *** \ #“”是容器编号
local:vztmpl/-rootfs.tar.gz \ #“***-rootfs.tar.gz”时CT模板
–rootfs local-lvm:1 \ #“1”为虚拟磁盘大小,这里是1G
–ostype unmanaged \ #系统类型,之后可在设置文件中修改
–hostname OpenWrt \ #容器名称,之后可在设置文件中修改
–arch amd64 \ #系统架构,amd64 | arm64 | armhf | i386
–cores 8 \ #分配给容器的核心数,我这里分配的是8个,我测试CT模版不需要对某一个容器分配多少,pve会自己调度,所以我通过CT模板建立的虚拟机都是把cpu资源全部分配的。
–memory 1024 \ #分配给容器的内存大小,这里是1G。
–swap 0 \ #分配给容器的交换区大小,这里是0
-net0 bridge=vmbr0,name=eth0 -net1 bridge=vmbr1,name=eth1 #我这里分配了两个网卡,bridge=vmbr1对应的是pve网络您创建的虚拟网卡;name=eth1对应的是openwrt中的网卡。
4,
要点:创建虚拟网卡不要使用您的wan端口,创建虚拟网卡不要使用您的wan端口、创建虚拟网卡不要使用您的wan端口。
4
CT的方式虽然麻烦一点,但是启动停止很顺滑,而且pve的web端对网卡资源的, 更改ip操作都是即时反应到虚拟机的,对本机硬件的调用不知为啥会把整个硬盘驱动器暴露出去,也许不是太安全,也许能关闭。这是一种不错的使用方式,比自编译简单的多。
题外:这个里面的扩展性我感觉是国内前三的,编译好的包十分多,安装巨方便。更新也及时。家里的老路由就是在线编译了一个他们的包,用着也没出什么问题。
唯一的疑问,可能不知道什么时候会停止服务。