Управление статическими маршрутами#
Также можно настроить статические маршруты, вручную добавив записи в таблицу маршрутизации. Это может пригодиться, например, если вам не нужно двустороннее соединение между двумя виртуальными сетями, а требуется только доступ к одной виртуальной сети из другой.
Рассмотрим следующий пример:
Виртуальная машина 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.
Предварительные требования
Создан виртуальный маршрутизатор, как описано в разделе Управление виртуальными маршрутизаторами.
Как создать статический маршрут для маршрутизатора
На странице Маршрутизаторы щелкните по имени маршрутизатора. Откройте вкладку Статические маршруты и нажмите Добавить на панели справа. Если не отображается ни одного маршрута, нажмите Добавить статический маршрут.
В окне Добавить статический маршрут укажите диапазон и маску целевой подсети в нотации CIDR и IP-адрес следующего транзитного участка. IP-адрес следующего транзитного участка должен принадлежать одной из сетей, к которым подключен маршрутизатор.

Нажмите Добавить.
Используйте следующую команду:
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 |
+-----------------------+--------------------------------------------------+
Как изменить статический маршрут
Щелкните по значку многоточия рядом с нужным статическим маршрутом и выберите Изменить.
В окне Изменить статический маршрут измените нужные параметры и нажмите Сохранить.
Используйте следующую команду:
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 |
+-----------------------+--------------------------------------------------+
См. также