В этой статье описана процедура развёртывания MikroTik RouterOS (CHR) на Linux-сервере с помощью автоматизированного Bash-скрипта. Метод использует запись образа диска (dd), монтирование файловых систем через loop-устройства и автоматическое получение сетевых параметров сервера. Поскольку запись на диск уничтожает данные, выполняйте эту процедуру только после создания всех необходимых резервных копий.
Создайте виртуальную машину с Ubuntu 18.04, 20.04 или 22.04 и выполните этот скрипт для установки MikroTik RouterOS (CHR).
Проверьте сетевые интерфейсы и диски
ip a
lsblk
Создайте скрипт
Используйте удобный вам текстовый редактор.
nano script.sh
Содержимое скрипта
#!/bin/bash
wget https://download.mikrotik.com/routeros/7.5/chr-7.5.img.zip -O chr.img.zip && \
gunzip -c chr.img.zip > chr.img && \
mount -o loop,offset=512 chr.img /mnt && \
ADDRESS=$(ip addr show enp0s3 | grep global | awk '{print $2}' | head -n1) && \
GATEWAY=$(ip route list | awk '/default/ {print $3}') && \
echo "/ip address add address=$ADDRESS interface=[/interface ethernet find where name=ether1]
/ip route add gateway=$GATEWAY
/ip service disable telnet
/user set 0 name=root password=xxxxxx" && \
echo u > /proc/sysrq-trigger && \
dd if=chr.img bs=1024 of=/dev/sda status=progress && \
sync && \
echo s > /proc/sysrq-trigger && \
sleep 5 && \
echo b > /proc/sysrq-trigger
Сделайте скрипт исполняемым
chmod 755 script.sh
Запустите скрипт
./script.sh
Или:
sudo ./script.sh
Что нужно заменить в скрипте перед запуском
enp0s3— имя вашего сетевого интерфейса./dev/sda— целевой диск.xxxxxx— пароль пользователя root.
Напоминание
Выполнение скрипта полностью перезапишет целевой диск.
После установки необходима полная перезагрузка.