В чем разница между исходным NAT, целевым NAT и маскарадингом?

49

В чем разница между исходным NAT, целевым NAT и маскарадингом?

Например, я думал, что IP Masqurading - это то, что они называли в Linux? Но что меня смущает, так это то, что в нашем брандмауэре Astaro есть маска IP, а также опции NAT. Какая разница между всеми этими?

Matt
источник
Если вы интересуетесь Sophos, приоритетным является DNAT, SNAT, Masquerading
lmf

Ответы:

72

NAT источника изменяет адрес источника в IP- заголовке пакета. Это также может изменить порт источника в заголовках TCP / UDP. Типичное использование - изменить частный адрес / порт (rfc1918) на публичный адрес / порт для пакетов, покидающих вашу сеть.

NAT назначения изменяет адрес назначения в заголовке IP пакета. Он также может изменить порт назначения в заголовках TCP / UDP. Типичное использование этого - перенаправлять входящие пакеты с адресом общего адреса / порта на частный IP-адрес / порт в вашей сети.

Маскарадинг - это особая форма Source NAT, где адрес источника неизвестен в момент добавления правила в таблицы в ядре. Если вы хотите разрешить узлам с частным адресом за межсетевым экраном доступ в Интернет, а внешний адрес является переменным (DHCP), это то, что вам нужно использовать. Маскарадинг изменит исходный IP-адрес и порт пакета в качестве основного IP-адреса, назначенного исходящему интерфейсу. Если ваш исходящий интерфейс имеет статический адрес, вам не нужно использовать MASQ, и вы можете использовать SNAT, который будет немного быстрее, поскольку ему не нужно каждый раз выяснять, что такое внешний IP.

Zoredache
источник
Спасибо, это очень хорошо объясняет. Таким образом, исходный код nat и, вероятно, маскарадинг также эквивалентны ключевому слову nat в ipf freebsd, а конечный nat эквивалентен ключевому слову rdr в ipf.
Мэтт
Только что обнаружил, что для freebsd маскарадинг обрабатывается правилом вроде map ppp0 10.0.0.0/8 -> 0/32 (где 0/32 указывает на динамический ip).
Мэтт