Трансляция порт-адрес


Трансляция порт-адрес (англ. Port address translation, PAT) — технология трансляции сетевого адреса в зависимости от TCP/UDP-порта получателя. Является частным случаем NAT. Также может использоваться термин DNAT (Destination NAT).

Маршрутизатор имеет два интерфейса (например, адрес 193.125.192.1, на который поступают запросы и для которого производится трансляция, и адрес 10.0.0.1, который обращён в сторону сети с серверами). При этом IP-пакеты, поступающие на маршрутизатор, в зависимости от адреса порта получателя транслируются с различными адресами — порты 80 и 443 направляются на один сервер (10.0.0.2), порты 25 и 110 - на второй (10.0.0.3), 53 - на третий (10.0.0.4), 54 на четвёртый (10.0.0.5). Соответствующим же образом производится и трансляция ответов серверов (в этом случае заменяется адрес отправителя). В соответствии с этим есть два типа сети: внутренняя (nat inside) и внешняя (nat outside). У пакетов, приходящих из наружной сети, меняется адрес получателя, у пакетов из внутренней — отправителя.

Для обеспечения распределения нагрузки пакеты могут направляться на различные серверы для одного и того же порта поочерёдно (это работает только для протоколов, не требующих установления соединения и не имеющих понятия «текущее состояние», таких как DNS).

При этом для осуществления трансляции роутеру не обязательно считать транслируемые адреса «своими» (то есть назначенными на интерфейс), трансляция может осуществляться и для транзитных пакетов.

Упрощённый пример конфигурации: два внешних IP-адреса, три сервера: smtp/pop3, www и сервер, полностью «выставленный» наружу (с полной трансляцией всех входящих IP-пакетов). Внешний интерфейс — FastEthernet 0/0, внутренний — FastEthernet 0/1.