Как потестировать MikroTik не покупая аппаратный роутер


В моей жизни стало слишком много микротиков и как бы они мне и даром не нужны, но разобраться поглубже с этим чудом SOHO-направления видимо все же придется. Естественно, что покупать аппаратный Microtik роутер мне вообще не улыбается у меня есть очень даже неплохой ASUS RT-AC51U в качестве интернет-шлюза и Banana PI M2+ как VPN-gateway для доступа к виртуальной сети. Как мне подсказали коллеги у Microtik есть так называемый Cloud Hosted Router который в отличие от Router OS гораздо проще лицензируется и отлично подойдет для того чтобы потренироваться в обстановке максимально приближенной к боевой.

Mikrotik в виртуальных сетях

Я как-то попробовал установить Router OS и с удивлением после установки узнал, что через 24-е часа она превратиться в тыкву, а если получить демо-лицензию то 99% процентов функционала помашет вам ручкой, можно конечно каждые 24-е часа переустанавливать, но это как-то не очень, поэтому будем экспериментировать с Cloud Hosted Router в рамках моей виртуальной сети (вот и KVM-ки пригодились, а то все LXD да LXC).

В результате у меня получилась следующая конструкция.

Виртуальная сеть для тестирования MikroTik

Фактически я создал две виртуальные сети:

  • master-bridge - Основная виртуальная сеть объединяющая все хосты моей сети, на хосте запущен DHCP-сервер на базе DnsMasq и интерфейс master-bridge загоняет исходящий трафик NAT-ом в сетевой интерфейс рабочей станции. Фактически я этой сетью эмулирую подключение роутера к сети Internet провайдера с серыми IP-адресами (наиболее распространенная схема).
  • virtual-1 это изолированная сеть эмулирующая LAN-порты роутера, а точнее один LAN-порт вставленный в неуправляемый свитч (в дальнейшем можно создать еще сетей и добавить их интерфейсами к микротику для эмуляции отдельных LAN-портов)

В виде конфигурации LibVirt master-bridge соответственно:

# virsh net-dumpxml master-bridge
<network>
  <name>master-bridge</name>
  <uuid>36257b67-a1ce-4a3d-9378-93a8a9aa0800</uuid>
  <forward mode='bridge'/>
  <bridge name='master-bridge'/>
</network>

А virtual-1 выглядит немного иначе:

# virsh net-dumpxml virtual-1
<network>
  <name>virtual-1</name>
  <uuid>f8019fa8-2ad9-41e8-9fa7-67448bd2179d</uuid>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:1d:33:8e'/>
  <domain name='virtual-1'/>
</network>

Сети сделаны максимально просто и можно было конечно заморочиться с OpenVSwitch, но оно нам не нужно совершенно и мы переходим к созданию виртуальной машины для Mikrotik и первым делом перейдите по адресу https://mikrotik.com/download и загрузите Raw Disk Image для Cloud Hosted Router или загрузите образ сразу в Default-хранилище libvirt (в вашем случае пути могут отличаться):

# cd /var/lib/libvirt/images/
# wget https://download2.mikrotik.com/routeros/6.44.3/chr-6.44.3.img.zip
# unzip ./chr-6.44.3.img.zip
# rm ./chr-6.44.3.img.zip

Образ диска для нашего Cloud-роутера у нас есть и мы можем приступать к созданию виртуальной машины. Сегодня я буду демонстрировать создание виртуальной машины в Virtual Machine Manager версии 1.5.1.

Менеджер виртуальных машин для платформы LibVirt

Для создания виртуальной машины MikroTik мы выбираем режим "импорт образа диска".

Импорт образа диска

Выбираем наш образ диска, тот который мы загрузили в дефолтное хранилище.

Выбираем RAW-диск Mikrotik

Выделяем ресурсы для виртуальной машины (я думаю, что двух гигобайт оперативной памяти и одного виртуального процессора будет более чем достаточно).

Выделяем ресурсы виртуальной машине с CHR

И теперь важный этап это выбор сети по умолчанию в master-bridge и установите галочку "Проверить конфигурацию перед установкой".

Проверить конфигурацию перед установкой

Следующим этапом вам необходимо будет добавить еще один сетевой интерфейс (сети virtual-1) в открывшемся окне конфигурации виртуальной машины.

Добавляем второй интерфейс к виртуальному микротику

Нажмите кнопку "Начать установку" и система запуститься с RAW-образа дискового накопителя.

Виртуальный микротик запущен

Логин по умолчанию admin без пароля.

Виртуальный Mikrotik запустился

Теперь нам осталось создать две виртуальные машины в сети virtual-1 и можем переходить к изучению CLI-роутера.