Статья обнавлена 04.09.2023
Внимание! В примере ниже установка идёт поверх чистого сервера с уже предустановленной Ubuntu 20.04. Стабильная работа данного способа при обновлении вручную с Ubuntu 18.04 или других ОС на Ubuntu 20.04 — не гарантируется.
Также было несколько жалоб при установке образа MikroTik последней версии. При возникновении любого рода проблем, попробуйте установить образ версии 6.49.10 Stable
. После успешной установки вы сможете обновить его до последней версии вручную.
RouterOS представляет из себя операционную систему, на которой работает сетевое оборудование компании MikroTik. RouterOS создана на базе Linux и помимо маршрутизаторов MikroTik может устанавливаться на компьютеры и сервера, тем самым фактически превращая их в маршрутизаторы. Исходя из того, что такая операционная система умеет работать на физических серверах, её также можно научить функционировать и на серверах облачных. Именно для этого предназначена операционная система Cloud Hosted Router. Данная версия RouterOS создана специально для виртуальных выделенных серверов. Далее расскажем, как установить MikroTik RouterOS на VPS, работающий под управлением операционной системы семейства Linux.
В качестве примера в данной статье мы будем использовать виртуальный сервер, на котором установлена Ubuntu 20.04. Наш VPS имеет следующую конфигурацию: CPU 1×2.2ГГц, 2Гб RAM, 20Гб HDD. К сожалению, на других операционных системах развернуть образ Cloud Hosted Router получается далеко не всегда, поэтому действия, описанные в нашем мануале, работают именно на Ubuntu 20.04.
Установка образа RouterOS поверх Ubuntu 20.04
Так как мы планируем установить RouterOS прямо поверх уже установленной Linux-системы, то на первом этапе необходимо образ RouterOS записать на виртуальный диск нашего сервера, затерев файлы “родной” операционной системы.
Все действия будем выполнять под учётной записью root.
Итак, во-первых, нужно обновить базы данных доступных для установки репозиториев:
# apt update
Далее необходимо установить пакеты, которые нам понадобятся в дальнейшем (у вас они могут быть уже установлены):
# apt install unzip
На данном этапе, пока мы ещё находимся в самом начале установки, давайте зафиксируем сетевые настройки нашего сервера, которые понадобятся в дальнейшем для подключения к RouterOS. Для этого выполните следующие команды:
# ip -c a
В нашем примере вывод данной команды имеет следующий вид:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:15:5d:01:8b:b7 brd ff:ff:ff:ff:ff:ff
inet 176.113.82.65/24 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::215:5dff:fe01:8bb7/64 scope link
valid_lft forever preferred_lft forever
Из него видно, что IP-адрес нашего сервера – 176.113.82.65, маска подсети – 255.255.255.0, что в выводе команде зафиксировано как 176.113.82.65/24.
Вторая команда отобразит маршруты, где, кроме всего прочего, можно увидеть IP-адрес нашего шлюза:
# ip -c r
Вот, что получилось у нас:
default via 176.113.82.1 dev eth0
176.113.82.0/24 dev eth0 proto kernel scope link src 176.113.82.65
Здесь указан IP-адрес шлюза для нашего сервера – 176.113.82.1. Эти данные понадобятся нам чуть позже.
Следующим шагом необходимо перейти на страницу загрузок сайта MikroTik и скопировать в буфер обмена ссылку на последнюю стабильную версию RAW-образа в разделе Cloud Hosted Router
. На момент написания статьи это – 7.11.2 Stable
. Если при установке из этого образа возникнут проблемы – попробуйте скопировать версию 6.49.10 Stable
(после успешной установки, её можно будет обновить до последней вручную):
Далее при помощи скопированной ссылки на RAW-образ нужно загрузить его на свой VPS. В нашем примере мы сделали это в директорию /tmp
:
# cd /tmp
# wget https://download.mikrotik.com/routeros/7.7/chr-7.7.img.zip
Теперь, загруженный образ необходимо распаковать:
# unzip chr-7.7.img.zip
Следующим шагом нам нужно будет узнать имя диска на нашем сервере. Для этого мы использовали следующую команду:
# fdisk -l
В нашем примере имя диска – /dev/sda
:
Следующим шагом необходимо перемонтировать файловые системы в режим “только чтение”:
# echo u > /proc/sysrq-trigger
И наконец, на диск /dev/sda
нужно записать распакованный образ:
# dd if=chr-7.7.img of=/dev/sda bs=4M oflag=sync
Следующими командами производится перезагрузка сервера:
# echo 1 > /proc/sys/kernel/sysrq
# echo b > /proc/sysrq-trigger
После выполнения этих команд наш VPS перестанет быть доступен удалённо, так как он загрузится из-под Cloud Hosted Router. Система, с которой загружен сервер пока находится в дефолтном состоянии, и необходимые сетевые настройки на ней отсутствуют.
Первоначальная настройка RouterOS
Для первоначальной настройки RouterOS нужно будет подключиться к серверу в аварийном режиме. Это можно сделать прямо в вашем личном кабинете RUVDS. По умолчанию авторизация в системе происходит при помощи пользователя admin
с пустым паролем. При первом входе нажмите y
или n
(да
или нет
) на запрос о просмотре информации по лицензии:
И установите новый пароль для пользователя admin
:
После чего станет доступна командная строка Cloud Hosted Router.
Для того, чтобы к нашему серверу можно было подключиться удалённо, необходимо настроить его IP-адрес с маской подсети, а также указать IP-адрес шлюза. Эти данные мы сохранили перед тем, как загрузить на сервер RAW-образа RouterOS.
В командной строке введите ip
, после чего нажмите <Enter>
, затем address
и снова <Enter>
, затем add
и опять <Enter>
.
Теперь, необходимо ввести IP-адрес с маской в формате XXX.XXX.XXX.XXX/XXX
. Поскольку в нашем примере, как мы выяснили ранее, IP-адрес – 176.113.82.65
, а маска подсети – 255.255.255.0
, то нам нужно в строке address
набрать 176.113.82.65/24
и нажать <Enter>
. После чего в строке interface
необходимо указать название интерфейса – ether1
:
Далее необходимо добавить в систему шлюз. Для этого поднимитесь в меню на уровень выше набрав две точки ..
и нажав <Enter>
. Следующим шагом наберите route
и нажмите <Enter>
. После чего наберите add gateway XXX.XXX.XXX.XXX
и снова <Enter>
, где XXX.XXX.XXX.XXX
– IP-адрес вашего шлюза. В нашем примере это выглядит следующим образом:
Больше информации по работе с консолью MikroTik RouterOS вы можете найти на их странице, содержащей очень подробное описание команд и операций именно при работе с данной командной строкой.
Чтобы отключиться от командной строки нужно нажать Ctrl D
, после чего можно закрыть окно аварийного режима.
Теперь ваш виртуальный маршрутизатор станет доступен удалённо через веб-интерфейс.
Для удалённого подключения необходимо будет на начальной странице авторизоваться пользователем admin
:
В общем виде интерфейс управления вашим виртуальным маршрутизатором выглядит следующим образом:
Заключение
Таким образом, в данной статье мы увидели как можно установить MikroTik RouterOS на операционную систему Linux. В нашем примере мы развернули RAW-образ, содержащий Cloud Hosted Router, поверх Ubuntu 20.04. После успешной загрузки сервера уже с RouterOS мы подключились к нему в аварийном режиме, так как удалённый доступ отсутствует при первоначальном запуске Cloud Hosted Router. И далее, мы добавили в систему IP-адрес сервера и шлюза для того, чтобы удалённо управлять полноценным виртуальным маршрутизатором, работающем на нашем VPS.
Все работает, поднял впн, но вот скорость почему то меньше мегабита
2022-07-06 at 17:41Алексей, У вас нет лицензии на ROS
2022-07-29 at 15:18Это ограничение лицензии микротика
2022-07-31 at 15:57У кого выскакивает ошибка “xz-compressed data is corrupted” при загрузке, перед копированием образа через dd переведите файловую систему в read-only командой echo u > /proc/sysrq-trigger
2022-08-25 at 11:01Не качаеться образ с сайта микротик ругаеться на сертификаты .как скачать .
2022-10-10 at 13:05После финальной перезагрузки выдаёт error: unknown filesystem
2022-10-10 at 17:08CHR установился нормально, но как настроить доступ к нему извне не получается, адрес у него например 85.85.85.85 с маской 32 (255.255.255.255) а шлюз на сервере 10.0.0.1 (настройки посмотрел на сервере который был установлен до CHR)
2022-10-21 at 13:22/ip address add interface=ether1 address=85.85.85.85 netmask=255.255.255.255
/ip route add gateway=10.0.0.1 dst-address=0.0.0.0/0 distance=1
И нет связи ни со шлюзом ни с инетом (смотрю через подключение по VNC) Что неправильно делаю?
Рабочий конфиг сети на mikrotik:
2022-10-28 at 16:29/ip address add address=/32 interface=ether1 network=10.0.0.1
/ip route add gateway=10.0.0.1
xz-compressed data is corrupted при установка CHR на Ubuntu 20
2022-11-13 at 18:29xz-compressed data is corrupt
2022-12-18 at 12:06— System halted
при загрузке
перед копированием образа через dd переведите файловую систему в read-only командой echo u > /proc/sysrq-trigger не помогло
или в drub rescue вываливается или System halted
2023-04-13 at 01:331 CPU, 0.5Gb, 10Gb HDD
Сделал по инструкции с образом версии 7.10, на выходе ошибка “xz-compressed data is corrupt”.
2023-08-18 at 10:25Сделал тоже самое с версией 6.49, загрузилось норм, после первичной настройки обновил до 7.10, полет отличный
Установил по инструкции версию 7.13.2 на CentOS 9.2 Stream, всё работает
2024-01-25 at 09:52А в чем может быть прикол, все установил, но GUI не открывается, winbox проверяет логин и пароль и что грузит, в чем может быть затык ?
2024-07-04 at 17:54Нужно зайти на виртуальный сервер через аварийную консоль. Если зайти получается, то проверить сетевые настройки. Если не получается, то попробовать переустановить ОС и убедиться что замена ОС Ubuntu на Router OS прошла корректно.
2024-07-04 at 18:06