Что такое MikroTik RouterOS и CHR
MikroTik RouterOS — операционная система для маршрутизаторов MikroTik и программных сетевых решений. Она предоставляет маршрутизацию, Firewall, NAT, VPN, QoS, динамическую маршрутизацию и множество других сетевых функций.
Для виртуальных сред MikroTik выпускает специальную версию — Cloud Hosted Router (CHR). Она предназначена для запуска RouterOS в виртуальных машинах и хорошо подходит для VPS, если используемая площадка позволяет загрузить или записать собственный образ на виртуальный диск.
В нашем примере используется VPS со следующими характеристиками:
- Процессор: 1 × 2,2 ГГц;
- Оперативная память: 2 ГБ;
- Диск: 30 ГБ;
- исходная ОС: Ubuntu 20.04.
Что понадобится перед установкой
Перед началом убедитесь, что у вас есть:
- root-доступ к VPS;
- SSH-доступ к текущей Linux-системе;
- VNC, Web Console или другая консоль в панели VPS-провайдера;
- IP-адрес VPS;
- маска сети;
- IP-адрес шлюза;
- резервная копия необходимых данных.
Подключаемся к VPS
Подключитесь к серверу по SSH:
ssh root@IP-АДРЕС_ВАШЕГО_СЕРВЕРА
Обновите список пакетов:
apt update
Установите необходимые утилиты:
apt install unzip wget -y
Сохраняем сетевые настройки VPS
Это один из самых важных этапов. После установки CHR текущая конфигурация Linux исчезнет, поэтому IP-адрес и шлюз нужно записать заранее.
Посмотрите сетевые интерфейсы:
ip -c a
В моём примере вывод содержал:
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
link/ether 52:54:00:18:4f:20
inet 77.228.150.130/32 scope global ens3
inet6 2a01:e5c0:2515::2/48 scope global
Публичный IPv4-адрес VPS:
77.228.150.130/32
Теперь проверим таблицу маршрутизации:
ip -c r
В нашем случае:
default via 10.0.0.1 dev ens3 onlink
Шлюз:
10.0.0.1
Загружаем образ MikroTik CHR
Перейдите на официальную страницу загрузки MikroTik.
В разделе Cloud Hosted Router выберите стабильную версию RouterOS и скопируйте ссылку на Raw disk image.
Перейдите во временный каталог:
cd /tmp
Загрузите RAW-образ. Например, если вы используете версию из старого примера статьи:
wget https://download.mikrotik.com/routeros/6.49.18/chr-6.49.18.img.zip
Распакуйте архив:
unzip chr-6.49.18.img.zip
Определяем системный диск VPS
Перед записью образа обязательно определите имя системного диска:
fdisk -l
В нашем случае:
Disk /dev/vda: 30 GiB, 32212254720 bytes, 62914560 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
Disklabel type: gpt
Device Start End Sectors Size Type
/dev/vda1 2048 4095 2048 1M BIOS boot
/dev/vda2 4096 62912127 62908032 30G Linux filesystem
Следовательно, системный диск в нашем примере:
/dev/vda
На другом VPS он может называться, например:
/dev/sda
или иначе.
Записываем образ RouterOS на диск
Перед записью образа переводим смонтированные файловые системы в режим только для чтения:
echo u > /proc/sysrq-trigger
После этого записываем распакованный RAW-образ на системный диск:
dd if=chr-6.49.18.img of=/dev/vda bs=4M oflag=sync
В этой команде:
if=chr-6.49.18.img— файл образа CHR;of=/dev/vda— системный диск VPS;bs=4M— размер блока записи;oflag=sync— синхронный режим записи.
Перезагружаем VPS в RouterOS
После записи образа необходимо перезагрузить виртуальную машину.
Поскольку системный диск уже перезаписан, штатная перезагрузка Linux может работать некорректно. В нашей конфигурации использовалась принудительная перезагрузка через SysRq:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
После перезагрузки VPS должен загрузиться уже в MikroTik Cloud Hosted Router.
Первый вход в MikroTik RouterOS
Откройте VNC или Web Console в панели управления VPS-провайдера.
После загрузки RouterOS войдите в систему через консоль. При первоначальном запуске конкретное поведение учётной записи admin и запроса пароля может зависеть от установленной версии RouterOS.
Если RouterOS предлагает установить новый пароль — задайте сложный уникальный пароль сразу.
После входа можно переходить к восстановлению сетевой конфигурации.
Настраиваем IP-адрес в RouterOS
Используем параметры, которые сохранили перед установкой.
В нашем случае публичный адрес:
77.228.150.130/32
а шлюз:
10.0.0.1
Добавляем IP-адрес:
/ip address add address=77.228.150.130/32 interface=ether1 network=10.0.0.1
Здесь:
address=77.228.150.130/32— публичный IPv4-адрес VPS;interface=ether1— сетевой интерфейс RouterOS;network=10.0.0.1— параметр, необходимый для конкретной схемы адресации нашего VPS с адресом/32.
Проверяем адрес:
/ip address print
В нашем примере:
# ADDRESS NETWORK INTERFACE
0 77.228.150.130/32 10.0.0.1 ether1
Добавляем маршрут по умолчанию
Посмотрим текущую таблицу маршрутизации:
/ip route print
После назначения адреса RouterOS уже знает, как добраться до шлюза, но маршрута по умолчанию ещё нет.
Добавляем его:
/ip route add gateway=10.0.0.1
Проверяем доступ в Интернет:
/ping 8.8.8.8
Если ответы приходят, маршрутизация работает.
Защищаем RouterOS перед подключением через WinBox
После появления доступа в Интернет публичный IP VPS становится доступен для автоматического сканирования. Поэтому прежде чем переходить к дальнейшей настройке, отключим ненужные административные сервисы.
Посмотрим список сервисов:
/ip service print
В списке могут присутствовать:
- telnet;
- ftp;
- www;
- ssh;
- www-ssl;
- api;
- winbox;
- api-ssl.
Если для дальнейшей настройки нам нужен только WinBox, остальные сервисы можно отключить:
/ip service disable telnet
/ip service disable ftp
/ip service disable www
/ip service disable ssh
/ip service disable www-ssl
/ip service disable api
/ip service disable api-ssl
Проверяем:
/ip service print
В результате активным должен остаться только необходимый нам сервис WinBox.
Подключаемся к MikroTik через WinBox
Скачать актуальную версию WinBox можно на официальной странице MikroTik.
Запустите WinBox и в поле Connect To укажите публичный IP-адрес CHR.
В нашем примере:
77.228.150.130
Укажите:
- Login —
adminили созданную вами административную учётную запись; - Password — установленный ранее пароль.
Нажмите Connect.
Если IP-адрес и маршрут настроены правильно, откроется графический интерфейс RouterOS.
Что сделать сразу после установки MikroTik CHR
После того как доступ к RouterOS восстановлен, я рекомендую не переходить сразу к настройке VPN и других сервисов, а сначала выполнить базовую защиту:
- проверить пароль административной учётной записи;
- отключить ненужные сервисы;
- настроить Firewall для цепочки
input; - ограничить доступ к WinBox;
- настроить DNS;
- настроить часовой пояс и синхронизацию времени;
- проверить установленную версию RouterOS и доступные обновления;
- после завершения базовой конфигурации сохранить резервную копию.
Настройку Firewall мы подробно разобрали в следующей инструкции: Как настроить базовые правила Firewall в MikroTik RouterOS.
Часто задаваемые вопросы
Что такое MikroTik CHR?
Cloud Hosted Router — версия MikroTik RouterOS, предназначенная для виртуальных машин. Она позволяет использовать RouterOS на VPS и других виртуальных платформах.
Можно ли установить MikroTik RouterOS поверх Ubuntu на VPS?
Да, если VPS позволяет получить root-доступ к Linux и записать RAW-образ непосредственно на системный диск. При этом Ubuntu будет полностью уничтожена и заменена RouterOS.
Почему перед установкой нужно записать IP-адрес и шлюз?
После записи CHR существующая конфигурация Linux исчезнет. Если RouterOS не получит сетевые параметры автоматически, IP-адрес, префикс и шлюз придётся настроить вручную через консоль VPS.
Почему после установки RouterOS пропал SSH-доступ?
Потому что Linux больше не работает на VPS — вместо него загружен MikroTik RouterOS. Кроме того, сеть RouterOS может потребовать ручной первоначальной настройки через консоль провайдера.
Зачем нужна VNC или Web Console VPS-провайдера?
Консоль позволяет управлять виртуальной машиной независимо от её сетевых настроек. Она необходима для первоначальной настройки RouterOS и особенно полезна, если из-за ошибки в IP-адресе, маршруте или Firewall удалённый доступ перестал работать.
Можно ли оставить WinBox открытым в Интернет?
Технически можно, но делать его доступным для любых IP-адресов не рекомендуется. Лучше ограничить доступ доверенными адресами или использовать VPN для администрирования MikroTik.
Почему в примере используется IP-адрес с маской /32?
Такую схему использовал VPS-провайдер в нашем примере. Публичный адрес 77.228.150.130/32 маршрутизировался через шлюз 10.0.0.1. У другого провайдера схема сети может быть совершенно другой.
Нужно ли использовать именно RouterOS 6.49.18?
Нет. Эта версия осталась в командах как пример из первоначальной установки. Для нового развёртывания следует выбрать подходящую актуальную стабильную версию CHR на официальной странице MikroTik и использовать соответствующее имя RAW-образа.
Заключение
Мы установили MikroTik RouterOS CHR на VPS, полностью заменив существующую Ubuntu. Перед установкой сохранили параметры сети, записали RAW-образ на виртуальный диск, а после загрузки RouterOS через консоль провайдера восстановили IP-адрес и маршрут по умолчанию.
После появления доступа в Интернет отключили ненужные административные сервисы и подключились к маршрутизатору через WinBox. На этом базовая установка CHR завершена.
Следующий важный этап — защита публичного MikroTik. Продолжение инструкции: Как настроить базовые правила Firewall в MikroTik RouterOS.