Перейти к основному содержимому
Статические маршруты
Последнее изменение:

Статические маршруты

Статическую маршрутизацию можно использовать, если в облачной подсети есть устройство, выполняющее роль маршрутизатора. Например, глобальный роутер, облачный роутер или облачный сервер.

Статические маршруты можно настроить:

  • из приватных подсетей;
  • подсетей глобального роутера;
  • подсетей кросспроектных сетей — только через OpenStack CLI;
  • публичных подсетей — только через OpenStack CLI.

Примеры решаемых задач

Доступ в интернет для сети, подключенной к глобальному роутеру

Например, облачная приватная сеть подключена к глобальному роутеру, и при этом нужно:

  • настроить доступ в интернет для облачных серверов, которые находятся в этой облачной приватной сети;
  • настроить доступ в интернет для приватной сети кластера Managed Kubernetes, чтобы развернуть ноды;
  • использовать публичный адрес для облачного сервера или для балансировщика нагрузки в приватной сети;
  • использовать облачный роутер в качестве шлюза для доступа в интернет для серверов или хостов из других пулов и услуг.

Отправка трафика через облачный сервер (прокси)

Если нужно отправлять трафик до других сетей, можно использовать облачный сервер как шлюз и настроить статическую маршрутизацию. Например:

  • настроить доступ в интернет из подсети;
  • настроить связность с внешней инфраструктурой через VPN.

Настроить статическую маршрутизацию

  1. Создайте статические маршруты.
  2. Пропишите статические маршруты на облачном сервере.
  3. Измените файлы конфигурации сети облачного сервера.
  4. Пропишите статические маршруты на нодах кластера Managed Kubernetes.
  5. Пропишите статические маршруты в кластере облачных баз данных.
  6. Опционально: пропишите статические маршруты на облачном балансировщике нагрузки.

1. Создать статические маршруты

В качестве исходной подсети можно использовать:

  • приватную подсеть;
  • подсеть глобального роутера;
  • подсеть кросспроектных сетей — только через OpenStack CLI;
  • публичную подсеть — только через OpenStack CLI.

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

  1. В панели управления перейдите в раздел Облачная платформаСеть.
  2. Откройте вкладку Приватные сети.
  3. Откройте карточку приватной сети → вкладка Статические маршруты.
  4. Нажмите Создать маршрут.
  5. Выберите исходную подсеть. Можно выбрать приватную подсеть или подсеть глобального роутера.
  6. Введите CIDR подсети назначения — это подсеть, в которую будет направляться трафик.
  7. Введите шлюз (next-hop) — IP-адрес, через который все облачные серверы из исходной подсети будут направлять трафик в подсеть назначения. Можно ввести любой адрес исходной подсети.
  8. Нажмите Добавить.

2. Прописать статические маршруты на облачном сервере

Если в исходной подсети есть облачные серверы, после создания статического маршрута нужно обновить правила маршрутизации — прописать маршруты на всех облачных серверах в подсети. Алгоритм зависит от того, включен ли DHCP в исходной подсети.

  1. Посмотрите, включен ли DHCP исходной подсети. В панели управления перейдите в раздел Облачная платформаСеть. Откройте карточку сети → вкладка Подсети → тумблер DHCP.
  2. Настройте статические маршруты в зависимости от того, включен или выключен DHCP в исходной подсети:

Если в исходной подсети включен DHCP, статические маршруты автоматически пропишутся на серверах в течение 24 часов после создания маршрутов.

Прописать маршруты сразу

Вы можете прописать маршруты сразу, используйте один из вариантов:

  • последовательно выключите и включите облачный сервер;

  • перезапросите информацию от DHCP-сервера на облачном сервере:

    dhclient eth0

    Здесь eth0 — имя интерфейса.

    Добавятся новые маршруты, при этом старые не удалятся;

  • выключите, включите порт и перезапросите информацию у DHCP-сервера на облачном сервере:

    INTERFACE=eth0; ip link set $INTERFACE down && ip link set $INTERFACE up && dhclient $INTERFACE

    Здесь eth0 — имя интерфейса.

    Добавятся новые маршруты, при этом старые не удалятся.


3. Изменить файлы конфигурации сети облачного сервера

Прописать статические маршруты вручную на облачном сервере в исходной подсети нужно, если в подсети выключен DHCP и при этом:

  • облачный сервер создан из образа без агента cloud-init или cloudbase-init;
  • перед созданием статического маршрута в исходной подсети создан облачный сервер из образа с агентом cloud-init или cloudbase-init, при этом в блоке Настройка портов сервера указан параметр Вручную в файле конфигурации сети на сервере.
осторожно

Если в дальнейшем вы включите DHCP в подсети, то прописанные статические маршруты могут перестать работать — DHCP применяет ко всем серверам собственные настройки.

  1. Подключитесь к серверу.

  2. Откройте CLI.

  3. Отключите конфигурирование сети. Для этого создайте файл 99-disable-network-config.cfg:

    echo "network: {config: disabled}" >> /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
  4. Откройте файл конфигурации:

    vi /etc/network/interfaces.d/50-cloud-init.cfg
  5. В конце блока с данными соответствующего сетевого интерфейса добавьте нужный маршрут:

    up route add -net <ip> netmask <netmask> gw <gateway>

    Укажите:

    • <ip> — подсеть, до которой нужен маршрут (например, 192.168.1.0);
    • <netmask> — маска подсети, до которой нужен маршрут (например, 255.255.255.0);
    • <gateway> — шлюз для подсети текущего сервера, который указан на глобальном роутере.
  6. Если вам нужно прописать несколько маршрутов, добавьте их последовательно в том же блоке.

  7. Перезагрузите сервер.

4. Прописать статические маршруты в кластере Managed Kubernetes

Если в исходной подсети есть ноды кластера Managed Kubernetes, после создания статического маршрута обновите правила маршрутизации — последовательно выключите и включите все ноды кластера.

5. Прописать статические маршруты в кластере облачных баз данных

Если в исходной подсети есть кластер облачных баз данных, после создания статического маршрута обновите правила маршрутизации:

6. Опционально: прописать статические маршруты на облачном балансировщике нагрузки

Если в исходной подсети есть облачные балансировщики нагрузки и статическая маршрутизация нужна для вашей конфигурации сети, после создания статического маршрута обновите правила маршрутизации — выполните аварийное переключение амфоры балансировщика: