Маршрутизация с помощью NAT-инстанса
В Yandex Cloud можно настроить связь нескольких виртуальных машин с интернетом через NAT-инстанс с помощью статической маршрутизации. При этом будет использован только один публичный IP-адрес — тот, который присвоен виртуальной машине.
Чтобы настроить маршрутизацию через NAT-инстанс:
- Подготовьте облако к работе.
- Создайте сеть, подсеть и тестовую ВМ.
- Создайте и настройте NAT-инстанс.
- Настройте статическую маршрутизацию в облачной сети.
- Проверьте работу NAT-инстанса.
Если NAT-инстанс больше не нужен, удалите его.
Подготовьте облако к работе
Перед работой нужно зарегистрироваться в Yandex Cloud и создать платежный аккаунт:
- Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь, если вы еще не зарегистрированы.
- На странице биллинга убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе
ACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.
Подробнее об облаках и каталогах.
Необходимые платные ресурсы
В стоимость поддержки NAT-инстанса входит:
- плата за постоянно запущенные виртуальные машины (см. тарифы Yandex Compute Cloud);
- плата за использование динамического внешнего IP-адреса (см. тарифы Yandex Virtual Private Cloud).
Создайте сеть, подсеть и тестовую ВМ
- Создайте облачную сеть с любым именем, например
my-vpc
. - Создайте в облачной сети подсеть для NAT-инстанса с любым именем, например
public-subnet
. Не привязывайте к ней таблицы маршрутизации. - Создайте в облачной сети еще одну подсеть, например
private-subnet
. - Создайте тестовую виртуальную машину без публичного IP-адреса и подключите ее к подсети
private-subnet
.
Создайте NAT-инстанс
Создайте виртуальную машину, которая будет использоваться для доступа в интернет.
- Откройте ваш каталог и нажмите кнопку Создать ресурс. Выберите пункт Виртуальная машина.
- Укажите имя виртуальной машины, например
nat-instance
. - Выберите зону доступности, где находится подсеть
public-subnet
. - В блоке Выбор образа/загрузочного диска перейдите на вкладку Cloud Marketplace и выберите образ NAT-инстанс.
- В блоке Сетевые настройки выберите требуемую сеть, подсеть и назначьте NAT-инстансу публичный IP-адрес из списка или автоматически.
- В поле Доступ укажите логин и SSH-ключ для доступа к ВМ.
- Нажмите кнопку Создать ВМ.
Настройте статическую маршрутизацию
Примечание
При создании NAT-инстанса автоматически настраивается только один сетевой интерфейс. Остальные интерфейсы при необходимости можно включить вручную. Каждому интерфейсу необходимо назначить IP-адрес и прописать для него маршрут в таблице маршрутизации (в каждой подсети корректным шлюзом будет первый адрес — x.x.x.1).
Настройте маршрутизацию между NAT-инстансом и тестовой виртуальной машиной.
Создайте таблицу маршрутизации и добавьте в нее статический маршрут:
-
Откройте раздел Virtual Private Cloud в каталоге, где требуется создать статический маршрут.
-
Выберите сеть
my-vpc
. -
Нажмите кнопку
Создать таблицу маршрутизации. -
Задайте имя таблицы маршрутизации, например
nat-instance-route
.- Длина — от 3 до 63 символов.
- Может содержать строчные буквы латинского алфавита, цифры и дефисы.
- Первый символ — буква. Последний символ — не дефис.
-
Нажмите кнопку Добавить маршрут.
-
В открывшемся окне введите префикс подсети назначения
0.0.0.0/0
. -
В поле Next hop укажите внутренний IP-адрес NAT-инстанса. Нажмите кнопку Добавить.
-
Нажмите кнопку Создать таблицу маршрутизации.
Чтобы использовать статические маршруты, необходимо привязать таблицу маршрутизации к подсети, где находятся виртуальные машины, в примере — private-subnet
. Для этого:
- В строке подсети с тестовой ВМ нажмите кнопку
- В открывшемся меню выберите пункт Привязать таблицу маршрутизации.
- В открывшемся окне выберите таблицу
nat-instance-route
из списка. - Нажмите кнопку Привязать.
Созданный маршрут можно применять и к другим подсетям в той же сети, кроме подсети, где находится NAT-инстанс.
Проверьте работу NAT-инстанса
-
Подключитесь по
ssh
к NAT-инстансу:ssh <публичный IP-адрес NAT-инстанса>
-
Через NAT-инстанс подключитесь по SSH к тестовой ВМ в той же подсети:
ssh <внутренний IP-адрес ВМ>
-
Убедитесь, что доступ в интернет ВМ получает через публичный IP-адрес NAT-инстанс. Введите в терминале команду:
curl ifconfig.co
Если команда вернет публичный IP-адрес NAT-инстанса, то все настроено правильно.
Удалите созданные ресурсы
Если вам больше не нужен NAT-инстанс, удалите ВМ nat-instance
.