[Examen 21 febrero 2011] Problema práctico 2 - parte (a)

[Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Pablo Cerveñansky Fierro -
Número de respuestas: 8
(1) En la parte (a) no me queda claro que quiere decir el "0.0.0.0/0" de las tablas de enrutamiento. ¿Es lo mismo que aparece en otras soluciones como "default"? Si es así ¿por qué el default del router R1 es la interfaz hacia la WAN y no la interfaz hacia la LAN?

(2) En la parte (c) no me queda claro si cuando a R1 le llega un datagrama desde el lado WAN se tiene en cuenta la dirección IP de origen (219.41.31.21) para saber si dirigirlo a H o no.
O sea si en la tabla NAT hay una entrada (IP1,puerto1),(IP2,puerto_generado) siempre que llegue un datagrama con destino IP2 y puerto igual a puerto_generado se va a realizar la modificación por IP1 y puerto1 para que llegue a H ¿o esto depende del origen del datagrama?. ¿Si dependiera del origen del datagrama no debería estar esta información en algún lado de la tabla de traducciones NAT?
En respuesta a Pablo Cerveñansky Fierro

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Romina Diana Romero Riva -
(1) Sí, se refiere a la ruta por default.
La ruta por default de R1 es la interfaz hacia la WAN porque hacia la LAN ya sabe cuáles son todos los destinos alcanzables (los de la subred 192.168.1.0/24), y ya tiene una entrada para ello (la primera de la tabla).
La ruta por default se utiliza cuando el destino que se quiere alcanzar no corresponde con ninguno de los otros de la tabla, todos los de la LAN están comprendidos en la primera entrada, los de la subred /30 también (en la segunda entrada), y si un paquete tiene algún otro destino el router entiende que está en alguna otra parte de Internet y su forma de salir hacia allí (de enrutar el paquete hacia allí) es a través de la interfaz WAN, con next-hop 220.10.10.29.

(2) NAT lo que tiene es una tabla que hace corresponder a un proceso de un host de su red, por ejemplo el que tiene puerto port # que se ejecuta en el host H (con dir IP 192.168.1.25), con un nuevo número de puerto y la dir IP de la interfaz del router NAT por donde van a salir los datagramas de ese proceso (219.41.31.21).
El router NAT cambia todos los datagramas que vayan a salir de la red, modificando la IP origen -> IP router, puerto origen -> nuevo puerto, y todos los que entran a la red modificando IP destino (que es la del router) -> IP host correspondiente, puerto destino (que es el "nuevo puerto") -> puerto original (el que asignó el host).
Es un simple cambio que hace para ponerse de intermediario de los datagramas, y es transparente para los hosts.
No depende de los host exteriores hacia donde se dirijan o de donde se reciban los datagramas.

Adjunto una imagen del libro.


Espero que haya quedado claro.
Saludos!
Adjunto NAT.png
En respuesta a Pablo Cerveñansky Fierro

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Usuario eliminado -
Respecto a tu pregunta 2 hago la misma observacion

Dicho de otra forma, de que me sirve tener una clave de 2 columnas (IP publica NAT; port NAT) para localizar las conexiones que tengo "nateadas", cuando la primer columna es simpre constante (mi propia IP).
Es como pensar en que una tabla de base de datos se usen 2 columnas para la clave primaria ,cuando una de ellas es constante.

Ademas observo algo importante en la seguridad.

Si el route NAT no verifica en esa tabla la direccion de destino (vista desde el punto de vista del usuario) como tu decis, entonces cualquiera de nosotros podra construir un programa que recorra los 64K Puertos de un router NAT (que tiene IP publica) y enviar un paquete FIN de tcp, con lo cual le hariamos caer todas las conexiones TCP (en el caso de embocar el numero de secuencia claro) que estuviera natenado, ya que no controla nuestra IP (la tomaria como un destino de alguna conexion anterior).

En definitiva , tengo la sospecha que no debe ser como dice en el libro ( hemos encontrado errores tambien en conceptos de DHCP) sino que es como tu imaginas, es decir que usa
en la columna de la clave de la tabla tambien la direccion de destino,

De esta forma no reconoceria los mensajes FIN que enviaria un hacker como nosotros
;-)

saludos




En respuesta a Usuario eliminado

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Usuario eliminado -
Por lo que entiendo un router puede tener varias IPs públicas, una por cada interfáz, por eso viene necesita una columna "IP publica NAT".
Para que el FIN tenga algún efecto además tendrías que falsificar la IP de origen y embocarle al puerto de origen, de otra forma te rebotaría por no tener ninguna conexión con esa (IP Origen, Puerto Origen, IP Destino, Puerto Destino).

Saludos.
En respuesta a Usuario eliminado

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Pablo Cerveñansky Fierro -
Mi pregunta en realidad no era respecto a las IPs de las interfaces del router NAT, sino a la IP de origen que tiene un datagrama que llega desde internet al router NAT. 
La solución me parece que da a entender que el router NAT debe tener en cuenta esta IP de origen para saber si procesar el datagrama (por procesar el datagrama me refiero a: buscar la entrada (IP destino, pto destino) en la tabla NAT, cambiar la información de puertos e IP destino y reenviar a una subred privada). Pero como me respondieron esto "No depende de los host exteriores hacia donde se dirijan o de donde se reciban los datagramas." yo había interpretado mal la solución.

Además, como pusieron arriba, el router NAT puede tener más de una interfaz que redirija el tráfico hacia/desde internet, por lo que la entrada "IP publica NAT" a la que hacés referencia es necesaria ya que puede haber varios valores distintos para un mismo router.
En respuesta a Usuario eliminado

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Romina Diana Romero Riva -
Coincido con lo que dice Mauro.
Si usaras <IP pública router NAT, dir IP host exterior, nuevo # puerto> no tendrías una clave sino una superclave porque <IP pública router NAT, nuevo # puerto> ya identifica una única conexión.
Para una conexión TCP la dir IP host exterior podría tenerse en una tabla, así como los números de secuencia para borrar una entrada de la tabla NAT cuando se finaliza una conexión (luego de que ambos hosts envían sus segmentos FIN o sucede un timeout adecuado), pero igualmente no es que precises esa dirección en la clave, ni para establecer las correspondencias.
Lo que yo quise decir es que el mapeo que hace el router NAT es independiente de la IP del host exterior, alcanza con la IP del host de la subred, su número de puerto, y una dir IP del router NAT y un número de puerto que se elija apropiadamente para fijar la correspondencia.

Saludos.
En respuesta a Romina Diana Romero Riva

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Usuario eliminado -
Justamente ese el probema Romina
Como para el router NAT <IP pública router NAT, nuevo # puerto> ya identifica una conexion
entonces cuando yo le envie desde otra IP un paquete a esa IP el router NAT no tendria como darse cuenta que soy otra conexion., pues no toma en cuenta mi IP

Correcto coincido contigo en que la documeentacion que disponemos dice lo que tu decis,
Sucede que sigo desconfiando pues noto las falencias que tendria si la solucion fuera como se relata, sin tener en cuenta la IP a donde nateo

Saludos



En respuesta a Usuario eliminado

Re: [Examen 21 febrero 2011] Problema práctico 2 - parte (a)

de Romina Diana Romero Riva -
Pero si ese fuera el caso, cuando el paquete llega al host destino (el de la LAN), el protocolo TCP del host vería que no tiene ninguna conexión que se corresponda con esa IP y descartaría el paquete (la IP origen de un paquete que entra a la LAN no se modifica, NAT modifica sólo la IP destino de los paquetes entrantes (y el número de puerto destino y los checksums)).
En cuanto a los segmentos FIN, si el router NAT los examinara para borrar entradas de la tabla, seguramente sí tendría en su tabla la dirección IP del host externo, pero como un dato más, al igual que los números de secuencia, y realizaría el chequeo por motivos de seguridad, como vos explicás; pero no por eso pasa a ser un identificador de la conexión.
No veo la necesidad de que esa IP de un host externo a la LAN forme parte de la clave en la tabla.

Saludos!