CHR: Proxmox VE Installation
本页概述在 Proxmox VE 虚拟环境中部署 MikroTik Cloud Hosted Router(CHR)的方法,并给出详细安装步骤,涵盖虚拟机创建、镜像处理和配置方式。
CHR:Proxmox VE 安装
概述
Cloud Hosted Router(CHR)是 MikroTik RouterOS 面向 x86_64 虚拟化环境设计的版本。它提供完整的路由、防火墙、VPN 和管理功能,适用于本地部署以及 Proxmox VE 等云端虚拟化基础设施。
Proxmox VE(KVM/QEMU)支持使用 raw 或 qcow2 磁盘镜像灵活部署 CHR,并提供多种存储后端和网络适配器选项。
安装步骤
步骤 1:创建虚拟机
- 在 Proxmox VE 的 Web 界面中新建一台虚拟机。
- 按需分配 CPU、内存和网络接口。
- 不要安装操作系统(CHR 磁盘将手动挂载)。
步骤 2:下载并解压 CHR 镜像
从 MikroTik 下载页面 https://mikrotik.com/download 下载最新 CHR 镜像到 Proxmox 主机:
wget https://download.mikrotik.com/routeros/7.21.4/chr-7.21.4.img.zip
警告
请把 URL 替换为 MikroTik 下载页面上最新的 CHR 版本。 解压镜像:
unzip chr-7.21.4.img.zip
这会生成用于安装的 .img 文件。
步骤 3:把镜像移动到虚拟机存储
Proxmox 本地存储的默认位置:
/var/lib/vz/images/<VM_ID>/
需要时创建目录:
mkdir -p /var/lib/vz/images/<VM_ID>
移动镜像:
mv chr-7.21.4.img /var/lib/vz/images/<VM_ID>/
步骤 4:把镜像转换为 QCOW2
把 raw CHR 镜像转换为 qcow2 格式:
qemu-img convert -f raw -O qcow2 /var/lib/vz/images/<VM_ID>/chr-7.21.4.img /var/lib/vz/images/<VM_ID>/vm-<VM_ID>-disk-1.qcow2
步骤 5:把磁盘挂载到虚拟机
虚拟机配置文件位置:
/etc/pve/qemu-server/<VM_ID>.conf
通过虚拟机配置文件或 Proxmox Web 界面手动挂载磁盘。
提示
先用一台测试虚拟机验证配置语法是否正确。
备用的图形界面方式
- 通过 Proxmox Web 界面创建一台基础虚拟机。
- 确保存储设置为本地存储。
- 把 CHR 镜像上传到:
/var/lib/vz/images/<VM_ID>/ - 把镜像转换为 qcow2:
qemu-img convert -f raw -O qcow2 chr.img vm-<VM_ID>-disk-1.qcow2
- 通过 Proxmox GUI 或
.conf文件挂载磁盘。
自动化安装脚本
也可以在 Proxmox 主机上使用 Bash 脚本部署 CHR。
脚本执行的操作:
- 创建临时目录(/root/temp)。
- 下载 CHR 镜像。
- 解压并转换镜像。
- 创建虚拟机并挂载磁盘。
#!/bin/bash
version="nil"
vmID="nil"
echo "############## Start of Script ##############"
if [ ! -d /root/temp ]; then
mkdir /root/temp
fi
read -p "Enter CHR version (e.g. 7.21.4): " version
cd /root/temp
wget https://download.mikrotik.com/routeros/$version/chr-$version.img.zip
unzip chr-$version.img.zip
read -p "Enter VM ID: " vmID
mkdir -p /var/lib/vz/images/$vmID
qemu-img convert -f raw -O qcow2 \
chr-$version.img \
/var/lib/vz/images/$vmID/vm-$vmID-disk-1.qcow2
qm create $vmID \
--name chr-$version \
--net0 virtio,bridge=vmbr0 \
--bootdisk virtio0 \
--ostype l26 \
--memory 512 \
--sockets 1 \
--cores 1 \
--virtio0 local:$vmID/vm-$vmID-disk-1.qcow2
echo "############## End of Script ##############"
实用小技巧
修复脚本中的 Windows 换行符:
sed -i -e 's/\r$//' *.sh
支持的网络与磁盘接口
Proxmox VE (KVM/QEMU)
网络适配器:
- Virtio(paravirtual,半虚拟化)
- E1000
磁盘控制器:
- IDE
- SATA
- Virtio(paravirtual,半虚拟化)