Как устроен механизм NAT

NAT меняет начальный IP и номер TCP-/UDP-портов перед отправкой пакета в Интернет. NAT-таблица содержит информацию о первоначальном IP и портах, чтобы можно было восстановить их в ответном пакете. Например, при обращении внешнего узла к внешнему IP, система находит в таблице соответствующий внутренний адрес.
Существуют следующие типы трансляции сетевых адресов:
One-to-One. NAT выполняет трансляцию одного внутреннего IP-адреса в один внешний. Такой режим используется для исходящих и входящих соединений. В этом случае пользователь может получить доступ к локальному компьютеру через внешний IP в любое время. Схема работает и в обратном порядке – при доступе к внешнему узлу с локального компьютера.
Many-to-One. NAT выполняет трансляцию нескольких внутренних IP-адресов в один внешний. Фактически, являет собой механизм проброса портов.
Many-to-Many Overload. Таблица NAT транслирует множество внутренних IP-адресов к общим внешним IP-адресам.
Many-to-Many No Overload. NAT производит трансляцию каждого внутреннего IP-адреса к уникальному внешнему. Такой тип используется только для исходящих пакетов, при этом количество внутренних и внешних адресов должно совпадать.
Server. Предоставляет возможность указать внутренние серверы различных служб в NAT, которые должны быть доступны для внешнего мира.