Configuración y Simulación de Servidor DHCP en Redes Virtuales
Resumen
¿Cómo configurar direcciones IP dinámicamente?
Configurar las direcciones IP de manera dinámica es esencial para simular el protocolo mediante el cual se asignan las IPs cuando un dispositivo se conecta a una red. Esta es una práctica común al conectarnos a redes públicas, como en cafeterías o centros comerciales, donde un servidor se encarga de asignar una dirección IP para identificar al dispositivo dentro de esa red. En esta sesión aprenderemos a configurar un servidor que permita asignar estas direcciones de manera automática, facilitando así la conexión de usuarios que pueden no tener el conocimiento técnico para realizar una configuración estática.
¿Qué es una dirección IP estática y por qué utilizarlas?
Las direcciones IP estáticas son aquellas que un administrador de red configura manualmente para cada interfaz de un dispositivo. Un concepto importante es que las direcciones IP no identifican a los dispositivos en sí, sino a sus interfaces. Por ejemplo, un computador puede tener una dirección IP diferente para su tarjeta de red y otra para su tarjeta inalámbrica.
Ventajas del direccionamiento dinámico
Conexión automática: Permite que el usuario se conecte y reciba una dirección IP sin necesidad de configuración técnica.
Adaptabilidad: Ideal para redes con alta rotación de dispositivos, como cafés o espacios públicos, donde las direcciones IP requieren actualización constante.
¿Qué es y cómo funciona el protocolo DHCP?
El protocolo DHCP (Dynamic Host Configuration Protocol) es un mecanismo simple que permite asignar direcciones IP a medida que los dispositivos se van conectando a la red. Este funciona en cuatro etapas:
Discover: El dispositivo envía un paquete DHCP Discover para solicitar una dirección IP.
Offer: El servidor responde con un paquete DHCP Offer con la oferta de una dirección.
Request: El dispositivo solicita formalmente la dirección proporcionada.
Acknowledge (ACK): El servidor confirma la asignación de la dirección IP.
Configuración del servidor DHCP
Interfaz de red: Especifica en cuál interfaz utilizar el servidor DHCP (en el caso estudiado, la interfaz NP0s3 de Debian).
Configuración de red: Define la subred con su dirección (ejemplo: 192.168.10.0) y la máscara de red (255.255.255.0).
Parámetros del servidor DHCP: Incluyen el rango de direcciones, el router predeterminado y la dirección de broadcast.
Ejemplo de configuración
# En Debian, configurar las interfaces con el archivo correspondienteauto enp0s3
iface enp0s3 inet static
address 192.168.10.254
netmask 255.255.255.0
# Configuración DHCPsubnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.100 192.168.10.199; option routers 192.168.10.254; option subnet-mask 255.255.255.0; option broadcast-address 192.168.10.255;}
¿Cómo verificar la conexión a internet?
Una vez configuradas las interfaces, reiniciamos los servicios de red y verificamos la conectividad mediante un ping a un servidor DNS público, como 8.8.8.8 de Google, para confirmar la conexión a Internet.
Instalación y configuración del paquete DHCP Server
Instalación:
Utilizar el administrador de paquetes correspondiente a la distribución (en Debian, apt-get install isc-dhcp-server).
Edición de archivos de configuración:
Definir en qué interfaz se ejecutará el servidor.
Configurar los parámetros necesarios en el archivo dhcpd.conf.
Con esta configuración, podrás dinamizar el proceso de conexión, permitiendo que nuevos dispositivos se conecten de manera automática y eficiente. A medida que se avanza en la personalización del entorno de red, se pueden explorar más funcionalidades para optimizar aún más el manejo de direcciones IP dentro de una red segmentada. ¡Ánimo y sigue explorando el emocionante mundo de las redes y la conectividad!
El DHCP funciona cediendo las direcciones IP y la información IP a los clientes de la red por un período de tiempo. Para que el arrendamiento se lleve a cabo, se produce el siguiente proceso de negociación:
Durante el proceso de arranque, una computadora cliente que está configurada como cliente DHCP envía un paquete de difusión llamado ++DHCPDISCOVER++. Este paquete Discover contiene el nombre de la computadora cliente y la dirección de Control de Acceso a los Medios (MAC) para que los servidores DHCP puedan responder a él. Básicamente, el paquete Discover dice: "Busco un servidor DHCP que pueda alquilar una dirección IP".
Los servidores DHCP de la red responden a la emisión con un ++DHCPOFFER++. En esencia, el ++DHCPOFFER++ dice, "Soy un servidor DHCP y tengo un contrato de arrendamiento para ti". Si varios servidores DHCP responden a la solicitud, el cliente acepta la primera oferta que recibe.
El cliente responde a través de un mensaje de difusión llamado ++DHCPREQUEST++. Este mensaje básicamente dice, "Acepto su oferta de alquiler y me gustaría tener una dirección IP." Si otros servidores DHCP hicieron ofertas, también ven que sus ofertas de alquiler no fueron aceptadas por el mensaje de difusión, por lo que rescinden sus ofertas.
El servidor DHCP cuya oferta fue aceptada responde con un mensaje ++DHCPACK++, que reconoce la aceptación del contrato de arrendamiento y contiene el contrato de arrendamiento de la dirección IP del cliente, así como otra información sobre la dirección IP que usted configura el servidor para proporcionar. El cliente es ahora un cliente TCP/IP y puede navegar por la red.
En Kali Linux no se necesita ningún otro adaptador más que el de ++Internal Network++
Pasos a seguir en Kali
Iniciamos Kali Linux, cambiamos al usuario root y ejecutamos el comando ++dhclient++
kali@kali:~$ su -Password:root@kali:~# dhclient -r eth0
root@kali:~# dhclient eth0
Antes de ejecutar dhclient ejecutar Wireshark y iniciar la captura de paquetes.
Los señale para que se puedan dar una idea de la secuencia de DHCP.
Y finalmente podemos corroborar que se le asigno la IP 192.168.10.100
Excelente resumen
Excelente, Muchas gracias.
Subo imagen de como debe quedar las interfaces en el diagrama de la red
Deberían dar recomendaciones de posibles problemas que puedan surgir cuando se guardan las máquinas virtuales, o cuando hay que hacer lagún comando para restablecer conexión
Cuál es el servidor que hace el DHCP Offer ?
o sea el router ?
esque recuerdo que me enseñaron que la diferencia entre router y switch es que el router tiene tabla de direccionamiento y el switch no.
O sea que yo concluyo que el DHCP sólo lo puede hacer el router ya que al poseer tablas de direccionamiento "sabe" que IPs están asignadas en el segmento de red y el switch no.
Por favor si alguien sabe que me diga si estoy en lo correcto, o por lo menos que me dé nociones generales para yo investigarlas, lo agradecería mucho.
GRACIAS
Hola Helios, Estas en lo correcto.
El Router sirve como DHCP Server en muchos casos (ej: el Router de tu casa) . Normalmente un Switch no entrega IPs por DHCP (a menos que sea un Switch avanzado empresarial de capa3/multilayer).
.
En este laboratorio, el linux Debian, sirve como Router y DHCP Server, el Switch esta simplemente implícito, imaginario.
.
Saludos
y ahí cual serí a la diferencia de router y switch ?
si los 2 hacen lo mismo
apt-get install isc-dhcp-server
nano /etc/default/isc-dhcp-server
# Añadir nombre de interfaz
INTERFACESV4=”enp0s3”
nano /etc/dhcp/dhcpd.conf# Añadir configuración de DHCPsubnet 192.168.10.0 netmask 255.255.255.0{ range 192.168.10.100192.168.10.199; option routers 192.168.10.254; option subnet-mask 255.255.255.0; option broadcast-address 192.168.10.255;}# Reinciar servicio DHCP/etc/init.d/isc-dhcp-server restart
# Comprobar funcionamiento del servidor DHCP:# IniciamosKaliLinux:# Liberar dirección IP en la interfaz 1dhclient -r eth0
# Solicitar dirección IP
dhclient eth0
# Comprobar que nos ha asignado una dirección IP:
ifconfig eth0
El curso de Fundamentos de Pentesting ya no existe? no lo encuentro
lo mismo me pregunto pero lamentablemente no ,lo estuve buscando y no está
Me queda la duda en las configuración de isc-dhcp-server.
¿Cuál es la diferencia entre netmask y option subnet-mask?
netmask son todas las direcciones ip que puedes ofrecer y tu subnetmask es si deseas dividir tu netmask en segmentos, busca algo que se llama subneting para que te des una buena idea
Les paso lo mismo ?
Lo has resuelto? tengo el mismo problema :/
obtenia el mismo error que tú, y simplemente tuve que comentar la linea "INTERFACESv6" en la linea de nano /etc/default/isc-dhcp-server
Me falla la intalación del isc-dhcp-server
Y luego me falla la otra configuración.
Hola, buen día/tarde/noche!
¿Qué error te da?
Error que me da:
see systemctl status isc dhcp server service and journalctl for details.
Me metí en foros y dicen que hay que comentar la línea de IPv6 Y remover el /var/run/dhcpd.pid.
Pero aun no funciona.
Y los links para descargar los sistemas ???????
Los links estan en el curso de Fundamentos de Testing, pero aqui estan:
Kali
Debian
Otra pregunta.
¿Por qué aparece como source 0.0.0.0 el paquete de DHCP DISCOVER y cuando el router responde, dice que destination es 192.168.10.101?
Pareciera que incluso antes de que termine la transacción, el equipo toma temporalmente la 101 aunque el router no le ha mandado el ack de que la tiene asignada, ¿es eso correcto?
Hola, aparece el source como 0.0.0.0 porque aún no tiene una IP asignada, el DHCP DISCOVER es el comienzo de la negociación para solicitar una.
Una vez que recibe el mensaje DISCOVER el servidor DHCP, en este caso el router, le ofrece una IP, que es la 192.168.10.101 que vemos como destino en el paquete Offer.
El host la solicita, nuevamente con el source 0.0.0.0 y finalmente el servidor le contesta con un ACK hacia la IP que le ofreció.
En los paquetes siguientes ya podemos ver algunos mensajes con el source 192.168.10.101.
La máscara de red es una herramienta esencial en la administración de redes que permite definir y gestionar subredes de manera efectiva. Proporciona la flexibilidad necesaria para organizar la red de acuerdo con las necesidades específicas de la organización, facilitando el enrutamiento y mejorando la eficiencia de la utilización de las direcciones IP.
Por su capacidad para dividir y administrar redes, la máscara de red es un concepto fundamental en la configuración y operación de cualquier red moderna.
Por ejemplo:
Supongamos que tienes una red con el rango de direcciones IP 192.168.1.0/24 (máscara de subred: 255.255.255.0). Este rango permite 256 direcciones IP posibles, pero solo 254 son utilizables para dispositivos (ya que la primera se reserva para la red y la última para el broadcast).
Es la 3era vez que tengo que volver desde acá a configurar la red, porque siempre pasa algo, no anda internet dns en Kali, o etc.
Por que el router1 tiene acceso a internet si se supone que el que está por NAT es el router2 ?
o que no entendí en la topología de la clase
no es así, creo que el profe lo hizo mas bien porque en futuras clases configura el router 1 instalando paquetes que son requeridos en ambos routers para el dhcp a fin de sólo clonar esa maquina y no tener que hacer ese proceso otra vez desde el inicio
Porque requería descargar unos paquetes.
Un pc puede tener dos ip. Tarjeta de red y tarjeta inalámbrica.
la mía tiene 2 dos interfaces wifi
una que viene dentro de ella y otra que le compré y recibe la señal por usb o eso entiendo, entonces mi pc tiene 3 no?
Excelente Información sobre la simulación sobre todo cuando se capta en Wireshark.
al observar la los paquetes en wireshark dice que a eth0 le asigno la IP 101, pero al observar con ifconfig en kali, la interfaz eth0 dice tener la IP 100
que paso ahi???
A mi no sale la dirección del gateway en wireshark. A que se deberá esto?
Verifica que no tengas ningún filtro que evite que se capture ese tráfico.
alguien tiene la instalacion y configuracion completa del router1? me rechasa la coneccion dhcp y aunque configure el archivo etc/network/interfaces con la ip 192.168.254 la ip de la maquina es 172.. ya intente varias cosas para solucionarlo pero no hay caso
Hola Luca,
Siempre, luego de cambiar los parámetros de /etc/network/interfaces; debes reiniciar el proceso de Networking, por ejemplo con este comando (Yo uso Debian-Distro):
Al momento de reiniciar el proceso, le estas permitiendo a tu Linux, que busque nuevamente la configuración de la ruta "/etc/network/interfaces;" y la cargue en el configuración actual.
Espero te ayude,
Jose Luis
hola yo tambien utilizo debian y habia reiniciado lso procesos luego de cada modificacion pero no no hubo caso, igualmente networing me devuelve un error, lo reestablecia con network-manager
y en las configuraciones de red para kali linux, metasploit y debian lo implemento como uan red NAT no explico esa parte?