Cosillas sobre DHCP

Bueno, tal y como dije, por aquí andamios de nuevo. Esta vez, hablaremos sobre uno de los protocolos más sencillos en redes, pero esencial para que todo funcione, hablo de nada más y nada menos… y nada más, que del protocolo dhcp.

Imagina que entras a un bar y en lugar de pedir una cerveza, pides una IP. El camarero (DHCP) te asigna una mesa (dirección IP) para que puedas estar ahí un ratillo. Cuando te vas, esa mesa queda libre para otro cliente. Así funciona DHCP en una red.

Si no existiera dhcp, habría que ir asignándole de forma manual a cada ordenador una IP. Imagina en una red de empresa o de algún colegio con un porrón de ordenadores… Sería una locura.

Entonces, cómo funciona esta chulada? Pues ya va y te explico papá.

DHCP manda estos 4 diferentes mensajes para que todo funcione:

1- Discover – El ordenador le pide a nuestro camarerito el server dhcp “¡Necesito una IP!”

2- Offer – Nuestro camarerito le responde: “Te ofrezco la IP 192.168.1.100”

3- Request – El dispositivo responde: “Bueno bueno, pues si que me pinta, me quedo con esa.”

4- ACK – El servidor confirma: “Es tuya, úsala con salud y que dios te guarde.”

Esto pasa por ejemplo en casa, donde tu router actúa como servidor DHCP y asigna IPs a tus dispositivos. En la oficina, donde los administradores como el menda pueden configurar DHCP para separar redes (por ejemplo, empleados y visitantes)… y asín.

Qué problemillas podemos encontrar aquí?

Raro, pero puede pasar que dos dispositivos reciben la misma IP (seguramente por algún error de configuración) y los equipos se queden sin conexión a internet.

Otro error que se puede dar es que, debido a los timers para asignar IPs por tiempo limitado, al equipo se le acabe el timer , no renueve la concesión y se quede sin conexión. Como si fuera un bar no? tu vas a comer a una mesa y si no comes más y pasa el tiempo, estás ocupando la mesa demás y viene el camarerito a mandarte a paseo.

Cosillas a tener en cuenta? Pues si queremos evitarnos futuros dolores de cabeza, lo mejor sería activar la función de dhcp snooping. Para qué? para que los switches y routers de la red sepan distinguir entre puertos fiables o no. De esta forma, los comensales pueden entrar tranquilos al bar sabiendo que un alguien que erealmente trabaja en el bar les está atentiendo (server dhcp legítimo) y no es un espabilao que intenta estafarles, previniendo así ataques como el de agotamiento de IPs, como el de asignación de ips falsas, o como el típico de dhcp spoofing y que te claven un man in the middle… locura tinkiwinki.

Todo esto se evita como digo con una correcta configuración que podemos hacer en el router que tengamos. Elegir el pool de direcciones ip privadas a usar en nuestra red, tiempos de concesión de la ip, dns, gateway…

Para curios@s, dejo aquí por si queréis activar el dhcp snooping en un router Cisco:

conf t
ip dhcp snooping
ip dhcp snooping vlan 1
interface GigabitEthernet0/1
ip dhcp snooping trust
exit

Aquí dejo por si queréis probar a configurar un server dhcp lo mas simple posible, tanto en Linux como en windows server:

Linux

-Instalar el servidor DHCP:

sudo apt update && sudo apt install isc-dhcp-server -y

-Editar el archivo de configuración:

sudo nano /etc/dhcp/dhcpd.conf

-Ejemplo de configuración simple:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 8.8.8.8, 1.1.1.1;
default-lease-time 600;
max-lease-time 7200;
}

-Reiniciar el servicio DHCP:

sudo systemctl restart isc-dhcp-server
sudo systemctl enable isc-dhcp-server

Windows Server

-Instalar el Rol DHCP:

Install-WindowsFeature -Name DHCP -IncludeManagementTools

-Crear un nuevo ámbito (rango de IPs asignadas):

Add-DhcpServerv4Scope -Name «Red Local» -StartRange 192.168.1.100 -EndRange 192.168.1.200 -SubnetMask 255.255.255.0 -State Active

-Configurar puerta de enlace y DNS

Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -Router 192.168.1.1
Set-DhcpServerv4OptionValue -ScopeId 192.168.1.0 -DnsServer 8.8.8.8

-Iniciar el servicio DHCP:

Start-Service DHCPServer

Véis…simple y fácil… Entendiendo esto ya os hacéis una idea de como funciona este sencillo pero indispensable protocolo para que el internet funcione.

Espero que se haya hecho ameno y no pesao de leer. Creo que la próxima le tirare al «pajaporte» y así iré inaugurando secciones en este, nuestro bloggsito.

Alguna vez habéis tenido problemas con DHCP en casa o en el curro? Contadme en los comentarios qué os ha pasado y si habéis encontrado soluciones raras o simplemente os habéis pirado porque en casita se está mejor.

Sin más dilación caballeras y señoros, nos olemos en próximas entradas.

Chau. 😉

Comentarios

2 respuestas a “Cosillas sobre DHCP”

  1. Avatar de Miderito
    Miderito

    Oye como puedo configurar DHCP en una red con múltiples VLANs sin que haya problemas de asignación de IPs?

    Le gusta a 1 persona

    1. Avatar de levi lozano
      levi lozano

      Una muy interesante pregunta baia… Lo primero seria asignar diferentes subredes a cada vlan, cada uno con su rango definido y cada una con su puerta de enlace correcta. El problema aquí es que el mensaje dhcp discover no atraviesa vlans porque los dominios broadcast son diferentes en las diferentes vlans. Imaginate que el server dhcp está en la vlan 20 y un cliente manda un discover en la vlan 10, el server no verá el discover de ese cliente. Para ello está nuestro amigo el relay agent que pillará el mensaje discover del cliente de la vlan 10 q va en modo multicast y lo hará unicast para mandarlo al server ubicado en la vlan 20. A partir de ahí, la comunicación entre cliente y server será a través del relé. Espero haber respondido tus dudas 😉

      Me gusta

Replica a Miderito Cancelar la respuesta