Configurando DHCP

La negociación DHCP sigue estos 4 pasos:

  1. El cliente envía un mensaje "DHCP Discover" por broadcast: Incluso sin una IP válida de origen, el cliente puede enviar a la dirección broadcast para encontrar cualquier servidor de DHCP que esté escuchando. La dirección MAC del cliente se incluye en el mensaje de broadcast.
  2. Un servidor DHCP responde con un mensaje "DHCP Offer": el mensaje contiene una oferta para usar una dirección IP, su máscara y una puerta de enlace (gateway) además de algunos parámetros para usar la IP. El servidor también incluye su propia dirección IP para identificar quién está haciendo la oferta.
  3. El cliente envía un mensaje "DHCP Request": Cuando el cliente recibe una oferta hace una petición para usar la IP ofrecida. Este mensaje es también enviado vía broadcast ya que la IP no es aún oficial.
  4. El servidor DHCP responde con un mensaje "DHCP ACK": La dirección IP y los parámetros necesarios para usarla son devueltos al cliente como aprobación formal para que el cliente pueda usarla legítimamente. El mensaje ACK se envía como broadcast.

Debido a que DHCP es un mecanismo dinámico, las direcciones IP se ofrecen en alquiler temporal. Antes de que expire el tiempo ofrecido, el cliente debe intentar renovar su dirección; de lo contrario, esa dirección se puede ofrecer a un cliente diferente.

Se debe tener en cuenta que DHCP está diseñado para funcionar dentro de un dominio de difusión. La mayoría de los mensajes en un intercambio DHCP se envían como difusiones (broadcast). Con lo que se debería haber un servidor DHCP para cada dominio de transmisión o VLAN en la red, lo cual no no siempre posible. Para ello se puede configurar un dispositivo de capa 3 (switch o router) para retransmitir la negociación DHCP a través de los límites de VLAN.

Para configurar un servidor DHCP en un switch multi capa podemos utilizar estos comandos:

Switch(config)# ip dhcp excluded-address start-ip end-ip
Switch(config)# ip dhcp pool pool-name
Switch(config-dhcp)# network ip-address subnet-mask
Switch(config-dhcp)# default-router ip-address [ip-address2] [ip-address3] ...
Switch(config-dhcp)# lease {infinite | {days [hours [minutes]]}}
Switch(config-dhcp)# exit

Para excluir IP de ser asignadas a los cliente usaremos el primer comando ip dhcp excluded-address start-ip end-ip, no es necesario excluir la dirección de broadcas ni direcciones usadas por interfaces del switch.

Se da un nombre al pool (segunda línea) y dentro se definen la red con el comando network y la puerta de enlace (gateway) con el comando default-router. También se le indica el tiempo que puede usar la IP el cliente, siendo por defecto un día.

Para comprobar las asignaciones podemos usar:

Switch# show ip dhcp binding

Si en algún caso quisiéramos eliminar una asignación podemos utilizar esto comando:

Switch# clear ip dhcp binding {* | ip-address}

Para asignar a cierto cliente (MAC address) una ip en concreto y evitar asignación la siguiente libre podemos configurar:

Switch(config)# ip dhcp pool pool-name
Switch(config-dhcp)# host ip-address subnet-mask
Switch(config-dhcp)# client-identifier mac-address
Switch(config-dhcp)# exit

Se puede configurar una opción DHCP en un grupo DHCP con el siguiente comando:

Switch(dhcp-config)# option option-num value

Siendo las opciones:

Número de opción Función
43 Ubicación de un controlador de LAN inalámbrica para puntos de acceso inalámbrico ligeros.
69 Ubicación de un servidor SMTP.
70 Ubicación de un servidor POP3.
150 Ubicación de un servidor TFTP para teléfonos IP de Cisco.

Si tenemos un servidor de DHCP centralizado en la red podemos hacer que el switch multi capa re-envíe (relay) los mensajes DHCP entre los clientes y el servidor incluso si ambos están localizados en diferentes VLANs o redes.

Para configurar el relay usamos el comando "ip helper-address" en la interface VLAN donde está el cliente indicando la IP del servidor, por ejemplo:

Switch(config)# interface vlan71
Switch(config-if)# ip address 192.168.3.1 255.255.255.0
Switch(config-if)# ip helper-address 192.168.71.28
Switch(config-if)# exit

Un cliente puede crear una dirección única global combinando la información anunciada desde un router con información del propio adaptador de red del cliente. El router proporciona 64 bits del prefijo de subred de capa 3, mientras que el cliente agrega una ID de interfaz EUI-64 de 64 bits. El ID de interfaz consta de la mitad superior de la dirección MAC de la interfaz (24 bits), seguida de la cadena hexadecimal FFFE (16 bits), seguida de la mitad inferior de la dirección MAC (24 bits). El cliente también puede recoger otra información necesaria del router, como la dirección predeterminada del router y la unidad de transmisión máxima (MTU).

La configuración automática sin estado proporciona solo la información más básica que un cliente necesita comunicar: una dirección IPv6, el prefijo IPv6 y la dirección del router (Gatweway) predeterminado. Para obtener algo más, como un nombre de dominio, la dirección del servidor DNS, etc., un cliente debe depender de un servidor DHCP.

Para configurar un servidor DHCPv6 en un switch multi capa podemos utilizar estos comandos y opciones:

Switch(config)# ipv6 dhcp pool pool-name
Switch(config-dhcp)# address prefix ipv6-prefix
Switch(config-dhcp)# dns-server dns-address
Switch(config-dhcp)# ddomain-name name
Switch(config-dhcp)# exit

En IPv6 no se puede excluid direcciones ni tampoco hacer asignaciones manuales.

Al igual que en IPv4 podemos configurar un relay en la interface de nivel 3 (física o SVI):

Switch(config)# interface type member/module/number
Switch(config-if)# ipv6 address prefijo
Switch(config-if)# dhcp relay destination ipv6-address
Switch(config-if)# exit

Retro

Lugares

Redes

Sistemas

Varios