DNAT (Destination Network Address Translation) на уровне сети работает следующим образом: www.opennet.ru
- Узел отправляет пакет на внешний адрес роутера. interface31.ru Адресом источника будет являться адрес узла, а адресом назначения — внешний адрес роутера. interface31.ru
- Получив такой пакет, брандмауэр находит нужное правило и изменяет адрес назначения пакета на внутренний адрес целевого узла и отправляет его в локальную сеть. interface31.ru
- Узел назначения видит, что ему пришёл пакет от удалённого узла, и формирует ответный пакет с этим адресом в качестве назначения, а в качестве источника подставляет собственный адрес. interface31.ru
- Так как удалённый узел не принадлежит локальной сети, пакет будет направлен основному шлюзу, то есть назад роутеру. interface31.ru
- На шлюзе в любом случае включён SNAT или MASQUERADE. interface31.ru Поэтому локальный адрес источника будет заменён адресом внешнего интерфейса, и такой пакет будет отправлен назад удалённому узлу. interface31.ru
Таким образом, удалённый узел общается только с внешним адресом роутера и не имеет представления о сети за ним, а локальный узел продолжает считать, что работает с удалённым узлом напрямую. interface31.ru