¿Cuál es la diferencia entre un NAT de origen, un NAT de destino y una mascarada?

48

¿Cuál es la diferencia entre un NAT de origen, un NAT de destino y una mascarada?

Por ejemplo, pensé que IP Masqurading era lo que solían llamarlo en Linux. Pero lo que me confunde es que en nuestro firewall Astaro hay opciones de IP Masquarading y NAT. ¿Cuál es la diferencia entre todos estos?

Mate
fuente
En caso de que se pregunte por Sophos, la prioridad es DNAT, SNAT, Masquerading
lmf

Respuestas:

71

Source NAT cambia la dirección de origen en el encabezado IP de un paquete. También puede cambiar el puerto de origen en los encabezados TCP / UDP. El uso típico es cambiar una dirección / puerto privado (rfc1918) en una dirección / puerto público para los paquetes que salen de su red.

El NAT de destino cambia la dirección de destino en el encabezado IP de un paquete. También puede cambiar el puerto de destino en los encabezados TCP / UDP. El uso típico de esto es redirigir los paquetes entrantes con un destino de una dirección / puerto público a una dirección / puerto IP privado dentro de su red.

El enmascaramiento es una forma especial de NAT de origen donde la dirección de origen es desconocida en el momento en que la regla se agrega a las tablas en el núcleo. Si desea permitir que los hosts con dirección privada detrás de su firewall accedan a Internet y la dirección externa es variable (DHCP), esto es lo que necesita usar. El enmascaramiento modificará la dirección IP de origen y el puerto del paquete para que sea la dirección IP principal asignada a la interfaz saliente. Si su interfaz de salida tiene una dirección que es estática, entonces no necesita usar MASQ y puede usar SNAT, que será un poco más rápido ya que no necesita averiguar cuál es la IP externa cada vez.

Zoredache
fuente
Gracias, eso lo explica muy bien. Por lo tanto, el origen nat y probablemente también el enmascaramiento es equivalente a la palabra clave nat en la ipf de freebsd, mientras que el destino nat es equivalente a la palabra clave rdr en ipf.
Matt
Acabo de descubrir que para freebsd, el enmascaramiento se maneja mediante una regla como map ppp0 10.0.0.0/8 -> 0/32 (donde 0/32 indica una IP dinámica).
Matt