OpenWrt 迁移 PVE

杂七杂八的小寄巧

前言

之前一直是裸机安装 OpenWrt ,但是最近遇到了一些奇怪的问题,路由总是莫名其妙的死掉,一点迹象也没有,log 中也无有效内容,再加上 OpenWrt 物理连接不需要密码就能进入 root shell ,还是过于不安全了,决定将 OpenWrt 迁移至 PVE。

CT vs VM

起初听取了师兄的建议,采用了更方便迁移的方式:PVE 的 Container,这个东西的优势在于,有 rootfs 就能跑,不需要安装什么的,把当前的整个 / 目录复制下来打个包(tar.gz),上传到 PVE 的 template ,然后通过这个 template 建立 lxc ,即 PVE 的容器,就可以运行了。

问题 1:

一开始就是 dnsmasq 无法启动,尝试启动总是报错,原因是 procd 的参数有问题,注释掉 /etc/init.d/dnsmasq 中的 procd_add_jail 部分可以解决,dhcpd 成功启动。

问题2:

创建的 lxc 没有选择特权,而 lxc 作为一个半虚拟化的工具,其很多硬件是与 host 共享的,这其实就是我决定从 lxc 换回 vm 的主要原因。 OpenWrt 这种软路由系统不可避免的要创建一些网络接口,比如 tuntap 等,而半虚拟化需要 host 中有这些网络设备,并且要单独为 lxc 开启权限,这极大地增加了虚拟化平台和系统之间的耦合度,并且带来了很多不必要的麻烦。

最终我还是使用了 VM 作为软路由的载体。

Install OpenWrt VM on PVE

1. 上传镜像

略,这一步不会的还是别折腾软路由了。

2. 新建虚拟机

记住 VM ID ,一会儿还得用,操作系统选不使用任何介质,只有这两个需要注意的选项,其他默认或自行扩容,还有网卡,很好配。这两个选项主要是因为 OpenWrt x86 的镜像,真的就是镜像,不是安装,物理机安装只需要 dd 写入就行的,不包含一般 iso 文件拥有的安装用的 boot image ,选择了这个文件会让 PVE 没法引导,也因此是采用直接导入硬盘的方式,而不用新建一块硬盘。

3. 导入磁盘镜像

PVE host 的终端,执行

将镜像作为硬盘导入 VM ,等 successfully imported 了可以去 VM 的硬件那儿给硬盘扩容,毕竟导入进去多大就只有多大,如果要装一些插件的话显然是不够用的。

4. ____,启动!

VM 连上网,就可以开始配了,或者直接从之前的备份恢复。

要扩容硬盘,直接用官网给的方式

先扩容分区

再扩容文件系统

总结

不难,折腾,尽量搞一个稳定的环境,毕竟影响整个子网的上网,PVE 方便迁移,以后换设备了也好搞,需要用到新的设备的,不管虚拟还是实体,还是用 VM 吧,比较省心。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据