Немного о NAT

Как правило, NAT используется для перевода приватных адресов в общедоступные ("белые" IPv4-адреса).

 

Маршрутизатор «на лету» транслирует (подменяет) обратный IP-адрес пакета на свой внешний (видимый из интернета) IP-адрес и меняет номер порта (чтобы различать ответные пакеты, адресованные разным локальным компьютерам). Комбинация, нужная для обратной подстановки, маршрутизатор сохраняет у себя во временной таблице.

Source NAT - трансляция пакета межсетевым экраном наружу из локальной сети.
Destination NAT - трансляция пакета извне межсетевым экраном на хост в локальной сети.

!!! Статический NAT (Static Network Address Translation) - 
!!! NAT loopback (или NAT hairpinning)
!!! NAT Traversal

 

NAT включает в себя четыре типа адресов:
1. Внутренний локальный адрес (Inside local);
2. Внутренний глобальный адрес (Inside global);
3. Внешний локальный адрес (Outside local);
4. Внешний глобальный адрес (Outside global);

 

Терминология NAT всегда применяется с точки зрения устройства с транслированным адресом:

Inside local – приватный адрес хоста, который пытается отправит запрос в Интернет из внутренней сети;
Оutside local - если сам внешний хост тоже скрыт за каким-либо маршрутизатором, то он получает запрос на outside global адрес и транслирует адрес получателя на outside local (во внутренней сети получателя). Обычно outside local и outside global – это один и тот же адрес;

Inside global - при прохождении пакета через маршрутизатор, с помощью механизма NAT, адрес отправителя подменяется на публичный адрес маршрутизатора;
Outside global - внешний хост, на который внутренний хост отправляет пакет из локальной сети.

 

Рассмотрим пример пути прохождения пакета.
Хост с адресом 192.168.1.5 пытается установить связь с веб-сервером 111.111.111.111. Когда пакет прибывает в маршрутизатор с поддержкой NAT, он считывает IPv4 адрес назначения пакета, чтобы определить, соответствует ли пакет критериям, указанным для перевода. Если исходный адрес соответствует критериям, то адрес переводится с 192.168.1.5 (Inside local address) на 222.222.222.222 (Inside global address).

 

NAT таблица маршрутизатора

          Local Host                              Remote Host
--------------------------------------------------------------------------
Inside local    Inside global          Оutside local        Outside global

--------------------------------------------------------------------------
192.168.1.5    222.222.222.222        111.111.111.111        111.111.111.111

 

Proto

Local Host

Remote Host

Description

Inside local

Inside global

Port

Оutside local

Outside global

Port

tcp

10.1.1.28

222.222.222.222

-

111.111.111.111

111.111.111.111

80

 

               
               
               
               
               

В первом примере хост 10.1.1.28 имеет доступ к web-серверу 111.111.111.111 по порту 80. Внешний адрес локального маршрутизатора 222.222.222.222.

 

Таблица 2. Таблица трансляции сетевых адресов и портов**

Original Packet

Translated Packet

Протокол

Шлюз

Описание правила

Источник

Получатель

Порт

Источник

Получатель

Порт

 

 

10.1.1.2

 

 

 

23.12.13.13/32

80, 443

tcp

cp-msk-gw *

 

Web Server (443) api.rosatom.ru

 

 

any

65.14.193.12/32

33389

Original

10.1.1.10

3389

tcp

cp-msk-gw

Проброс порта из Интернета на порт 3389