Настройка правил 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 пакетов