Dhcp al descubierto

Underc0de - Dhcp 1

Que es DHCP.

Dinamic Host Configuration Protocol o Dpch. Este protocolo permite a los nodos de una red IP obtener los parámetros de configuración automáticamente. Es un servicio basado en el modelo cliente / servidor y se creó en 1993 por el grupo de trabajo de configuración dinámica
de equipos del IETF (organización encargada de definir los protocolos de Internet).

DHCP para la versión 4 del protocolo IP está descrito en los RFC 2131 que describe la configuración del cliente DHCP y el RFC 2132 que describe la configuración del servidor DHCP. Para la versión 6 del protocolo IP se encuentra en el RFC 3315 que describe el servicio DHCP.
El protocolo DHCP utiliza los puertos 67 y 68 UDP para la comunicación entre el servidor y cliente.
El servicio DHCP proporciona un mecanismo rápido de configuración de red por cliente.

El administrador puede asignar a los clientes, con el servidor DHCP, direcciones IP dinámicas sin necesidad de asignar cliente a cliente los datos correspondientes a su IP, máscara de subred, puerta de enlace.

El protocolo DHCP es compatible con el su predecesor, el protocolo BOOTP (Bootstrap Protocol). Es un protocolo de red UDP que lo utilizan los clientes de red para obtener dirección IP automáticamente.

Como funciona DHCP.

Un servidor DHCP va dando o renovando direcciones IP a las máquinas clientes cuando arrancan. Permite configurar de forma automática:

  • Dirección IP del cliente.
  • Máscara de subred.
  • Tiempo de concesión (lease time) tiempo que el cliente mantiene como propios los datos que le asigna el servidor. (Por defecto 8 días en Windows)
  • Tiempo de renovación (renewal time) tiempo que el cliente intentará renovar su IP con el servidor DHCP que en principio será cuando haya consumido el 50% del tiempo de concesión (defecto)
  • Tiempo de reconexión (rebinding time) cliente hará nueva petición de broadcast pidiendo una nueva IP cuando haya consumido el 87,5% del tiempo de concesión (defecto)

Y de forma opcional puede configurar:

  • Puerta de enlace (Default Gateway)
  • Servidores DNS
  • Nombre del dominio DNS
  • En redes Windows también permite asignar tipo de nodo WINS / NBT y servidor WINS (resolución de nombres utilizado antes de Active Directory con DNS).
  • Otros, …

Tipos de asignación de direciones.

Para asignar las direcciones IP, el servidor DHCP tiene 3 posibilidades:

1 .- Asignación manual o estática (MAC): asigna una dirección IP a una máquina determinada. Se usa cuando se quiere controlar la asignación de dirección IP a cada cliente, y evitar, también, que se conecten clientes no identificados.

2.- Asignación automática (no caduca): asigna una dirección IP de forma permanente a una máquina cliente la primera vez que hace la solicitud al servidor DHCP y hasta que el cliente la hace libre. Se utiliza cuando el número de clientes no varía demasiado.

3.- Asignación dinámica (sí caduca): asigna a una máquina cliente una dirección IP de forma temporal (leases). Así se gestionan las direcciones IP, según la frecuencia de altas y bajas de clientes y la cantidad de direcciones disponibles se da más o menos tiempo para usarla. Hay direcciones IP que no interesa asignarlas con DHCP, como por ejemplo las los servidores (estáticas) o las impresoras. Es el intervalo de exclusión.

Underc0de - Dhcp leases

Mecanismos de funcionamiento.

El servidor DHCP escucha las solicitudes de los clientes y almacena las tablas con las posibles direcciones IP a asignar.

Cuando un cliente DHCP se conecta a la red envía una solicitud en forma de mensaje de broadcast o difusión. Todos los posibles servidores DHCP que han recibido la solicitud responden al cliente proponiéndole una IP, el cliente acepta una de ellas (la primera que recibe) y le comunica al servidor elegido, el cual le contesta con un mensaje que incluye la cabecera MAC del cliente, la dirección IP y la máscara de subred asignada, la dirección IP del servidor y el período de validez (lease o concesión) de la dirección IP.

Esta información continúa asociada al cliente mientras éste no desactive su interfaz de red o no finalice el tiempo de asignación (lease time).

El lease time es el tiempo en que un cliente DHCP mantiene como propios los datos de direcciones que le asignó el servidor.

Negocia como parte del protocolo, una vez que ha finalizado el tiempo, el servidor puede renovar la información del cliente y asignarle una nueva dirección o ampliar la concesión manteniendo la misma información.

Antes de que se consuma el período de validez el cliente envía una solicitud de renovación al servidor, que será atendida o no.

Si llega a expirar completamente el tiempo de validez ha de pedir una nueva dirección IP.

La comunicación se realiza a través de puertos UDP 67 en el servidor y 68 al cliente.

La dirección MAC indicará al cliente si el mensaje es para él.

Una vez configurado DHCP la intervención del administrador es mínima, excepto en determinadas situaciones como por ejemplo la incorporación de un número excesivo de nuevos equipos en la red que agoten las direcciones IP disponibles, según la configuración y tipo de asignación establecida.

Los diferentes servidores DHCP de una red local no se comunican entre sí por conocer que direcciones IP debe asignar cada uno.

Mensajes Dhcp.

Cliente y servidor intercambian mensajes con el protocolo DHCP, algunos de los cuales son:

  • DHCPDISCOVER: Mensaje de difusión o broadcast del cliente para detectar (Descubrir) los servidores DHCP activos.
  • DHCPOFFER: Mensaje de un servidor al cliente como respuesta a un DHCPDISCOVER que incluye una propuesta de configuración (parámetros)
  • DHCPREQUEST: Mensaje del cliente a un servidor en el que acepta la propuesta del servidor, confirma los datos recibidos desde el servidor y acepta el contrato con una dirección IP determinada.
  • DHCPACK: Mensaje del servidor DHCP hacia el cliente enviando la confirmación de los parámetros de la configuración asignada con la dirección IP.
  • DHCPNAK: Mensaje del servidor DHCP al cliente indicando que la lease ha terminado o que la dirección IP asignada no es válida (por ejemplo se ha modificado la conexión y se ha pasado a otra máquina).
  • DHCPRELEASE: Mensaje del cliente al servidor DHCP indicando que libera la dirección IP asignada y termina con el contrato establecido.
  • Underc0de - Dhcp 2El proceso de asignación de una dirección IP a un cliente es el siguiente:1. El cliente envía un mensaje de difusión DHCPDISCOVER en la red para detectar los servidores DHCP activos. Este mensaje lleva incluida la MAC de la interfaz de red, que es su dirección hardware.2. Los servidores activos responden al cliente enviando un mensaje DHCPOFFER que incluye una propuesta de configuración incluido un valor IP disponible, junto con otros datos como la MAC de la interfaz del cliente, dirección IP del servidor que lanza el mensaje y datos de la concesión. Es posible que el cliente reciba más de un mensaje DHCPOFFER (uno por servidor).Underc0de - Dhcp 33. El cliente envía un mensaje de solicitud DHCPREQUEST que incluye qué es el servidor seleccionado. El resto de servidores retiran su oferta de IP al cliente.

    4. El servidor DHCP implicado recibe el DHCPREQUEST del cliente. entonces registra la asignación y envía un mensaje de reconocimiento DHCPACK al cliente que incluye los parámetros de la configuración asignada junto con la dirección IP.

    Underc0de - Dhcp 5

    El cliente recibe el mensaje DHCPACK, y ejecuta la orden arp (para conocer la correspondencia entre una dirección IP y una dirección MAC) con la IP asignada para comprobar que no está duplicada. A partir de este momento el cliente está configurado.

    6. La Renovación de la IP funciona de la siguiente manera:

    Underc0de - Dhcp 7

    Cuando un cliente no es capaz de conectar con un servidor DHCP para obtener su dirección, entonces utiliza la asignación APIPA (Automatic Private IP Addresing o Direccionamiento IP Privado Automático), que consiste en la asignación de las direcciones IP de la red 169.254.0.0. Hay algunos sistemas operativos que incluyen la posibilidad de establecer una configuración IP estática para que se utilice para el equipo en caso de que falle la asignación por DHCP, lo que puede resultar muy útil cuando hay un equipo portátil que se utiliza en diferentes redes.

    Así, el pc al iniciarse, si Tiene ‘Descargar IP automáticamente’ Hara:

  • Si Tiene IP: Intenta conectar con el Default Gateway para comprobar que sigue en la misma red. Si esta en otra red perdiera la IP
  • Si No tiene IP: Hace broadcast Buscando servidor DHCP que de una IP.
  • Cuando PC PIDE dirección a servidor DHCP y éste no le contesta, despés de 4 intentos, toma una dirección APIPA (de la red 169.254.0.0). ésta dirección tendría que ser pública pero Microsoft se la queda y la hizó privada, el cliente que obtiene dirección APIPA Sigue comprobando si el servidor DHCP está disponible en intervalos de 5 minutos.

La IP que se ha pedido al servidor DHCP necesita renovación:

  • Si la IP ha permanecido en cliente por más del 50% del tiempo de Concesiones se Hace petición de DHCPREQUEST.
  • Al arrancar Hace DHCPREQUEST, si va bien Sigue con la IP, y si no intenta contactar con el DefaultGateway, si el Consigue Sigue con la MISMA IP, sino

Hace un DHCP Discover. Este se debe pensar como un portátil que cambia de red, y antes de conectarse se asegura que existe el DG.

Ventajas y desventajas

La asignación manual trae más problemas, ya que se ha de introducir las direcciones IP a la máquina, y existe la posibilidad de equivocación o de conflictos con otros equipos si hacen utilizando la misma IP, además de cambiar la IP cuando se cambia de lugar un equipo. Pero si no disponemos de servidor DHCP, o si queremos un control de la máquina para IP, o montar un servidor o incluso hacer enrutamientos entre máquinas deberemos utilizar.

Con DHCP los valores TCP / IP se asignan al arranque del cliente sin tener que ponerlos, no hay equivocaciones ni conflictos y podemos mover el equipo entre las subredes sin actualizaciones.

Ventajas de obtener IP automáticamente sobre manual:

  • Los valores TCP/IP son asignados cuando arranca cliente sin necesidad de intervención del administrador.

En manual se han de introducir en cada equipo manualmente

  • Centraliza la información, de manera que una vez probado no puede haber errores. En manual si.
  • Aumenta seguridad de red frente fallos como duplicidades y valores incorrectos de IP
  • Permite la movilidad de los equipos entre sus diferentes subredes. Al reiniciar tomará nueva IP de la red dónde se encuentre.

Underc0de - dhcp estatico o manual

¿Dónde configurar el servicio DHCP?

Se configura en servidores, ya sea Windows o Linux. Pero no tenemos que olvidar que hay routers que pueden ofrecer el servicio DHCP mediante la implementación de IPEasy. Los routers Cisco y Linksys lo traen instalado.

¿ Cuando no utilizaremos en el cliente obtener IP automáticamente ?

  • Si no tenemos servidor DHCP
  • Si queremos dejar una IP fija en una máquina (por ejemplo un servidor de IIS)
  • Si queremos montar enrutamiento entre máquinas….

Caso real.

1.- Si hay varias redes a las que atiende DHCP:

Underc0de - Dhcp 10

DHCP sabrá si tiene que dar IP a la red C o a la red B dependiendo de que tarjeta de red solicite la petición al DHCP. El PCA no puede recibir IP del DHCP porque al hacer PCA un broadcast para descubrir el DHCP este no pasa del router. Así el PCA de la red A no podrá recibir IP del DHCP si:

  • Router tiene estándar RFC1542 Compliant
  • En red A hay un servidor con software de relayAgent que reenvíe la petición alservidor DHCP como mensaje dirigido, no como broadcast. Este relayAgent puede estar configurado en el router.

2.- Si hay varios servidores DHCP en la misma red para tener tolerancia a fallos. Supongamos que tenemos 2 servidores DHCP, los podríamos configurar de la siguiente forma:

DHCP 1   DHCP 2
Rango: 10.10.10.126 – 10.10.10.254      Rango: 10.10.10.11 – 10.10.10.125

Se aconseja la siguiente configuración, en lugar de la anterior

DHCP 1  DHCP 2
Rango: 10.10.10.1 – 10.10.10.254                            Rango: 10.10.10.1 – 10.10.10.254
Exclusión (Servidores): 10.10.10.1 – 10.10.10.10       Exclusión (Servidores): 10.10.10.1 – 10.10.10.10
Exclusión (otro DHCP): 10.10.10.11 – 10.10.10.125    Exclusión (otro DHCP): 10.10.10.126 – 10.10.10.254

Esto es debido a que si PC pide IP a DHCP1 y pide renovar IP (50% del tiempo) estando DHCP1 caído y no contesta se queda con ella.

Si pasa el tiempo de renovar (80% del tiempo) entonces hace un broadcast para tomar otra IP o renovar. Si este broadcast llega al DHCP2 verá que la IP que tiene el PC no esta en su scope y le da otra del suyo, pero si el DHCP1 ha vuelto entonces le renovará la IP en su scope.

Así el PC tendrá la IP que le da DHCP2 y estará activa también en DHCP2.


Agradecemos a Stiuvert por compartir de su experiencia y apuntes de Dhcp al descubierto.


Posts Relacionados

Comments

comments

Deja una respuesta

Tu email no será publicado. Los campos requeridos estan marcados con *
Puedes usar tags HTML y los atributos: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">