该方法同样适用于阿里云,其他云商未测试。

CHR介绍

CHR(Cloud Hosted Router) 是用于在虚拟机上运行的 RouterOS 版本,它支持x86_64架构,支持大多数流行的虚拟化技术,如 VMWare, Hyper-V, VirtualBox, KVM 等。 CHR 拥有 RouterOS 的所有功能,但是授权模式不同于其他的 RouterOS 版本。

CHR 的授权比较宽松,在你购买授权后,可以无限制的更换运行介质(其实就是更换硬盘),只要重新renew 一次即可。

系统需求

最低需求:

  • RouterOS 版本 >= 6.34
  • 支持 64位 CPU 虚拟化
  • 内存 >= 128MB
  • 磁盘 >= 128MB

CHR 系统磁盘空间最大为 16GB

经过测试的虚拟化平台

  • VirtualBox 5 on Linux and OS X
  • VMWare Fusion 7 and 8 on OS X
  • VMWare ESXi 6.5
  • Qemu 2.4.0.1 on Linux and OS X
  • Hyper-V on Windows Server 2008r2, 2012 and Windows 10 (目前仅支持1代的Hyper-V)
  • Xen Project 4.6.5
  • Xen Server 7.1

各虚拟化平台受支持的网络和磁盘模式

  • ESX:
    • Network: vmxnet3, E1000
    • Disk: IDE, VMware paravirtual SCSI, LSI Logic SAS, LSI Logic Parallel
  • Hyper-V:
    • Network: Network adapter, Legacy Network adapter
    • Disk: IDE, SCSI
  • Qemu/KVM:
    • Network: Virtio, E1000, vmxnet3 (optional)
    • Disk: IDE, Sata, Virtio
  • Xen Project:
    • Network: E1000, rtl8193, netfront
    • Disk: IDE, Sata
  • VirtualBox
    • Network: E1000, rtl8193
    • Disk: IDE, Sata, SCSI, SAS

如何在 Vultr VPS 上安装 CHR

首先当然是要注册账号,添加付款方式(信用卡或者 PayPal)。可以通过我的邀请链接注册账号,大家都会有奖励。接下来开通一个 VPS,根据自己喜好选择可用区、VPS 规格、操作系统,完了等初始化完成后,你会得到你的 VPS 的 IP 地址,root密码。现在用 Xshell 或其他你喜欢的终端模拟工具登录 VPS,接下来开始安装 CHR 。

最新版本从官网的下载页面获取 https://mikrotik.com/download ,建议使用 Current 版本,即稳定版。
CHR-DOWNLOAD

# 下载压缩包
curl -LO https://download.mikrotik.com/routeros/6.42.2/chr-6.42.2.img.zip
# 解压,如未安装 unzip ,先安装。
unzip chr-6.42.2.img.zip

自定义 RouterOS 脚本

# 挂载 img 镜像(非必需),挂载 img 可以自定义 chr 初始化后自动运行的脚本
mount -o loop,offset=33554944 chr.img /mnt
# 写入自定义 ros 脚本
ADDRESS0=`ip addr show eth0 | grep global | cut -d' ' -f 6 | head -n 1` && \
ADDRESS1=`ip addr show eth1 | grep global | cut -d' ' -f 6 | head -n 1` && \
GATEWAY0=`ip route list | grep '10.0.0.0/8' | cut -d' ' -f 3` && \
GATEWAY1=`ip route list | grep default | cut -d' ' -f 3` && \
echo "/ip address add address=$ADDRESS0 interface=[/interface ethernet find where name=ether1]
/ip address add address=$ADDRESS1 interface=[/interface ethernet find where name=ether2]
/ip route add dst-address=10.0.0.0/8 gateway=$GATEWAY0
/ip route add dst-address=100.64.0.0/10 gateway=$GATEWAY0
/ip route add dst-address=172.16.0.0/12 gateway=$GATEWAY0
/ip route add gateway=$GATEWAY1
" > /mnt/rw/autorun.scr \
umount /mnt

把 img 镜像写入本地磁盘(不可逆操作,写入后磁盘上原来的数据会被抹除)

# 立即重新挂载所有的文件系统为只读
echo u > /proc/sysrq-trigger
# 使用 dd 命令将 img 写入磁盘
dd if=chr-6.42.2.img bs=1024 of=/dev/vda

最后在 Vulter web界面,重启下 vps,重启后系统会被替换为 RouterOS。

CHR 善后工作

CHR 安装完成后默认账号为 admin,默认密码为 空。所以安装完成后首要任务是修改默认密码(建议同时修改默认账号),用 ssh 登入 chr 后台,即可运行 routeros 的 CLI。

# 修改 admin 用户名为 bubble ,密码为 123456
/user set admin name=bubble password=123456
# 有必要的话,可以修改 ssh 默认端口,比如修改为 2222
/ip service set ssh port=2222
# 关闭 telnet 端口
 /ip service disable telnet

其他的安全配置可自行学习,研究,官方 wiki 是不错的教程。

CHR 授权

CHR 有4个授权级别:

  • 免费版 (在官网注册账号后,可享2个月的免费试用时间)
  • p1 (永久授权-1,官网售价 $45,可在淘宝上搜索中国代理商,价格一般是¥160-190)
  • p10 (永久授权-10,官网售价 $95)
  • p-unlimited (永久授权-无限制版,官网售价 $250)

下表为各授权级别的限制比较

license 带宽限制 售价
免费 1Mbit 免费
P1 1Gbit $45
P10 10Gbit $95
P-Unlimited 无限制 $250

买到授权后,需要在 routeros 系统中 renew 一下,将授权添加到系统中:

/system license> renew account=loginname password=pass level=p1

需要注意一点:在 winbox 的授权页面,即便你购买了授权, renew 和 Deadline 日期都会显示,查看是否授权成功,需要在 miktorik 用户中心查看:
chr-license