Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Virtual Private Cloud
  • Начало работы
    • Все инструкции
      • Создать статический маршрут
      • Создать и настроить NAT-шлюз
      • Получить информацию о NAT-шлюзе
      • Перенести таблицу маршрутизации между каталогами
      • Получить информацию о таблице маршрутизации
      • Перенести NAT-шлюз между каталогами
      • Удалить таблицу маршрутизации
      • Удалить NAT-шлюз
    • Включить программно-ускоренную сеть
    • График сетевых соединений
    • Посмотреть операции с ресурсами сервиса
  • DDoS Protection
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Аудитные логи Audit Trails
  • История изменений
  • Вопросы и ответы
  • Обучающие курсы
  1. Пошаговые инструкции
  2. Статическая маршрутизация
  3. Создать статический маршрут

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

Статья создана
Yandex Cloud
Улучшена
Обновлена 6 марта 2025 г.

Примечание

Статический маршрут по умолчанию (0.0.0.0/0) действует на машины с публичными IP-адресами. Если вам требуется создать NAT-инстанс, создайте его в отдельной подсети.

Консоль управления
CLI
Terraform
API

Чтобы создать таблицу маршрутизации и добавить в нее статические маршруты:

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

  2. В списке сервисов выберите Virtual Private Cloud.

  3. На панели слева выберите Таблицы маршрутизации.

  4. Нажмите кнопку Создать.

  5. Задайте имя таблицы маршрутизации. Требования к имени:

    • длина — от 2 до 63 символов;
    • может содержать строчные буквы латинского алфавита, цифры и дефисы;
    • первый символ — буква, последний — не дефис.
  6. (Опционально) Добавьте описание таблицы маршрутизации.

  7. Выберите сеть, в которой требуется создать таблицу маршрутизации.

  8. Нажмите кнопку Добавить маршрут.

  9. В открывшемся окне введите префикс подсети назначения в нотации CIDR.

  10. Укажите Next hop — IP-адрес из разрешенных диапазонов.

  11. Нажмите кнопку Добавить.

  12. Нажмите кнопку Создать таблицу маршрутизации.

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

  1. На панели слева выберите Подсети.
  2. В строке нужной подсети нажмите кнопку .
  3. В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
  4. В открывшемся окне выберите созданную таблицу в списке.
  5. Нажмите кнопку Привязать.

Чтобы создать таблицу маршрутизации и добавить в нее статические маршруты:

  1. Посмотрите описание команды CLI для создания таблиц маршрутизации:

    yc vpc route-table create --help
    
  2. Получите идентификаторы облачных сетей в вашем облаке:

    yc vpc network list
    

    Результат:

    +----------------------+-----------------+
    |          ID          |      NAME       |
    +----------------------+-----------------+
    | enp34hbpj8dq******** | yc-auto-subnet  |
    | enp846vf5fus******** | routes-test     |
    +----------------------+-----------------+
    
  3. Создайте таблицу маршрутизации в одной из сетей:

    yc vpc route-table create \
      --name=<имя_таблицы> \
      --network-id=<идентификатор_сети> \
      --route destination=<префикс_назначения>,next-hop=<внутренний_IP-адрес>
    

    Где:

    • --name — имя таблицы маршрутизации.

    • --network-id — идентификатор сети, в которой будет создана таблица.

    • --route — настройки маршрута, включают два параметра:

      • destination — префикс подсети назначения в нотации CIDR, например 0.0.0.0/0.
      • next-hop — внутренний IP-адрес виртуальной машины из разрешенных диапазонов, через которую будет направляться трафик, например 192.168.1.5.

    Результат:

    ...done
    id: enpsi6b08q2v********
    folder_id: b1gqs1teo2q2********
    created_at: "2019-06-24T09:57:54Z"
    name: test-route-table
    network_id: enp846vf5fus********
    static_routes:
    - destination_prefix: 0.0.0.0/0
      next_hop_address: 192.168.1.5
    

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

  1. Получите список подсетей в вашем облаке:

    yc vpc subnet list
    

    Результат:

    +----------------------+------------------+----------------------+----------------+---------------+------------------+
    |          ID          |       NAME       |      NETWORK ID      | ROUTE TABLE ID |     ZONE      |      RANGE       |
    +----------------------+------------------+----------------------+----------------+---------------+------------------+
    | b0cf2b0u7nhl******** | subnet-1         | enp846vf5fus******** |                | ru-central1-a | [192.168.0.0/24] |
    +----------------------+------------------+----------------------+----------------+---------------+------------------+
    
  2. Привяжите таблицу маршрутизации к одной из подсетей:

    yc vpc subnet update <идентификатор_подсети> \
      --route-table-id <идентификатор_таблицы_маршрутизации>
    

    Результат:

    ..done
    id: b0cf2b0u7nhl********
    folder_id: b1gqs1teo2q2********
    created_at: "2019-03-12T13:27:22Z"
    name: subnet-1
    network_id: enp846vf5fus********
    zone_id: ru-central1-a
    v4_cidr_blocks:
    - 192.168.0.0/24
    route_table_id: enp1sdveovdp********
    

Terraform позволяет быстро создать облачную инфраструктуру в Yandex Cloud и управлять ею с помощью файлов конфигураций. В файлах конфигураций хранится описание инфраструктуры на языке HCL (HashiCorp Configuration Language). При изменении файлов конфигураций Terraform автоматически определяет, какая часть вашей конфигурации уже развернута, что следует добавить или удалить.

Terraform распространяется под лицензией Business Source License, а провайдер Yandex Cloud для Terraform — под лицензией MPL-2.0.

Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform или в зеркале.

Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.

Чтобы создать таблицу маршрутизации и добавить в нее статические маршруты:

  1. Опишите в конфигурационном файле параметры ресурсов, которые необходимо создать:

    • name — имя таблицы маршрутизации. Формат имени:

      • длина — от 2 до 63 символов;
      • может содержать строчные буквы латинского алфавита, цифры и дефисы;
      • первый символ — буква, последний — не дефис.
    • network_id — идентификатор сети, в которой будет создана таблица.

    • static_route — описание статического маршрута:

      • destination_prefix — префикс подсети назначения в нотации CIDR.
      • next_hop_address — внутренний IP-адрес виртуальной машины из разрешенных диапазонов, через которую будет направляться трафик.

    Пример структуры конфигурационного файла:

    resource "yandex_vpc_route_table" "test-route-table" {
    name       = "<имя_таблицы_маршрутизации>"
      network_id = "<идентификатор_сети>"
      static_route {
        destination_prefix = "<префикс_назначения>"
        next_hop_address   = "<внутренний_IP-адрес>"
      }
    }
    

    Чтобы добавить, изменить или удалить таблицу маршрутизации, используйте ресурс yandex_vpc_route_table с указанием на сеть в поле network_id (например, network_id = yandex_vpc_network.test_route_table.id).

    Более подробную информацию о параметрах ресурса yandex_vpc_route_table в Terraform см. в документации провайдера.

  2. Проверьте корректность конфигурационных файлов.

    1. В командной строке перейдите в папку, где вы создали конфигурационный файл.

    2. Выполните проверку с помощью команды:

      terraform plan
      

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

  3. Разверните облачные ресурсы.

    1. Если в конфигурации нет ошибок, выполните команду:

      terraform apply
      
    2. Подтвердите создание ресурсов: введите в терминал слово yes и нажмите Enter.

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

      yc vpc route-table list
      

      Результат:

      +----------------------+-----------------------+-------------+----------------------+
      |          ID          |         NAME          | DESCRIPTION |      NETWORK-ID      |
      +----------------------+-----------------------+-------------+----------------------+
      | enpahlhr1vnl******** | terraform-route-table |             | enp0asmd9pr9******** |
      +----------------------+-----------------------+-------------+----------------------+
      

Чтобы создать таблицу маршрутизации и добавить в нее статические маршруты, воспользуйтесь методом REST API create для ресурса RouteTable или вызовом gRPC API RouteTableService/Create и передайте в запросе:

  • Идентификатор каталога, в котором будет размещена таблица маршрутизации, в параметре folderId.

  • Имя таблицы маршрутизации в параметре name. Формат имени:

    • длина — от 2 до 63 символов;
    • может содержать строчные буквы латинского алфавита, цифры и дефисы;
    • первый символ — буква, последний — не дефис.
  • Идентификатор сети, в которой будет размещена таблица маршрутизации, в параметре networkId.

  • Префикс подсети назначения в нотации CIDR в параметре staticRoutes[].destinationPrefix.

  • Внутренний IP-адрес виртуальной машины, через которую будет направляться трафик, в параметре staticRoutes[].nextHopAddress. IP-адрес должен входить в разрешенный диапазон.

Чтобы использовать статические маршруты, необходимо привязать таблицу маршрутизации к подсети. Воспользуйтесь методом REST API update для ресурса Subnet или вызовом gRPC API SubnetService/Update и передайте в запросе:

  • Идентификатор подсети в параметре subnetId.

    Чтобы узнать идентификатор подсети, воспользуйтесь методом REST API list для ресурса Subnet или вызовом gRPC API SubnetService/List и передайте в запросе идентификатор каталога в параметре folderId.

    О том, как узнать идентификатор каталога, читайте в разделе Получение идентификатора каталога.

  • Идентификатор таблицы маршрутизации в параметре routeTableId.

  • Имя параметра routeTableId в параметре updateMask.

Важно

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

ПримерПример

Создайте таблицу маршрутизации и привяжите ее к подсети. В примере используются следующие тестовые характеристики:

  • Идентификатор каталога — b1g681qpemb4********.
  • Идентификатор сети — enp846vf5fus********.
  • Идентификатор подсети — b0cf2b0u7nhl********.
  • Имя таблицы маршрутизации — test-route-table.
  • Префикс подсети назначения — 0.0.0.0/0.
  • Внутренний IP-адрес — 192.168.1.5.
CLI
Terraform
API
  1. Создайте таблицу маршрутизации:

    yc vpc route-table create \
      --name=test-route-table \
      --network-id=enp846vf5fus******** \
      --route destination=0.0.0.0/0,next-hop=192.168.1.5
    
  2. Привяжите таблицу маршрутизации к подсети:

    yc vpc subnet update b0cf2b0u7nhl******** \
      --route-table-id enp1sdveovdp********
    
  1. Опишите в конфигурационном файле параметры таблицы маршрутизации и укажите параметр route_table_id для подсети:

    resource "yandex_vpc_route_table" "test_route_table" {
      name       = "test-route-table"
      network_id = "enp846vf5fus********"
      static_route {
        destination_prefix = "0.0.0.0/0"
        next_hop_address   = "192.168.1.5"
      }
    }
    
    resource "yandex_vpc_subnet" "example_subnet" {
      name           = "example-subnet"
      network_id     = "enp846vf5fus********"
      zone           = ru-central1-a
      v4_cidr_blocks = ["10.2.0.0/16"]
      # Привязка таблицы маршрутизации к подсети
      route_table_id = yandex_vpc_route_table.test_route_table.id
    }
    

    Более подробную информацию о ресурсах, которые вы можете создать с помощью Terraform, см. в документации провайдера.

  2. Проверьте корректность настроек.

    1. В командной строке перейдите в каталог, в котором расположены актуальные конфигурационные файлы Terraform с планом инфраструктуры.

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

      terraform validate
      

      Если в файлах конфигурации есть ошибки, Terraform на них укажет.

  3. Примените изменения.

    1. Выполните команду для просмотра планируемых изменений:

      terraform plan
      

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

    2. Если вас устраивают планируемые изменения, внесите их:

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

        terraform apply
        
      2. Подтвердите изменение ресурсов.

      3. Дождитесь завершения операции.

  1. Чтобы создать таблицу маршрутизации, воспользуйтесь методом REST API create для ресурса RouteTable или вызовом gRPC API RouteTableService/Create и передайте в теле запроса:

    {
      "folderId": "b1g681qpemb4********",
      "name": "test-route-table",
      "networkId": "enp846vf5fus********",
      "staticRoutes": [
        {
          "destinationPrefix": "0.0.0.0/0",
          "nextHopAddress": "192.168.1.5"
        }
      ]
    }
    
  2. Чтобы привязать таблицу маршрутизации к подсети, воспользуйтесь методом REST API update для ресурса Subnet или вызовом gRPC API SubnetService/Update и передайте в теле запроса:

    {
      "updateMask": "routeTableId",
      "subnet": {
        "routeTableId": "enpfs106jh40********"
      }
    }
    

Была ли статья полезна?

Предыдущая
Удалить статический публичный IP-адрес
Следующая
Создать и настроить NAT-шлюз
Проект Яндекса
© 2025 ООО «Яндекс.Облако»