PAT (Port Address Translation), также называемый NAPT или Overloaded NAT, — технология, позволяющая тысячам устройств в частной сети использовать один внешний IP-адрес для выхода в интернет. Интернет-маршрутизатор (или шлюз) заменяет исходный IP+порт внутреннего устройства на свой внешний IP с уникальным портом трансляции.
Как работает
Устройство в локальной сети (192.168.1.100:12345) обращается к серверу (93.184.216.34:80). PAT-роутер заменяет адрес источника: 192.168.1.100:12345 → 198.51.100.5:55001 (внешний IP:новый_порт). Запись о трансляции хранится в таблице NAT. Когда сервер отвечает на 198.51.100.5:55001, роутер смотрит таблицу и отправляет ответ на 192.168.1.100:12345.
PAT отличается от базового NAT тем, что базовый NAT работает 1:1 (один частный IP → один публичный IP), PAT — N:1 (много частных IP → один публичный). Это позволяет экономить IPv4-адреса: один белый IP обслуживает сотни-тысячи внутренних устройств.
В хостинге PAT используется в CGNAT у интернет-провайдеров, в облачных средах для доступа ВМ в интернет из приватной сети, во внутренних сетях ЦОД где серверы с серыми IP выходят через NAT-шлюз.
История
NAT предложен в RFC 1631 (1994) как временное решение дефицита IPv4. PAT (Overloaded NAT) описан в RFC 3022 (2001). К 2024 году PAT — стандарт для домашних и корпоративных роутеров. IPv6 теоретически устраняет необходимость в NAT/PAT, но на практике IPv4+PAT доминирует.
На что обращать внимание
PAT ограничивает входящие соединения: нельзя напрямую подключиться к устройству за PAT без проброса портов (port forwarding) на роутере. Это проблема для серверов за CGNAT у провайдеров. Некоторые приложения (VoIP, P2P, игры) плохо работают через PAT из-за ограниченного числа одновременных портов (65535 на один IP) и проблем с NAT traversal.
PAT и маскировка трафика
PAT (Port Address Translation) — расширение NAT: множество внутренних IP транслируются в один внешний IP с использованием разных портов. NAT-таблица хранит соответствие: 192.168.1.5:43210 → 1.2.3.4:43210.
PAT в хостинговой инфраструктуре
PAT используется в CGNAT (Carrier-Grade NAT) — когда оператор транслирует тысячи клиентских IP через один публичный. Для хостинга CGNAT проблематичен: несколько клиентов с одним IP могут попасть в блок-лист. IPv6 решает проблему дефицита адресов без NAT/PAT.
Диагностика PAT-проблем
Проблемы на VPS: переполнение таблицы NAT-сессий, проблемы с FTP active mode. conntrack -L | wc -l — число активных NAT-записей. nf_conntrack_max — лимит через sysctl. Для высоконагруженных прокси увеличивают лимит соединений.
NAT Reflection и Hairpin NAT
Проблема: сервер за NAT не может обращаться к своему публичному IP изнутри. NAT Reflection (Hairpin NAT) — пакет перехватывается и перенаправляется внутрь. В Linux реализуется через iptables MASQUERADE для внутренних обращений. Для split-DNS: внутри использовать приватный IP напрямую.
CGNAT и проблемы хостинга
CGNAT (Carrier-Grade NAT) у мобильных операторов: сотни пользователей за одним IP. При использовании мобильного интернета для управления сервером: IP часто меняется, whitelist по IP не работает. Решение: VPN или разрешение доступа по SSH-ключу без IP-ограничений.