Configurando DHCP
La negociación DHCP sigue estos 4 pasos:
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