Skip to content

Настройка правил NAT

Трансляция сетевых адресов (NAT) — это процедура замены IP-адресов и портов в заголовке IP-пакетов. Чаще всего NAT используется, чтобы подменить IP-адрес и порт во внутренней сети на внешний IP-адрес и порт шлюза.

Основная цель использования NAT — преодоление нехватки адресов IPv4. В нашей инфраструктуре используется тип NAT Один ко многим, т.е. множество локальных адресов отображаются на один внешний IP-адрес шлюза. Именно с его помощью можно подключать к сети Интернет большие сети используя лишь один внешний IP-адрес.

Создание правила

Для создания правила необходимо открыть вкладку NAT в детализации шлюза и нажать кнопку Добавить.

Рисунок 1. Создание правила NAT

Пользователь может создавать три типа правил: SNAT, DNAT и BINAT.

SNAT

SNAT (Source NAT) изменяет IP-адрес исходящего сетевого пакета с данными на другой IP-адрес. Сценарий использования: маскировка и сокрытие локальных (частных) IP-адресов устройств для повышения конфиденциальности и безопасности.

DNAT

DNAT (Destination NAT) используется для преобразования целевого IP-адреса сетевого пакета в другой IP-адрес. Сценарий использования: маскировка внешних IP-адресов и их дальнейшая замена IP-адресом шлюза.

BINAT

BINAT (Bidirectional NAT) устанавливает сопоставление один-к-одному между внутренним IP-адресом и внешним адресом. Сценарий использования: обеспечение внутреннего IP-адреса сети собственным внешним IP-адресом.

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

  • Протокол - тип протокола, доступно: TCP, ICMP, UDP и IP;

  • Источник - для SNAT как правило адрес частной сети или IP-адрес сервера в частной сети. Для DNAT внешние сети и IP-адреса. Для BINAT как правило IP-адрес сервера в частной сети. Допустимые значения: IP-адрес сервера, адрес сети в CIDR-формате или any.

  • Назначение - для SNAT обычно это внешние сети и IP-адреса. Для DNAT адрес частной сети или IP-адрес сервера в частной сети. Для BINAT, IP-адреса во внешней сети. Допустимые значения: IP-адрес сервера, адрес сети в CIDR-формате или any.

  • Порт назначения/Транслируемый порт - при выборе протокола TCP, UDP возможно указать порт или any. Для правила типа BINAT указать конкретный порт нельзя.

  • Транслируемый IP - внешний адрес шлюза в сети, это значение вводится автоматически и не может быть изменено.

Перенаправление ICMP пакетов

Создадим правило типа SNAT. После заполнения полей нажмите Сохранить.

Рисунок 2. Создание правила типа SNAT

В приведённом примере правило #0 типа SNAT транслирует IP-адреса серверов из сети 10.0.0.0/24 на IP-адрес шлюза 111.112.113.114 для пакетов переданных по протоколу ICMP.

Рисунок 3. Правило типа SNAT

Добавим правило #1 типа DNAT.

Рисунок 4. Создание правила типа DNAT

Правило #1 будет переадресовывать все пакеты, приходящие на шлюз 111.112.113.114 из сети Интернет по протоколу ICMP на локальный адрес сервера 10.0.0.3.

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

Работу правил #0 и #1 можно объединить в одно BINAT правило.

Рисунок 5. Правило типа BINAT

Перенаправление TCP пакетов

Рассмотрим правила для подключения к серверу в частной сети с IP-адресом 10.0.0.3 по SSH через 22 порт по протоколу TCP с конкретного IP 131.132.133.134:

  • #0 перенаправляет пакеты данных от источника 131.132.133.134, приходящие на 22 порт шлюза 111.112.113.114, на локальный адрес сервера 10.0.0.3.
  • #1 изменяет локальный IP-адрес сервера 10.0.0.3 на транслируемый IP-адрес шлюза 111.112.113.114 для определённого адреса 131.132.133.134.

Рисунок 6. Перенаправление TCP пакетов

Таким образом, подключение к серверу с 10.0.0.3 через 22 порт по SSH-соединению доступно только с определённого IP-адреса 131.132.133.134. Подключение с любого другого адреса будет вызывать ошибку.

Для успешного подключения по SSH с любого адреса необходимо указать any вместо 131.132.133.134. Или заменить на соответствующее BINAT правило.

Рисунок 7. Перенаправление TCP пакетов

Перенаправление IP пакетов

Отличие NAT правил для протокола IP в том, что для него нельзя указать конкретный порт.

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

  • #0 перенаправляет входящие на адрес шлюза 111.112.113.114 пакеты данных, на локальный адрес сервера 10.0.0.3.
  • #1 изменяет локальный IP-адрес сервера на транслируемый IP-адрес шлюза 111.112.113.114.

Рисунок 8. Перенаправление IP пакетов

Принцип двух правил возможно задать с помощью одного BINAT правила.

Рисунок 9. Перенаправление IP пакетов

Перенаправление UDP пакетов

Создадим правила для подключения по протоколу UDP:

  • #0 перенаправляет пакеты данных от источника 131.132.133.134, приходящие на 69 порт шлюза 111.112.113.114, на 161 порт локального сервера 10.0.0.3.
  • #1 изменяет локальный IP-адрес сервера 10.0.0.3 на транслируемый IP-адрес шлюза 111.112.113.114 для определённого адреса 131.132.133.134, а также изменяет 161 порт на транслируемый 69.

Рисунок 10. Перенаправление UDP пакетов

После сохранения данных правил, доступ по протоколу UDP с других IP-адресов или портов будет запрещён.

Для работы со всех IP-адресов можно добавить сопутствующее BINAT правило.

Рисунок 11. Перенаправление UDP пакетов