Skip to main content

Маскарад, SNAT, DNAT

Зачем нам все это? Чтобы держать подсетку за одним адресом.

  • SNAT - преобразование 1 к 1. Т.е. локально на хосте 10.0.0.2, а во внешнюю сеть он ходит через 8.8.8.8. Несколько хостов за один адрес нельзя пустить, только 1. С помощью SNAT можно, грубо говоря, вытащить хост наружу.
  • DNAT (Проброс портов) - преобразование Много к Одному. Т.е. несколько хостов ходят через один маршрутизатор с одним и тем же адресом. Однако тут строгое выделение по портам, нельзя сделать так, чтобы несколько хостов использовало один и тот же порт. Т.е. через DNAT можно, например, пробросить порт из локальной сети во внешнюю.
  • PAT/NAPT/Masquerade - преобразование много адресов к одному + много портов. С помощью этой технологии работают домашние роутеры. Т.е. клиент за маскарадом может открыть у себя любой порт и установить с него соединение с хостом во внешней сети и его порт будет автоматически проброшен при соединении на такой же порт, только уже во внешней сети. Сокет (связка адрес+порт) должна быть уникальна, только тогда получится установить соединение.