Practica 3#

Participantes Equipo-AGDL-CRC-PSJ-SEBR#

  • Alemán Galicia Diego Leónardo
  • Cabrera Ramírez Carlos
  • Paredes Sánchez Jacqueline
  • Saavedra Escalona Braulio Rubén

Topologia de red#

El siguiente diagrama corresponde a la topología de red usada, donde se tienen en maquinas virtuales los sistemas operativos Debian, CentOS y Alpine. La maquina Debian provee los servicios de red tales como NAT, DHCP y DNS que permiten a las maquinas CentOS y Alpine una conexión indirecta a Internet.

topologia

Tomado de https://redes-ciencias-unam.gitlab.io/laboratorio/practica-3/img/diagrama_red.png. Creditos a Andres Hernandez.

La maquina Debian esta conectada por medio de su interfaz enp0s3 a un router NAT proporcionado por VirtualBox, el cual proporciona la conexión a Internet, ademas de que esta maquina es usada como un intermediario entre las otras maquinas a Internet.

Las otras maquinas estan conectadas a nuestra maquina Debian a traves de una interfaz host only, que permite que a traves de la interfaz enp0s3 con la direccion IP 192.168.56.254 se puedan conectar. La conexion de la maquina CentOS se hace a traves de la direccion IP 196.168.56.100 por la interfaz enp0s3, la conexion de la maquna Alpine se hace a traves de la direccion IP 192.168.56.200 de igual manera, a traves de la interfaz enp0s3.

Procedimiento#

Podemos ver todos los outputs de nuestros comandos en el siguiente archivo

NAT#

  1. Deshabilitaremos el servicio DHCP de la interfaz host-only de VirtualBox (VB).

  2. Configuraremos la direccion IP de nuestra interfaz enp0s8 en la maquina Debian para que tenga una direccion estatica, usaremos esta configuracion

  3. Configuraremos sysctl, usaremos la siguiente configuracion

  4. Configuramos las IPTables.

DNS Forwarder#

  1. Modificaremos el archivo /etc/dnsmasq.conf

  2. Luego generamos el siguiente archivo para indicarle a nuestra maquina Debian a que servidores publicos hacer requests.

  3. Configuramos la resolucion local de DNS en el archivo /etc/resolv.conf

DHCP#

  1. Modificamos la configuracion del siguiente archivo /etc/dhcp/dhcpd.conf

  2. Especificamos la interfaz de red donde se dara el servicio de DHCP, modificando el archivo /etc/default/isc-dhcp-server

Reserva de direcciones IP (Servidor DHCP)#

Modificando el archivo /etc/dhcp/dhcpd.conf podemos reservar direcciones IP, en particular en nuestro archivo desde la linea 38 hasta la linea 52 podemos observar como se reservara el rango de direcciones 192.168.56.100-200 con la instruccion range 192.168.56.100 192.168.56.200. De igual manera podemos reservar alguna direccion en especifico para siempre asignarle a algun host, tal como se muestra a partir de la linea 47 hasta 52.

Archivo leases#

Podemos encontrar un ejemplo de un lease en el siguiente archivo.

Este archivo guarda un registro de las direcciones IP que se han sido otorgadas por nuestro servidor DHCP. Cada lease se guarda en una especie de estructura.

Empezando por la palabra lease seguido de la direccion IP otorgada. Dentro de la estructura se tienen con las palabras clave starts y end las fechas en las que la IP sera asignada al equipo en cuestion y sera valido. Podemos conocer cual es el equipo al que se le asigno la direccion IP de distintas maneras, una de ellas es con host-name asi como con uid o hardware ethernet donde nos dara maneras de identificar nuestro host.

En este ejemplo particular se le asigno la IP 192.168.56.100 al equipo con direccion MAC 08:00:27:d3:ce:2a a la s 6:43:54 del 8 de Mayo de 2022, y expirara a las 6:53:54 de ese mismo dia.

Explicar como el cliente obtiene una direccion IP del servidor DHCP#

El procesos para que un cliente obtenga una direccion IP a traves de un servidor DHCP es sencillo:

  1. El cliente envia un mensaje tipo Broadcast llamado Discovery. Para asi poder conocer donde es que se encuentra el servidor DHCP en nuestra red.

  2. El servidor DHCP responde directamente al cliente con un mensaje llamdo Offer, ofreciendole a nuestro cliente alguna direccion del pool de direcciones IP, junto con los respectivos leases.

  3. El cliente decide si aceptar la direccion IP, cuando esta es aceptada, el cliente envia un mensaje Broadcast llamado Request.

  4. Al recibir el Request, nuestro servidor verifica que la IP asignada en efecto sea valida y no este en uso, si esto es asi el servidor le envia un mensaje en notificacion al cliente para reconocer que desde ese momento se identificara con la IP que fue mandada y confimada, a este mensaje se le llama Acknowledge.

Ventajas y desventajas de tener un forwarder DNS en la red local#

La mayor desventaja es que al tener nuestro forwarder de manera local, nosotros mismos debemos configurarlo, esta configuracion manual como ya se vio no es trivial. De igual manera, si el forwarder esta expuesto a actores maliciosos puede ser objetivo de ataques, tales como DNS Spoofing.

La principal ventaja es que las consultas de DNS, tanto a servidores externos como a cache son mucho mas rapidas.

Explicar como es que una peticion se envia desde el cliente hasta su destino fuera de host-only#

Al hacer una peticion desde alguna de nuestras maquinas diferentes a Debian, el cliente utilizara el gateway 192.168.56.254 configurado, el cual permite "pasar" los paquetes hacia nuestro router NAT si es que estos no estan dirigidos a nuestra maquina Debian.

Como se da el forwarding, los paquetes no dirigidos a la red 192.168.56.X son pasados a nuestro router NAT 10.0.2.15, los cuales salen a Internet con la información de la interfaz host-only ocultos. Si existiese alguna respuesta los paquetes volverán a estar dirigidos al router NAT, el cual se encargara de discernir hacia que host dentro de la red interna esta dirigido.

Conclusiones#

¿Hay alguna diferencia en el tráfico de las capturas de red?#

No hay diferencias debido a que al cambiar solo unos comandos el procedimiemto realizado es el mismo y ambos obtienen el mismo resultado

¿Qué parte de tráfico de DHCP es broadcast y unicast?#

En la parte de DHCP-Offer ya que en este paso el DHCP recibe un mensaje con la petición donde al obtener la respuesta del servidor en la capa 2 tenemos un unicast y en la capa 3 un broadcast

¿Cómo es que funciona ARP?#

Al principio el puerto destino no tiene información en tabla MAC ni en los puertos. Por medio de la transmición de datos el switch irá llenando su tabla MAC. Los paquetes de datos van a ir dirigidos a un host en particular. La puerta de enlace o el hardware de una red va a permitir que los datos fluyan y va a solicitar al protocolo ARP que encuentre una dirección MAC que coincida con esa dirección IP.

¿Cómo es que llega una petición y respuesta de PING desde la máquina CentOS hasta un servidor en Internet?#

Al principio CentOs envia con un IP de destino y uno de origen donde se incluirá su gateway. Debian verifica el paquete y guarda el identificador y lo envia los paquetes Debian serán enviados por su red NAT al llegar a NAT se enviara por HostOnly