Введение
(много букав, можно не читать, если не интересны душевные терзания автора).
Доброго времени суток, уважаемые хабровчане.
Сразу скажу, что в сфере IT я не очень давно и многие моменты "батям" системного администрирования могут показаться смешными и/или очевидными (как, к примеру, синтаксис в NIXовых ОС). Прошу сильно не кидаться в меня ссаными тряпками. Скорее всего, вам эта инструкция будет не интересна. Но если дадите какие-то советы, то всегда за них благодарен.
Данная статья сделана на основе инструкции пользователя Iliasla на форуме Mikrotik. Спасибо ему большое за нее. И да, если у кого хорошо с английским, то можно просто воспользоваться оригиналом. По сути, это перевод и чуть более удобное представление.
Информации про выбор хостера, думаю, достаточно и эту тему оставим за рамками данной статьи. Скажу лишь, что задачей было найти азиатского хостера (ну или минимально завязанного на западные страны, по понятным причинам) с азиатскими же локациями расположения серверов. Страна должна иметь максимально лояльное отношение к другим странам. Эти условия были выполнены частично, т.к. одним из владельцев хостинга является американская компания.
![](https://habrastorage.org/getpro/habr/upload_files/135/ece/667/135ece6671d79e62be83f00843d46842.png)
Стоит также отметить, что у данного хостера нет возможности залить образ ОС!!! на виртуальный сервер.
Кроме того, на Хабре уже была статья про установку Mikrotik CHR на VPS, но как следует из предыдущего тезиса, она не совсем подойдет в данном случае.
Инструкция по установке Mikrotik CHR на виртуальный сервер хостера vpsserver.
Регистрируемся на хостинге и создаем новый сервер.
На втором шаге выбираем тип операционной системы. Нам понадобится CentOS.
![](https://habrastorage.org/getpro/habr/upload_files/0e8/890/578/0e889057897df8ede289153955fd336d.png)
На этапе 3 выбираем минимальную конфигурацию. Много ресурсов для него нам не потребуется.
Никаких дополнительных опций в обязательном порядке подключать не требуется. В общем то, даже периодический бэкап не имеет смысла, т.к. есть возможность сделать бэкап в ручном режиме, частая смена конфигураций сервера нам не грозит, а сам микротик имеет великолепную функцию песочницы - включается безопасный режим и даже если что-то накосорезил, то он сам вернет всё как было если что-то пойдет не по плану.
И вот у нас запущен VPS со стандартной минимальной ОС.
![](https://habrastorage.org/getpro/habr/upload_files/74a/a71/b30/74aa71b303f62eab78457f7fe40a12b7.png)
Запускаем PuTTY, подключаемся к нашему серверу используя логин и пароль, заданные нами в веб-интерфейсе.
![](https://habrastorage.org/getpro/habr/upload_files/716/527/eb2/716527eb2cf847ac68cc30a3406e2f46.png)
Дальше собственно начинается сама инструкция, что делать с сервером.
Устанавливаем всё необходимое. Так как CentOS это один из самых легких и как следствие пустых дистрибутивов Linux, то и необходимые пакеты необходимо доустанавливать вручную. Везде добавлял ключ
-y
т.к. ленивая жопа и мне лень каждый раз соглашаться - он позволяет отвечать на все вопросы при установке "да".
Скорее всего, потребуется добавить репозиторий пакетов.
cd /etc/yum.repos.d/
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|eurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
Устанавливаем текстовый редактор nano.
yum install nano -y
Устанавливаем аналог Norton Commander (да, да, вот тут от линуксоидов сейчас в меня полетят ссаные тряпки, о которых говорил раньше, но через него реально удобно проверять, всё ли прошло успешно).
yum install mc -y
Устанавливаем архиватор.
yum install unzip -y
Обновляем всё, что только можно
yum update -y
yum upgrade -y
Через веб-интерфейс перезагружаем сервер в режиме восстановления. Это обязательно!!! Если не сделать этого, то наш сервер превратится в тыкву и в конце концов нам его заблокируют т.к. CPU будет работать на 146%. Придется писать в техподдержку что бы разблокировали и запускать ребилд после чего начинать всё заново, т.к. ОС будет повреждена.
![](https://habrastorage.org/getpro/habr/upload_files/d7e/50e/e89/d7e50ee89e6da019a91a784cf3ee6402.png)
Узнаем и записываем изначальные сетевые настройки своего сервера (нас интересует сетевой интерфейс (скорее всего он будет eth0), маска сети (скорее всего 255.255.255.0), адрес шлюза (скорее всего тот же, что и адрес сервера только с нулем на конце).
ifconfig
ip route
Снова через PuTTY подключаемся к серверу и монтируем раздел tmp
mount -t tmpfs tmpfs /tmp/
На сайте Микротика выбираем необходимый дистрибутив в формате RAW и копируем ссылку на него для последующей загрузки. На момент написания статьи стабильной версией является 7.1.3.
![](https://habrastorage.org/getpro/habr/upload_files/a96/733/b12/a96733b121904a74f6a8c282d274a6d9.png)
В командной строке переходим в смонтированную директорию и загружаем туда архив:
cd /tmp
wget https://download.mikrotik.com/routeros/7.1.3/chr-7.1.3.img.zip
Затем разархивируем
unzip chr-7.1.3.img.zip
Необходимо определить имя диска.
fdisk -l
В нашем случае это диск /dev/vda
Разворачиваем образ на диск.
dd if=chr-7.1.3.img of=/dev/vda bs=4M oflag=sync
Проверяем, что теперь у нас два диска (vda1 и vda2)
fdisk -l | grep da
Запускаем Midnight Commander (олдфаги вытирают слезы ностальгии о Norton Commander).
mc
Монтируем развернутый образ
mount /dev/vda1 /media/vda1
Переходим в папку /media/vda1 и создаем папку boot и внутри папку grub2. В результате должна получиться следующая структура папок:
/media/vda1/boot/grub2/
Внутри получившейся папки запускаем текстовый редактор nano (в нижней строке Midnight Commander есть командная строка):
nano
В открывшийся текстовый файл копируем следующие три строчки:
setparams 'Grub 2'
set root=(hd0,msdos1)
chainloader +1
![](https://habrastorage.org/getpro/habr/upload_files/7d5/72b/3d5/7d572b3d521080c63e1562b9d53ccade.png)
Нажимаем Ctrl+X, соглашаемся, что файл будет записан (Y + Enter) и даем название файлу grub2.cfg
![](https://habrastorage.org/getpro/habr/upload_files/f3f/8f5/0c5/f3f8f50c532027de3970a36afb5e1f7b.png)
В папке должен появиться файл с конфигурацией загрузчика grub2.cfg
Выходим из всех папок в Midnight Commander в корневой каталог и затем выходим из Midnight Commander.
Записываем все данные из памяти и размонтируем образ
sync
umount /dev/vda1
(не обязательно) Проверяем, что диск размонтирован. Запускаем Midnight Commander, переходим в папку /media/vda1. Она должна быть пустой.
Закрываем Midnight Commander и через командную строку перезагружаем сервер:
echo 1 > /proc/sys/kernel/sysrq
echo b > /proc/sysrq-trigger
После выполнения второй команды связь оборвется.
В веб-интерфейсе хостера перезагружаем сервер уже в нормальном режиме (т.к. после перезапуска он снова будет запущен в режиме восстановления):
![](https://habrastorage.org/getpro/habr/upload_files/3a4/659/af9/3a4659af94a57bc90088933980852e0c.png)
Ждем, когда сервер закончит перезагружаться (вместо статуса Pending должен появиться статус Running).
![](https://habrastorage.org/getpro/habr/upload_files/dcc/c7c/e28/dccc7ce28b3d389b4cf4f51ac56f6ef6.png)
Там же в веб-интерфейсе открываем консоль и назначаем пароль.
![](https://habrastorage.org/getpro/habr/upload_files/6ec/5ef/8c2/6ec5ef8c23495683bc50f88251e13fa3.png)
Осталось прописать сетевые настройки для последующего подключения через winbox. В командной строке после авторизации пишем (да, она показалась какой-то кривой и копипастить у меня не получилось - вероятно, придется писать ручками):
/ip address add address=YOUR.IP.ADD.RESS/MASK
Эти данные мы получили в пункте 3.
/ip route add gateway=YOUR.GATE.WAY.IP
Стоит обратить внимание, что скорее всего, так как микротик переписывает полностью раздел, соответственно и адрес шлюза скорее всего поменяется на стандартный микротика. То есть, вместо ноля на конце адреса шлюза будет единица.
Можно проверить в той же командной строке, прописался ли проброс маршрута командой ip route
Если настроено всё правильно, то отправив, к примеру, ping 8.8.8.8
мы увидим, что пакеты отправляются. Если они теряются, то что-то настроено неправильно.
Всё, можно подключаться через winbox (ссылка на скачивание).
(не обязательно, но очень рекомендуется) Так как практически вся настройка Микротика выполняется через winbox, то в целях безопасности лучше всё лишнее отключить.
![](https://habrastorage.org/getpro/habr/upload_files/56e/601/e4a/56e601e4a354b69ac8238b545c500a1c.png)
Остальную настройку описывать не вижу смысла, т.к. возможностей и соответственно задач, для чего нужно настраивать Mikrotik CHR, огромное количество. К тому же, мне самому в ближайшее время предстоит разбираться в функционале.
Данная же статья написана лишь потому, что сам потратил много времени (по большей части в силу своей неопытности) и что бы другие могли пройти мимо всех граблей, по которым я в течении недели устраивал забеги.
Дополнительный дисклеймер:
Эту статью писал "по свежим следам", но для ее написания повторно проходить все шаги не готов. Поэтому, где-то могут быть неточности (но по идее не должно быть). Если что - пишите в комментарии вопросы, где случились "затыки". Постараюсь вспомнить и подсказать.
Всем удачи.