Разница между DNAT и SNAT при пробросе портов в Linux заключается в том, что они выполняют разные функции:
- DNAT (Destination Network Address Translation) изменяет адрес и порт назначения пакета. 2 Это происходит перед входом пакета в брандмауэр и до принятия решения о маршрутизации. 2 Основное применение DNAT — предоставление доступа к сервисам снаружи, находящимся внутри сети. 1
- SNAT (Source Network Address Translation) изменяет адрес и порт источника пакета. 2 Это происходит при выходе пакета из брандмауэра, после принятия решения о маршрутизации. 2 SNAT используется, когда за сервером находятся машины, которым необходимо предоставить доступ в Интернет, при этом от провайдера имеется статический IP-адрес. 1