前言:
网上没有找到PVE激活RouterOS详细的教程,CHR版本有60天的试用时间,下载别人打包好的镜像也不知道有没有夹杂内容在里面,所以写了这个文章,折腾完美的网络方案也有段时间了,也踩过不少坑,鉴于网上也没有PVE安装RouterOS官网纯净版本的教程,就从这里开始吧,如果有需要的话,可以把我的方案教程陆续分享给大家。有更加好的方案,希望大家可以互相帮助讨论!
这个应该是目前为止最好的方案,RouterOS+liunx旁路网关,可以看看索拉里斯风推荐理由(youtube)
部署:在PVE的LXC容器安装Alpine Linux系统,部署(MosDNS、AdGuard Home、Sing-Box)开启TUN/Fake-IP模式。
ps:为什么选择Alpine Linux系统,因为是Linux最精简的系统,Alpine模版只有5M大小,但是大家也可以选择Ubuntu或Debian。
原理:所有上网设备DNS和网关指向RouterOS,RouterOS的DNS再次指向MosDNS做判断国内外分流,访问百度DNS请求给AdGuard Home,访问谷歌DNS请求给Sing-Box。
ps:为什么不用爱快+openwrt?因为上网设备DNS和网关指向openwrt,openwrt不稳定、需要调试或者openwrt挂掉就所有设备都上不了内外网。那么RouterOS也不是一样吗?因为RouterOS的DNS指向MosDNS,MosDNS一挂掉也是上不了网吗?,不太一样可以在RouterOS监控MosDNS如果挂掉,DNS就切换成为阿里、腾讯的,国内网站可以正常访问,不会造成所有设备都上不了网的情况。
一、软件下载
准备软件:FinalShell,官网:https://www.hostbuf.com
准备软件:winbox,官网:https://mikrotik.com
准备镜像:mikrotik-7.12.1.iso,官网:https://mikrotik.com(要下载7.12.1x86的版本)
准备镜像:ubuntu-24.04.2-desktop-amd64.iso,官网:https://ubuntu.com(任意版本的ubuntu的desktop桌面版)
二、上传镜像到PVE
从官网下载的镜像“mikrotik-7.12.1.iso”和“ubuntu-24.04.2-desktop-amd64.iso”上传到PVE的ISO镜像中
三、创建虚拟机
按照图片创建虚拟机
四、创建精确大小的虚拟磁盘(6442450944字节)
用FinalShell登录PVE的ssh后台
以下命令 XXX 改成你自己虚拟机的ID,这个虚拟ID是你一开始创建虚拟机时候填入的数字(教程的第三步第一张图VM ID)。
创建XXX文件夹
mkdir -p /var/lib/vz/images/XXX
复制代码
创建虚拟镜像(这段代码网页转化有问题,正确代码看图片)
qemu-img create -f qcow2 /var/lib/vz/images/XXX/vm-XXX-disk-0.qcow2 6442450944
复制代码
刷新虚拟机的磁盘列表
qm disk rescan --vmid XXX
复制代码
五、添加虚拟硬盘
回到PVE的web页面会出现一个“未使用的磁盘0”,编辑 → 总线/设备(一定要设置成为)IDE → 添加
六、设置虚拟磁盘序列号与型号
打开/etc/pve/local/qemu-server/XXX.conf文件(XXX为你虚拟机的ID)
,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001
复制代码
粘贴到你的硬盘配置最后面例如:
ide0: local:100/vm-100-disk-0.qcow2,size=6G,model=VMware%20Virtual%20IDE%20Hard%20Drive,serial=00000000000000000001
复制代码
FinalShell点击“保存”配置
七、安装RouterOS
在PVE的web页面点击“启动”(CD/DVD驱动中的mikrotik-7.12.1.iso)
然后在RouterOS的安装界面输入“i”然后“y”
安装完成后点击“关机”
引导顺序改成硬盘启动后,从硬盘启动,让RouterOS生成一次随机的MBR的随机数
第一次启动完成后点击“关机”
八、用Ubuntu修改MBR
CD/DVD驱动器改成Ubuntu的ISO镜像,启动项改成CD/DVD驱动启动
设置完成后点击“启动”
加载Ubuntu的引导界面选择“Try or Install Ubuntu”键盘输入“回车”
进入界面后在空白区域鼠标右键打开命令界面
更新软件源
sudo apt update
复制代码
安装GHex软件(十六进制编辑器)
sudo apt install ghex -y
复制代码
根据大小找到6442450944字节的磁盘是什么路径例如:/dev/sda
sudo fdisk -l
复制代码
使用DD命令将文件/dev/sda路径的MBR引导扇区导出到桌面的abc文件中
sudo dd if=/dev/sda of=abc bs=512 count=1
复制代码
用刚刚下载的GHex打开abc文件
一定要看清楚,找到对应的将随机码区域改成BD和E8(默认是每行显示 16 字节,尽量不要左右缩放窗口弄乱了排序)
另存到桌面为xxx文件
使用DD命令将桌面的xxx文件写回去/dev/sda路径
sudo dd if=xxx of=/dev/sda bs=512 count=1
复制代码
关机
九、启动routeros并且导入密钥激活
移除CD/DVD驱动器
修改启动顺序为硬盘启动
启动RouterOS
用winbox登录RouterOS(winbox要用3.4版本的,不要使用新版本)
这是你第一次登录RouterOS,没有任何人改过,也要尽快修改账号和密码,要不然一下子就被盗了
默认账号:admin
默认密码:空
会提示你激活
在windows创建一个笔记本,复制粘贴密钥进去
-----BEGIN MIKROTIK SOFTWARE KEY------------
mr3jH5qhn9irtF53ZICFTN7Tk7wIx7ZkxdAxJ19ydASY
ShhFteHMntBTyaS8wuNdIJJPidJxbuNPLTvCsv7zLA==
-----END MIKROTIK SOFTWARE KEY--------------
复制代码