Управление статическими маршрутами

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

Рассмотрим следующий пример:

  • Виртуальная машина VM1 подключена к виртуальной сети private1 (192.168.128.0/24) через сетевой интерфейс с IP-адресом 192.168.128.10.
  • Виртуальная машина VM2 подключена к виртуальной сети private2 (192.168.30.0/24) через сетевой интерфейс с IP-адресом 192.168.30.10.
  • Маршрутизатор router1 соединяет сеть private1 с физической сетью через внешний шлюз с IP-адресом 10.94.129.73.
  • Маршрутизатор router2 соединяет сеть private2 с физической сетью через внешний шлюз с IP-адресом 10.94.129.74.

Для обеспечения доступа к VM2 с VM1 необходимо добавить статический маршрут для router1, указав CIDR сети private2, то есть 192.168.30.0/24, в качестве целевой подсети и IP-адрес внешнего шлюза router2, то есть 10.94.129.74, в качестве IP-адреса следующего транзитного участка. В этом случае, когда IP-пакет для 192.168.30.10 поступает на маршрутизатор router1, он перенаправляется на router2, а затем на VM2.

Предварительные требования

Как создать статический маршрут для маршрутизатора

Панель администратора

  1. На странице Маршрутизаторы щелкните по имени маршрутизатора. Откройте вкладку Статические маршруты и нажмите Добавить на панели справа. Если не отображается ни одного маршрута, нажмите Добавить статический маршрут.
  2. В окне Добавить статический маршрут укажите диапазон и маску целевой подсети в нотации CIDR и IP-адрес следующего транзитного участка. IP-адрес следующего транзитного участка должен принадлежать одной из сетей, к которым подключен маршрутизатор.

  3. Нажмите Добавить.

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute router set --route <destination=destination,
                                  nexthop=nexthop> <router>
--route <destination=destination,nexthop=nexthop>

Статический маршрут для маршрутизатора. Этот параметр можно использовать несколько раз.

  • destination — целевая подсеть в нотации CIDR.
  • nexthop — IP-адрес следующего транзитного участка в одной из сетей, к которым подключен маршрутизатор.
<router>
Имя или идентификатор виртуального маршрутизатора.

Например, чтобы создать статический маршрут для виртуального маршрутизатора myrouter с подсетью назначения 192.128.30.0/24 и IP-адресом следующего транзитного участка 10.94.129.74, выполните:

# vinfra service compute router set myrouter --route destination=192.128.30.0/24,nexthop=10.94.129.74
+-----------------------+--------------------------------------------------+
| Field                 | Value                                            |
+-----------------------+--------------------------------------------------+
| external_gateway_info | enable_snat: false                               |
|                       | ip_addresses:                                    |
|                       | - 10.94.129.76                                   |
|                       | network_id: 720e45bc-4225-49de-9346-26513d8d1262 |
| id                    | b9d8b000-5d06-4768-9f65-2715250cda53             |
| name                  | myrouter                                         |
| project_id            | 894696133031439f8aaa7e4868dcbd4d                 |
| routes                | - destination: 192.128.30.0/24                   |
|                       |   nexthop: 10.94.129.74                          |
| status                | ACTIVE                                           |
+-----------------------+--------------------------------------------------+

Как изменить статический маршрут

Панель администратора

  1. Щелкните по значку многоточия рядом с нужным статическим маршрутом и выберите Изменить.
  2. В окне Изменить статический маршрут измените нужные параметры и нажмите Сохранить.

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute router set --route <destination=destination,
                                  nexthop=nexthop> <router>
--route <destination=destination,nexthop=nexthop>

Статический маршрут для маршрутизатора. Этот параметр можно использовать несколько раз.

  • destination — целевая подсеть в нотации CIDR.
  • nexthop — IP-адрес следующего транзитного участка в одной из сетей, к которым подключен маршрутизатор.
<router>
Имя или идентификатор виртуального маршрутизатора.

Например, чтобы задать статический маршрут для виртуального маршрутизатора myrouter с подсетью назначения 192.168.30.0/24 и IP-адресом следующего транзитного участка 10.94.129.15, выполните:

# vinfra service compute router set myrouter --route destination=192.168.30.0/24,nexthop=10.94.129.15
+-----------------------+--------------------------------------------------+
| Field                 | Value                                            |
+-----------------------+--------------------------------------------------+
| external_gateway_info | enable_snat: false                               |
|                       | ip_addresses:                                    |
|                       | - 10.94.129.76                                   |
|                       | network_id: 720e45bc-4225-49de-9346-26513d8d1262 |
| id                    | b9d8b000-5d06-4768-9f65-2715250cda53             |
| name                  | myrouter                                         |
| project_id            | 894696133031439f8aaa7e4868dcbd4d                 |
| routes                | - destination: 192.168.30.0/24                   |
|                       |   nexthop: 10.94.129.15                          |
| status                | ACTIVE                                           |
+-----------------------+--------------------------------------------------+

Как удалить статический маршрут

Панель администратора

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

Интерфейс командной строки

Используйте следующую команду:

vinfra service compute router set --no-route <router>
--no-route
Очистка маршрутов, связанных с маршрутизатором.
<router>
Имя или идентификатор виртуального маршрутизатора.

Например, чтобы удалить все статические маршруты виртуального маршрутизатора myrouter, выполните:

# vinfra service compute router set myrouter --no-route
+-----------------------+--------------------------------------------------+
| Field                 | Value                                            |
+-----------------------+--------------------------------------------------+
| external_gateway_info | enable_snat: false                               |
|                       | ip_addresses:                                    |
|                       | - 10.94.129.76                                   |
|                       | network_id: 720e45bc-4225-49de-9346-26513d8d1262 |
| id                    | b9d8b000-5d06-4768-9f65-2715250cda53             |
| name                  | myrouter                                         |
| project_id            | 894696133031439f8aaa7e4868dcbd4d                 |
| routes                | []                                               |
| status                | ACTIVE                                           |
+-----------------------+--------------------------------------------------+