VK Cloud logo
Обновлена 25 апреля 2024 г. в 09:18

Использование продвинутого маршрутизатора

Продвинутый маршрутизатор позволяет связать сеть, которая находится в вашей локальной инфраструктуре, с виртуальными сетями и подсетями VK Cloud без использования выделенной виртуальной машины в качестве маршрутизатора. Это упрощает обмен данными за счет возможности динамической маршрутизации по протоколу BGP.

Чтобы показать настройку продвинутого маршрутизатора, по BGP-протоколу будут связаны две независимые сети:

  • Клиентская сеть — внутренняя сеть заказчика, которая может не иметь доступа к интернету.
  • Виртуальная сеть — находится в VK Cloud и подключена к платформенному маршрутизатору.

Подготовительные шаги

  1. Убедитесь, что клиент OpenStack установлен, и пройдите аутентификацию в проекте.

  2. Выберите клиентскую сеть в вашей локальной инфраструктуре:

    • Сеть должна быть подключена к маршрутизатору, который:
      • поддерживает соединение по BGP-протоколу;
      • (опционально) может поддерживать BFD-протокол: это позволит сократить время сходимости протоколов маршрутизации;
      • может быть устройством или виртуальной машиной в клиентской сети.
    • Сеть может не иметь доступа к интернету.

    Если подходящей сети нет, создайте ее.

    Запишите следующую информацию:

    • имя и IP-адрес подсети;
    • имя сети, в которой находится подсеть;
    • IP-адрес машины в подсети, которая будет использоваться для проверки связи между сетями;
    • имя BGP-маршрутизатора.
  3. Выберите или создайте виртуальную сеть с доступом к интернет в VK Cloud. Используйте уже существующий маршрутизатор с подключением к внешней сети или создайте новый.

    Запишите следующую информацию:

    • имя и IP-адрес подсети;
    • имя сети, в которой находится подсеть;
    • имя маршрутизатора.
  4. Создайте виртуальную машину в выбранной сети. Добавьте доступ по SSH и отключите резервное копирование.

    Запишите IP-адрес ВМ.

  5. Обратитесь в техническую поддержку, чтобы подключить в ваш проект сеть для организации выделенного канала подключения (сетевой стык).

    Когда сеть будет предоставлена, запишите ее имя, имя и IP-адрес подсети.

  6. Убедитесь, что собраны все сведения, необходимые для дальнейшей работы.

Для примера далее используются следующие данные:

Объект
Клиентская сеть
Виртуальная сеть
Сетевой стык
Имя сети
customer-net
vkcloud-net
x-net
Имя и IP-адрес подсети
customer-subnet, 10.0.0.0/24
vkcloud-subnet, 172.17.0.0/24
x-subnet, 172.20.2.0/24
IP-адрес машины в подсети
10.0.0.5
172.17.0.8
Имя BGP-маршрутизатора
MikroTik

Схема предварительной подготовки сетей выглядит следующим образом:

Схема предварительной подготовки сетей

1. Добавьте продвинутый маршрутизатор

  1. В личном кабинете перейдите в раздел Виртуальные сетиМаршрутизаторы.
  2. Нажмите кнопку Добавить маршрутизатор.
  3. Выберите тип Продвинутый. Если в проекте не доступен продвинутый маршрутизатор, обратитесь в техническую поддержку.
  4. Введите название маршрутизатора. В этом примере — advanced-router.
  5. Нажмите кнопку Создать.

2. Настройте сетевые интерфейсы продвинутого маршрутизатора

Чтобы организовать передачу данных между независимыми сетями, нужно добавить интерфейсы продвинутому маршрутизатору:

  • Направленные в сеть, где расположен маршрутизатор — vkcloud-net. Эти интерфейсы используются для подключения к машинам внутри сети. Количество таких интерфейсов зависит от структуры сети.
  • Направленный в сетевой стык — x-net. Этот интерфейс поможет организовать связность между VK Cloud и локальной сетью заказчика.

Для добавления интерфейсов:

  1. Перейдите на вкладку маршрутизатора Интерфейсы.
  2. Добавьте интерфейс в виртуальную сеть:
    1. Нажмите кнопку Добавить интерфейс.

    2. Укажите параметры интерфейса:

      • Название: vkcloud-net-iface;
      • Подсеть: vkcloud-subnet;
      • IP-адрес интерфейса: 172.17.0.100.
    3. Нажмите кнопку Создать.

  3. Добавьте интерфейс в сетевой стык:
    1. Нажмите кнопку Добавить интерфейс.

    2. Укажите параметры интерфейса:

      • Название: x-net-iface;
      • Подсеть: x-subnet;
      • IP-адрес интерфейса: 172.20.2.215.
    3. Нажмите кнопку Создать.

3. Настройте сетевые интерфейсы BGP-маршрутизатора клиентской сети

  1. Добавьте сетевые интерфейсы:

    • Направленный в сетевой стык — x-net. Этот интерфейс поможет организовать связность между VK Cloud и локальной сетью заказчика.
    • Направленные в клиентскую сеть, где расположен BGP-маршрутизатор Эти интерфейсы используются для подключения к ресурсам внутри сети. Количество таких интерфейсов зависит от структуры сети.

    В этом примере:

    • 172.20.2.204/24 — интерфейс в сетевой стык x-net;
    • 10.0.0.15/24 — интерфейс в клиентскую сеть до виртуальной машины 10.0.0.5.
  2. Настройте интерфейсы с использованием DHCP.

  3. Настройте системный идентификатор (System ID).

  4. Подготовьте список сетей для BGP-анонса.

  5. (Опционально) Если маршрутизатор поддерживает BFD, настройте BFD-протокол.

4. Настройте BGP-соседство для продвинутого маршрутизатора

Чтобы настроить связь по BGP-протоколу, нужно добавить динамические маршруты и указать BGP-соседей. Для динамической маршрутизации требуются номера автономных сетей — ASN. Если вашей сети присвоен ASN, используйте его. Если ASN не присвоен, используйте номер из диапазона 6451265534 — эти номера могут быть назначены для приватных автономных сетей. В примере будут использованы следующие номера:

  • 65512 для сети customer-net;
  • 64512 для сети vkcloud-net.

Чтобы настроить динамические маршруты для advanced-router:

  1. В личном кабинете перейдите в раздел Виртуальные сетиМаршрутизаторы.

  2. Откройте добавленный продвинутый маршрутизатор и перейдите на вкладку Динамическая маршрутизация.

  3. Нажмите кнопку Создать BGP маршрутизатор.

  4. Укажите параметры BGP-маршрутизатора:

    • Название: to-MikroTik;
    • Router ID: 172.20.2.215;
    • ASN: 64512.
  5. Нажмите кнопку Создать.

  6. Откройте добавленный BGP-маршрутизатор и перейдите на вкладку BGP соседи.

  7. Добавьте BGP-соседа. Укажите параметры:

    • Название: MikroTik;
    • Remote neighbor: 172.20.2.204;
    • Remote ASN: 65512.
  8. Нажмите кнопку Создать.

Убедитесь, что маршрутизатор установил связь с соседом: маркер рядом с названием зеленый, а BFD включен.

Продвинутый маршрутизатор начнет передавать BGP-анонсы своему соседу. Перейдите на вкладку BGP анонсы и убедитесь, что маршрутизатор передает анонсы всех сетей, в которые направлены его интерфейсы:

  • 172.17.0.0/24;
  • 172.20.2.0/24.

Оба анонса должны иметь зеленые маркеры.

5. Настройте BGP-соседство для маршрутизатора клиентской сети

  1. Подключитесь в маршрутизатору в вашей локальной сети.

  2. Укажите параметры для подключения по BGP-протоколу:

    • ASN локальной сети: 65512;
    • ID маршрутизатора: 172.20.2.204;
    • ASN внешней сети: 64512;
    • ID BGP-соседа: 172.20.2.215;
    • использовать BFD.
  3. (Опционально) Проверьте, что установлена связь по BFD-протоколу.

  4. Проверьте, что установлена связь с BGP-соседом. Если BGP соединение установлено, в ответе должны прийти значения keepalive-time и uptime, отличные от нуля.

  5. Просмотрите все доступные BGP-маршруты. В списке маршрутов должны быть указаны сети 172.17.0.0/24 и 172.20.2.0/24.

6. Настройте статические маршруты между сетями

  1. Настройте статический маршрут от виртуальной сети vkcloud-net до клиентской сети customer-net через продвинутый маршрутизатор:

    1. В личном кабинете перейдите в раздел Виртуальные сетиСети.
    2. Выберите сеть vkcloud-net и откройте свойства подсети.
    3. Выберите Показывать поле статических маршрутов.
    4. Укажите маршрут: 10.0.0.0/24 - 172.17.0.100.
    5. Нажмите кнопку Сохранить.
  2. Настройте статический маршрут от клиентской сети customer-net до виртуальной сети vkcloud-net через BGP-маршрутизатор клиентской сети. Маршрут должен быть к 172.17.0.0/24 через 10.0.0.15.

  3. Перезагрузите машины 172.17.0.8 и 10.0.0.5, чтобы маршруты попали в их маршрутную сеть.

  4. Проверьте, что статические маршруты прописаны на ВМ 172.17.0.8, которая находится в виртуальной сети vkcloud-net:

    1. Откройте сессию терминала с ВМ vkcloud-vm.

    2. Выполните команду:

      ip route

      В списке маршрутов должны быть указаны сети 10.0.0.0/24 и 172.20.2.0/24.

  5. Проверьте список маршрутов для машины 10.0.0.5, которая находится в клиентской сети customer-net. В списке маршрутов должны быть указаны сети 172.17.0.0/24 и 172.20.2.0/24.

7. Проверьте работоспособность

Для проверки отправьте ping или traceout до машины в противоположной сети. Если из другой сети приходит ответ, то настройка связности сетей выполнена правильно.

Например, выполните пинг с машины 172.17.0.8 в виртуальной сети до машины 10.0.0.5 в клиентской сети:

  1. Откройте сессию терминала с ВМ vkcloud-vm.

  2. Выполните пинг внутреннего IP-адреса машины в клиентской сети:

    ping 10.0.0.5

IP-адрес должен отвечать на пинг.

Схема выстроенного взаимодействия между сетями и машинами внутри сетей выглядит следующим образом:

Схема взаимодействия между сетями

Удалите неиспользуемые ресурсы

Если созданные ресурсы вам больше не нужны, удалите их:

  1. Удалите виртуальную машину.
  2. Удалите маршрутизаторы.
  3. Удалите подсеть и сеть, в которой была размещена ВМ.