Установка CHR в виртуальную машину KVM

Не всегда есть возможность купить микротик нужной мощности или конфигурации. В этом случае в качестве роутера можно задействовать любую Linux машинку с QEMU, установив туда Cloud Hosted Router (CHR).

Для начала необходимо скачать образ CHR необходимой версии на официальном сайте Mikrotik. Выбираем Raw disk image:

Скачанный файл необходимо распаковать. В результате получим файл с расширением img — это и есть образ диска с уже установленным CHR. Его необходимо положить в какой-нибудь каталог на диске.

Теперь проверим объём диска в образе. Для этого используем команду:

$ sudo qemu-img info ./chr-7.7.img

Получим примерно такой ответ:

image: ./chr-7.7.img
file format: raw
virtual size: 128 MiB (134217728 bytes)
disk size: 128 MiB

Если такого объёма вам недостаточно (например, вы хотите задействовать Dude), то увеличиваем размер образа на нужный объём:

$ sudo qemu-img resize ./chr-7.7.img +512M

В данном случае мы добавили ещё 512 мегабайт.

Теперь создаём виртуальную машину. Выделим ей 128 МБ оперативной памяти, одно ядро процессора, установим пароль для доступа по VNC и подключим к бриджу br0, который входит в состав локальной сети:

$ sudo virt-install -n chr \
--autostart \
--noautoconsole \
--network=bridge:br0 \
--ram 128 --arch=x86_64 \
--vcpus=1 --cpu host --check-cpu \
--disk path=/kvm/chr-7.7.img \
--graphics vnc,listen=0.0.0.0,password=vncvncvn \
--os-variant=debian2.0 --boot hd,cdrom,menu=on

Если всё прошло успешно, то роутер уже должен запуститься. Можно пробовать найти его в Winbox и подключаться:

Либо по VNC к порту 5900 (или выше, если у вас есть другие виртуальные машины):

Теперь можно пользоваться CHR в виртуальной машине почти как обычным микротиком.