Práctica 5: Configuración de servicios DHCP, NAT y DNS en GNU/Linux#
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:
-
Cómo compactar y exportar una máquina virtual de VirtualBox 📝
- Protocolo DHCP 📼
- Configuración persistente de direcciones IP en GNU/Linux 📼
- Configuración de iptables en GNU/Linux 📼
-
Configuración de NAT, DHCP y Forwarder de DNS en GNU/Linux 📼
Restricciones#
- La fecha límite de entrega es el viernes 28 de octubre 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-5
- Utilizar la carpeta
docs/practicas/practica-5/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
- Donde
- Crear un merge request en el repositorio de tareas para entregar la actividad
Note
*
: Se ajustó la fecha de entrega para dar espacio al segundo examen parcial.
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
- Salida de
- Configuración de todas las máquinas virtuales
- Salida de
VBoxManage showvminfo "<NAME>|<UUID>" --machinereadable
- Salida de
- 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
- Capturas de tráfico de red en formato
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 |
---|
![]() |
Warning
Crea un snapshot de la máquina virtual Debian antes de realizar la configuración de los servicios de red.
El procedimiento se lista las siguientes páginas:
- Configuración de NAT en GNU/Linux
- Configuración de servidor forwarder DNS en GNU/Linux
- Configuración de servidor DHCP en GNU/Linux
- Pruebas de conectividad en el cliente
- 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.