Как установить MikroTik RouterOS (CHR) на VPS VDS

MikroTik Cloud Hosted Router (CHR) P1 — это операционная система RouterOS, предназначенная для работы в качестве виртуальной машины. Она поддерживает 64-разрядную архитектуру x86 и может быть установлена на большинстве популярных гипервизоров: VMWare, VirtualBox, Hyper-V, KVM, Xen, Raw disk image. Последний виртуальный диск можно развернуть практически на любой платформе.

Лицензия Cloud Hosted Router бывает трех видов: P1, P10 и P-Unlimited. Они отличаются друг от друга только ограничением скорости интерфейсов. Весь остальной функционал RouterOS полностью работает во всех лицензиях без ограничений. С официального сайта можно бесплатно скачать образ диска для гипервизора, установить и протестировать Cloud Hosted Router с лицензией Free. У нее будут ограничения скорости на интерфейсах 1 Мбит/с.

Судя по всему, бесплатный CHR ищут для поднятия прокси на зарубежном VPS хостинге. Потом взламывают, чтобы убрать ограничение по скорости и по видимому рассылаю селфи :)) на фоне консоли Микротика. Кто не желает так заморачиваться, пусть выберет дешевый рабочий и главное резидентный прокси.

Работающий скрипт установки MikroTik Cloud Hosted Router версии 7.11 на PQ VPS с ОС Ubuntu 22.04.2 LTS:

#!/bin/bash
## Test for Ubuntu 22.04.2 LTS
 
#ADDRESS=xxx.xxx.xxx.xxx/24
ADDRESS=`ip addr show enp0s3 | grep global | cut -d' ' -f 6 | head -n 1`
#GATEWAY=xxx.xxx.xxx.1
GATEWAY=`ip route list | grep default | cut -d' ' -f 3`
 
# Raw disk image https://mikrotik.com/download#chr
#VERSIONCHR=7.10.2
VERSIONCHR=7.11
 
wget -4 https://download.mikrotik.com/routeros/$VERSIONCHR/chr-$VERSIONCHR.img.zip -O chr.img.zip
 
gunzip -c chr.img.zip > chr.img
mount -o loop,offset=33571840 chr.img /mnt
apt install -y pwgen coreutils
PASSWORD=$(pwgen 12 1)
echo "Username: admin"
echo "Password: $PASSWORD"
echo "/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]" > /mnt/rw/autorun.scr
echo "/ip route add gateway=$GATEWAY" >> /mnt/rw/autorun.scr
echo "/ip service disable telnet" >> /mnt/rw/autorun.scr
echo "/user set 0 name=admin password=$PASSWORD" >> /mnt/rw/autorun.scr
echo "/ip dns set server=8.8.8.8,1.1.1.1" >> /mnt/rw/autorun.scr
# remount all mounted filesystems to read-only mode
echo u > /proc/sysrq-trigger
dd if=chr.img bs=1024 of=/dev/vda
echo "sync disk"
# synchronize all mounted filesystems
echo s > /proc/sysrq-trigger
echo "Sleep 10 seconds"
#/usr/bin/sleep 10
read -t 10 -u 1
echo "Ok, reboot"
# perform an immediate OS reboot similar to the RESET button (without synchronising and unmounting file systems)
echo b > /proc/sysrq-trigger

Скрипт можно было бы упростить и не монтировать образ. Но тогда после перезагрузки, используя VNC консоль (не каждый хостинг провайдер ее предоставляет), нужно будет войти под пользователем admin без пароля, после чего задаём пароль, прописываем ip адрес и дефолтный маршрут:

/system user set admin password=YOURPASSWORD
/ip address add address=YOUR.IP.ADD.RESS/MASK
/ip route add gateway=YOUR.GATE.WAY.IP

Скачать установочный скрипт с Github:

apt install wget nano; wget https://raw.githubusercontent.com/darkfire13/RouterOS-CHR-Install/main/chr_install

Заключение

Непосредственно по самому скрипту рекомендую изучить Монтирование Loopback Device (loop) с использование offset sizelimit. Так как установка MikroTik Cloud Hosted Router является нетривиальной задачей, прежде чем оплачивать VPS напишите в техподдержку хостера и уточните предоставляют ли они VNC (консоль) для управления сервером. Если выбрали VSP у хостера PQ Hosting, после оплаты сервера, просто напишите какую версию CHR вам установить и техподдержка вам установит.

PQ VPS сервера в 28+ странах.