¿Cuál es la diferencia entre SNAT y DNAT?

NAT de origen: traducción de direcciones de red de origen
Destino NAT: Traducción de direcciones de red de destino

Caso de uso para NAT de origen : un cliente local detrás de Firewall o dispositivo NAT quería navegar por Internet

IP del cliente local: 10.10.10.10/24
URL del sitio web para visitar: http://www.quora.com
Dirección IP de Quora: 54.84.216.68
Ahora, cuando escribe la URL en el navegador, su navegador establecerá una conexión como esta
Dirección de origen: 10.10.10.10
Dirección de destino: 54.84.216.68

Ahora, cuando envía una sincronización TCP, el destino debe enviar un reconocimiento. Ahora, ACK tendrá un
dirección de origen: 54.84.216.68
Destino: 10.10.10.10

Ahora, como 10.10.10.10 no es único en todo el mundo, puede suceder que Quora esté usando 10.10.10.10 en algunos sistemas locales, por lo que los paquetes en lugar de ir a usted llegarán a su sistema local y no podrá establecer la conexión.

Entonces, lo que hace ahora es traducir su IP de origen (10.10.10.10) a algo que sea globalmente enrutable (por ejemplo: 14.10.10.10).

Ahora, tendrá la dirección de origen como 14.10.10.10, su dispositivo NAT necesitará mantener la tabla NAT.

Caso de uso Destino NAT (DNAT)

Ahora imagine un escenario, está alojando un sitio web y la dirección local de su sitio web es 172.19.18.10 (IP privada), ahora las personas no pueden conectarse a su sitio web desde internet porque su IP es privada y no es accesible a nivel mundial.

Entonces, lo que debe hacer ahora es crear una entrada NAT de destino donde la IP pública se asigne a la IP privada.

Tendrá un público, por ejemplo: 14.10.10.20 y lo NAT a 172.19.18.10 (su IP local), por lo que cualquier solicitud destinada a 14.10.10.20 se traduce realmente a 172.19.18.10 por su dispositivo NAT.

Traducción de direcciones de red de origen y destino (SNAT / DNAT) con iptables

Hay tres cosas que debemos hacer en la máquina A.

  1. Habilitar el reenvío de ip.
  2. Aplicar la regla DNAT
  3. Aplicar la regla SNAT

Habilitar el reenvío de IP

El primero es fácil, verifique el contenido de / proc / sys / net / ipv4 / ip_forward

cat / proc / sys / net / ipv4 / ip_forward

Una salida de 0 indica que el reenvío de IP está deshabilitado, un valor de 1 indica que el reenvío de IP está habilitado.

Si está deshabilitado, edite /etc/sysctl.conf con un editor de texto y cambie el valor de net.ipv4.ip_forward a 1. Después de realizar el cambio, haga un

/etc/init.d/network restart

Destino NAT

Destino NAT significa que traducimos la dirección de destino de un paquete para que vaya a otro lugar en lugar de a donde se dirigió originalmente. Para nuestro escenario, es:

iptables -t nat -A PREROUTING -d 10.10.10.99/32 -j DNAT –to-destination 192.168.1.101

Ahora, todos los paquetes IP que lleguen a la dirección IP (A) de nuestra máquina de 10.10.10.99 serán reescritos y enviados a 192.168.1.101. Esta traducción es transparente para la máquina desde la que se origina la conexión y para la máquina B.

Entonces, si se conecta desde, digamos, 172.16.1.10 a 10.10.10.99, el paquete se reescribirá al llegar a la máquina A y se enviará a la máquina B. La máquina B lo verá venir desde 172.16.1.10, no tendrá idea de que la conexión fue redirigida por 10.10.10.99. Esto es importante porque cuando la máquina B responde, la dirección FROM en su respuesta será su propia dirección IP 192.168.1.101.

Esto causará un error de protocolo en su máquina porque su máquina (172.16.1.10) esperará una respuesta de 10.10.10.99 y en su lugar recibirá una respuesta de 192.168.1.101.

Para solucionar esto, ahora necesitamos hacer SNAT – Traducción de direcciones de red de origen.

SNAT

Queremos hacer SNAT para traducir la dirección de origen de nuestros paquetes de respuesta para que parezca que provienen de 10.10.10.99 en lugar de 192.168.1.101. Para hacer esto, necesitamos aplicar una regla de iptables de SNAT en un enrutador a lo largo de la ruta que tomarán estos paquetes de respuesta. Como nuestra máquina A es la puerta de enlace predeterminada para la máquina B, también haremos el SNAT en la máquina A.

iptables -t nat -A POSTROUTING -s 192.168.1.101/32 -j SNAT –a la fuente 10.10.10.99

Esto reescribe nuestra dirección de origen para que parezca que los paquetes provienen de 10.10.10.99 en lugar de 192.168.1.101.

En este punto, intente conectarse a la máquina A utilizando SSH e inicie sesión con credenciales para la máquina B.

Una vez que haya confirmado que esto funciona, puede guardar su configuración de iptables con:

servicio iptables guardar

Luego puede configurar iptables para que se ejecute al inicio automáticamente.

/ sbin / chkconfig –level 3 iptables en

/ sbin / chkconfig –level 5 iptables en

Y eso concluye una configuración básica DNAT / SNAT. En la mayoría de las situaciones, es posible que desee limitar los criterios de coincidencia a protocolos o puertos específicos. por ejemplo, puede usar los indicadores “-p tcp –dport 22 ″ para hacer coincidir solo el tráfico SSH.

Como la pregunta parece ser solo para entender la diferencia, restringiré mi respuesta a la misma sin dar IPTables y otros ejemplos.

  • NAT es traducción de direcciones de red
  • SNAT es la traducción de la dirección de red de origen
  • DNAT es la traducción de direcciones de red de destino

A ambos lados de un dispositivo NAT tenemos un mundo ‘externo’ y un mundo ‘interno’.

  • Cuando el mundo interior se comunica con el mundo exterior, ocurre SNAT
  • En otras palabras, el dispositivo ‘fuente’ que inicia la conexión está en el mundo ‘interno’
  • Ejemplo, el servidor de bases de datos necesita conectarse al repositorio de YUM para recibir actualizaciones / paquetes
  • Cuando el mundo exterior se comunica con el mundo interior, ocurre DNAT
    • En otras palabras, el dispositivo ‘fuente’ que inicia la conexión está en el mundo ‘exterior’
    • Por ejemplo, un producto con licencia instalado en mi computadora portátil (afuera) busca la verificación clave con un servidor de licencia (adentro) detrás del dispositivo NAT

    En general, el paquete de red contiene la dirección IP de origen, los datos y la dirección IP de destino. Cuando este paquete pasa a través de un dispositivo NAT, se modifica. La dirección IP de origen o destino se cambia / modifica. La información sobre los cambios realizados en el paquete se mantiene en la tabla de conexión del dispositivo NAT.

    • En la fuente de SNAT, la dirección IP se modifica
    • En DNAT se modifica la dirección IP de destino

    Prima:

    • Cuando muchas direcciones IP privadas internas se traducen a una dirección IP pública, se llama SNAT estático
    • Cuando muchas direcciones IP privadas internas se traducen a muchas direcciones IP públicas, se llama Dynamic SNAT
    • Una combinación de ambos se llama NAT COMPLETA
    • Tanto la máquina en el mundo ‘interno’ como en el mundo ‘externo’ pueden iniciar la conexión
    • Tanto las IP de origen como las de destino se traducen

    Destino NAT (DNAT)

    Mientras que SNAT cambia la dirección de origen de los paquetes, el NAT de destino (DNAT) cambia la dirección de destino de los paquetes que pasan por el enrutador. DNAT se usa generalmente cuando un host externo (público) necesita iniciar una sesión con un host interno (privado); por ejemplo, cuando un suscriptor accede a un servicio de noticias, como se muestra en la siguiente figura. La dirección de origen de los paquetes devueltos se traduce automáticamente a la dirección IP del host de origen.

    NOTA

    DNAT se realiza antes de tomar la decisión de enrutamiento.

    Figura Destino NAT (DNAT)

    Fuente NAT (SNAT)

    Source NAT (SNAT) es la forma más común de NAT. SNAT cambia la dirección de origen de los paquetes que pasan por el enrutador. SNAT se usa generalmente cuando un host interno (privado) necesita iniciar una sesión en un host externo (público); en este caso, el dispositivo que está realizando NAT cambia la dirección IP privada del host de origen a alguna dirección IP pública, como se muestra en la siguiente figura. En NAT “enmascarado” (un tipo común de SNAT), la dirección de origen del paquete saliente se reemplaza con la dirección IP principal de la interfaz de salida. La dirección de destino de los paquetes devueltos se traduce automáticamente a la dirección IP del host de origen.

    NOTA

    SNAT se realiza después de tomar la decisión de enrutamiento.

    El dispositivo que está realizando NAT rastrea información sobre el flujo de tráfico para que el tráfico del flujo se pueda reenviar correctamente hacia y desde el host de origen.

    Figura . Fuente NAT (SNAT)

    SNAT significa Dirección de red de origen
    Traducción. Source NAT cambia la fuente
    dirección en el encabezado IP de un paquete. Eso
    También puede cambiar el puerto de origen en
    los encabezados TCP / UDP. Lo tipico
    el uso es para cambiar el privado
    (rfc1918) dirección / puerto en un público
    dirección / puerto para paquetes que salen de su
    red mientras que los DNAT significan Traducción de direcciones de red de destino. El destino NAT cambia el
    dirección de destino en el encabezado IP de un
    paquete. También puede cambiar el
    puerto de destino en el TCP / UDP
    encabezados. El uso típico de esto es
    redirigir los paquetes entrantes con un
    destino de una dirección pública / puerto a
    una dirección IP privada / puerto dentro de su
    red.

    La traducción de direcciones de red (NAT) ocurre cuando se cambia una de las direcciones IP en un encabezado de paquete IP. En un SNAT, se mantiene la dirección IP de destino y se cambia la dirección IP de origen. Por lo general, un SNAT permite que un host en el “interior” de la NAT, en un espacio de dirección IP RFC 1918, inicie una conexión a un host en el “exterior” de la NAT. Un DNAT, por el contrario, ocurre cuando se cambia la dirección de destino y se mantiene la dirección IP de origen. Un DNAT permite que un host en el “exterior” se conecte a un host en el “interior”. En ambos casos, el NAT tiene que mantener una tabla de conexión que le dice al NAT dónde enrutar los paquetes que regresan. Una diferencia importante entre un SNAT y un DNAT es que un SNAT permite que varios hosts en el “interior” lleguen a cualquier host en el “exterior”. Por el contrario, un DNAT permite que cualquier host en el “exterior” llegue a un host único en el “interior”

    Si te refieres a Source NAT, entonces ya ha sido respondido varias veces.

    Si se refiere a SNAT como se usa en los dispositivos F5 / BigIP, es Secure NAT. El LTM traduce la dirección IP de origen dentro de una conexión a una dirección IP del sistema BIG-IP que usted defina. El nodo de destino luego usa esa nueva dirección de origen como su dirección de destino cuando responde a la solicitud.

    More Interesting

    ¿Prefiere usar un adaptador de red inalámbrico interno o externo (usb)?

    Cómo encontrar la velocidad de WiFi que debo obtener, teniendo en cuenta la distancia y los obstáculos

    ¿Qué ventaja obtenemos del protocolo EIGRP que lo hace mejor que otros protocolos de enrutamiento?

    ¿Qué tipo de aplicación o servicio disruptivo se puede crear si una ciudad entera está en una red de fibra gigabit?

    ¿Qué aplicación de Android puede controlar a los usuarios conectados a un punto de acceso Wi-Fi portátil y desconectar a los usuarios seleccionados en un momento determinado o una cantidad de datos particular?

    Cómo hacer una inspección profunda de paquetes en redes definidas por software

    ¿Qué topología de red no es robusta?

    ¿Existe una correlación entre la fluctuación de red y la distancia geográfica?

    ¿Cuáles son algunas buenas empresas de soporte de TI en Londres?

    ¿Cuál es la diferencia entre el monitor con cable secundario y el monitor secundario Airplay de Mac OS X mevericks?

    Cómo cambiar una dirección física / MAC para una conexión de red inalámbrica en Windows 7

    ¿Qué función cumple el Protocolo de configuración dinámica de host (DHCP)?

    ¿Por qué alguna vez se usaron hubs en lugar de interruptores?

    ¿Es posible rastrear paquetes del módem de televisión por cable, ya que todos se transmiten a todos los usuarios en un nodo particular?

    ¿Puede mi empleador monitorear lo que hago en la computadora de la compañía en casa si no ha instalado Spyware y si no uso VPN?