Skip to content

Развёртывание виртуального маршрутизатора - Mikrotik Cloud Hosted Router (CHR) в Yandex Cloud.

License

Notifications You must be signed in to change notification settings

yandex-cloud-examples/yc-deploy-mikrotik-chr

Repository files navigation

Развёртывание виртуального маршрутизатора - Mikrotik Cloud Hosted Router (CHR) в Yandex Cloud

С помощью данного решения можно развернуть виртуальный маршрутизатор Mikrotik Cloud Hosted Router (CHR) в Yandex Cloud.

Процесс развёртывания CHR в Yandex Cloud состоит из 2х этапов:

  1. Подготовка образа диска для развертывания ВМ. При подготовке образа для развертывания используется оригинальное ПО из раздела Cloud Hosted Router на сайте Mikrotik.
  2. Создание виртуальной машины (ВМ) из подготовленного в п.1 образа диска.

После развёртывания виртуальный маршрутизатор CHR будет доступен только по протоколу SSH (tcp 22) и Winbox (tcp 8291) с указанных IP-адресов, остальные протоколы доступа будут отключены.

Порядок развёртывания

Для выполнения развёртывания необходимо использовать операционную систему Linux или MacOS.

Развёртывание в среде Windows Subsystem for Linux (WSL) не гарантируется!

  1. Убедиться, что все необходимые инструменты для развёртывания установлены и настроены:
  1. Загрузить решение из репозитория на github.com:

    git clone https://github.com/yandex-cloud-examples/yc-deploy-mikrotik-chr.git
  2. Перейти в папку с развёртыванием.

    cd yc-deploy-mikrotik-chr
  3. Выбрать на сайте Mikrotik в разделе Cloud Hosted Router нужную версию для развёртывания.

  4. Подготовить окружение для выполнения развёртывания.

    source ./env-yc.sh
  5. Запустить сборку образа диска для выбранной версии CHR. При запуске сборки необходимо указать:

    ./chr-build-image.sh 7.18.2 b1g28**********yvxc3

    После успешной сборки, в указанном облачном каталоге будет создан образ диска с именем вида mikrotik-chr-<version>, а на экран показаны идентификаторы каталога и созданного в нём образа диска.

    ...
    chr_image_folder_id = "b1g28**********yvxc3"
    chr_image_id = "fd8to**********1ejrf"
    
  6. Заполнить параметры развёртывания ВМ с CHR в файле terraform.tfvars.

    Ниже приведен список параметров с примерами их заполнения. Подробнее со всеми параметрами развёртывания можно ознакомиться в файле variables.tf.

    • zone_id - идентификатор зоны доступности в которой будет развёртываться ВМ, например, ru-central1-d.

    • vpc_subnet_id - идентификатор подсети, куда будет подключаться создаваемая ВМ, например, fl83k**********jbvnt.

    • chr_ip - IP-адрес из подсети vpc_subnet_id для сетевого интерфейса ВМ, например, 10.150.0.150.

    • allowed_ip_list - список доверенных IPv4-адресов от которых будут разрешаться соединения к CHR ВМ. Например, ["10.120.1.0/24", "10.150.0.0/24"]. Поддерживаются только IPv4 адреса. Ограничение доступа обеспечивается механизмом групп безопасности, который будет настроен на сетевом интерфейсе ВМ. В список доверенных IP-адресов автоматически будет добавлен публичный IP-адрес с которого будет выполняться развёртывание (seed_ip).

    • chr_name - имя для виртуального маршрутизатора CHR, например, yc-chr.

    • admin_name - имя для администратора ВМ, например, oper. Учётная запись администратора по-умолчанию admin будет удалена в процессе развёртывания.

    • admin_key_file - путь к файлу с публичным SSH ключём для учётной записи администратора, например, ~/.ssh/id_ed25519.pub.

    • Параметры образа диска, полученные на предыдущем шаге. Могут быть скопированы из вывода процесса сборки образа диска (п.6), например:

      chr_image_folder_id = "b1g28**********yvxc3"
      chr_image_id = "fd8to**********1ejrf"
      

      Если ВМ разворачивается в том же облачном каталоге, где ранее был создан образ, то значение идентификатора каталога можно не указывать (оставить пустым).

  7. Проверить и скорректировать (при необходимости) конфигурацию CHR в файле chr-init.tpl.

  8. Запустить развёртывание CHR с помощью инструмента Terraform.

    terraform apply

    Ожидаемый результат:

    connection-string = "ssh oper@<public-ip-address>"
    
  9. Подключиться к CHR по протоколу SSH с помощью connection-string из предыдущего шага.

    ssh oper@<public-ip-address>

    После подключения к CHR нажать в терминале n или пробел для отказа от просмотра лицензионного соглашения.

    Ожидаемый результат:

    [oper@yc-chr] > 
    

Удаление развёртывания и освобождение ресурсов

  1. Перейти в каталог с развёртыванием.

    cd yc-deploy-mikrotik-chr
  2. Подготовить окружение для удаления развёртывания.

    source ./env-yc.sh
  3. Удалить развёртывание CHR ВМ с помощью инструмента Terraform.

    terraform destroy
  4. Удалить образ диска для CHR ВМ с помощью инструмента YC CLI.

    yc compute image delete --id fd8to**********1ejrf --folder-id b1g28**********yvxc3

About

Развёртывание виртуального маршрутизатора - Mikrotik Cloud Hosted Router (CHR) в Yandex Cloud.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •