Práctica 3: Configuración de servicios DHCP, NAT y DNS#


Objetivo#

El alumno realizará la configuración de una máquina virtual GNU/Linux con los servicios de red NAT, DHCP y forwarder DNS para permitir que otras máquinas tengan salida a Internet.

Elementos de apoyo#

Esta practica guiada esta basada en los videos de la clase que se muestran a continuación:

Restricciones#

  • La fecha límite de entrega es el domingo 8 de mayo de 2022 a las 23:59 horas
  • Esta actividad debe ser entregada en equipo de acuerdo al flujo de trabajo para la entrega de tareas y prácticas
  • Crear una nueva rama llamada practica-3
  • Utilizar la carpeta docs/practicas/practica-3/Equipo-ABCD-EFGH-IJKL-MNOP para entregar la práctica
    • Donde Equipo-ABCD-EFGH-IJKL-MNOP representa el nombre del equipo que debió anotarse previamente en la lista del grupo
  • Crear un merge request en el repositorio de tareas para entregar la actividad

Entregables#

  • Archivo README.md

    • Explicación de la topología de red utilizada
    • Procedimiento de configuración de NAT, forwarder DNS y servidor DHCP
    • Procedimiento para reservar una dirección IP en el servidor DHCP
    • Explicar el contenido del archivo leases del servidor y cliente DHCP
    • Explicar detalladamente cómo es que el cliente obtiene una dirección IP del servidor DHCP
    • Qué ventajas y desventajas existen al tener un forwarder DNS en la red local
    • Explicar detalladamente cómo es que una petición se envía desde el cliente hasta su destino fuera de la red host-only
    • Conclusiones sobre las capturas de tráfico de red
  • Carpeta files

    • Capturas de tráfico de red en formato PCAP
    • Configuración de las redes de VirtualBox
      • Salida de VBoxManage list hostonlyifs
    • Configuración de todas las máquinas virtuales
      • Salida de VBoxManage showvminfo "<NAME>|<UUID>" --machinereadable
    • Servidor DHCP (Debian)
      • Salida de los comandos para verificar las interfaces de red
      • Archivo /etc/network/interfaces
      • Archivo /etc/sysctl.conf
      • Salida del comando iptables-save cuando ya se tengan las reglas del firewall para NAT
      • Archivo /etc/iptables/rules.v4
      • Archivo /etc/dhcp/dhcpd.conf
      • Archivo /etc/default/isc-dhcp-server
      • Archivo /var/lib/dhcp/dhcpd.leases
      • Archivo /etc/dnsmasq.conf
      • Archivo /etc/resolv-upstream.conf
      • Archivo /etc/resolv.conf
    • Cliente DHCP (CentOS)
      • Tabla ARP
      • Tabla de rutas
      • Salida de los comandos de configuración de red
      • Salida de los comandos con las pruebas de conectividad local
      • Salida de los comandos con las pruebas de resolución DNS
      • Salida de los comandos con las pruebas de conectividad externa
      • Archivo /var/lib/dhcp/dhcp.leases
      • Archivo /etc/resolv.conf
    • Cliente DHCP (Alpine)
      • Tabla ARP
      • Tabla de rutas
      • Salida de los comandos con las pruebas de conectividad local
      • Salida de los comandos con las pruebas de resolución DNS
      • Salida de los comandos con las pruebas de conectividad externa

Procedimiento#

Se presentan los pasos para elaborar la configuración de un NAT, forwarder de DNS y DHCP utilizando VirtualBox con base en la topología de red que se muestra a continuación:

Diagrama de red en VirtualBox

El procedimiento se lista las siguientes páginas:

  1. Configuración de NAT en GNU/Linux
  2. Configuración de servidor forwarder DNS en GNU/Linux
  3. Configuración de servidor DHCP en GNU/Linux
  4. Pruebas de conectividad en el cliente
  5. Reservar dirección IP en DHCP

Al finalizar la configuración realiza una captura en formato PCAP para analizar el tráfico de red.

Captura de tráfico#

Realiza una captura de tráfico para los servicios ARP, DHCP, DNS e ICMP utilizando tcpdump o WireShark.

  • Debian: Todas las interfaces de red
  • CentOS: Interfaz host-only

Warning

  • Verifica el tipo, nombre, dirección MAC e IP de tus interfaces de red.
  • Tráfico DNS en todas las interfaces de red.
    • ${IFACE} es el nombre de la interfaz de red (eth0, eth1, etc.)
# tcpdump -veni ${IFACE} -o captura.pcap 'arp or icmp or port (53 or 67 or 68)'

Ejecuta las siguientes acciones mientras la captura de tráfico está activa:

  • Limpia la tabla ARP de las máqinas Debian, CentOS y Alpine.

  • Pide una nueva dirección IP en las máqinas CentOS y Alpine.

  • Haz pruebas de conectividad al dominio example.com en las máqinas CentOS y Alpine.

Conclusiones#

Compara las capturas de tráfico y escribe tus conclusiones.

  • ¿Hay alguna diferencia en el tráfico de las capturas de red?
  • ¿Qué parte de tráfico de DHCP es broadcast y unicast?
  • ¿Cómo es que funciona ARP?
  • ¿Cómo es que llega una petición y respuesta de PING desde la máquina CentOS hasta un servidor en Internet?
$ ping -c 4 8.8.8.8
$ ping6 -c 6 example.com.