El servicio DHCP

Vicente González Ruiz

December 26, 2013

Contents

1 Introducci’on
2 Instalando el servidor
3 Configuraci’on del servidor
4 Control del servidor
5 Configuraci’on del cliente
6 An’alisis del tr’afico DHCP

1 Introducci’on

Un servidor DHCP (Dynamic Host Configuration Protocol) se utiliza para configurar de forma autom’atica a nivel del IP los adaptadores de red. La idea es que los usuarios (clientes) no tengan que preocuparse de este proceso y que los administradores de la red puedan gestionar sus direcciones IP de forma c’omoda y flexible.

Hoy en d’ia, por defecto, todos los sistemas operativos tratan de obtener la configuraci’on IP de los adaptadores de red de la computadora usando el DHCP.

2 Instalando el servidor

3 Configuraci’on del servidor

# No vamos a actualizar el DNS  
ddns-update-style none;  
 
# Definimos el dominio de los clientes  
option domain-name "lab_redes.ace.ual.es";  
 
# Definimos los servidores de nombres que utilizar’an los clientes  
option domain-name-servers 150.214.156.2, 150.214.156.32;  
 
# Tiempo de las concesiones, por defecto  
default-lease-time 600;  
 
# Tiempo m’aximo de las conexiones  
max-lease-time 7200;  
 
# Este es el servidor DHCP que manda  
authoritative;  
 
# Use this to send dhcp log messages to a different log file (you also  
# have to hack syslog.conf to complete the redirection).  
log-facility local7;  
 
# Definimos el rango de dirs IP disponibles  
subnet 192.168.213.0 netmask 255.255.255.0 {  
  interface eth1; # Pueden existir diferentes rangos para distintos NICs  
  range 192.168.213.4 192.168.213.254;  
  option broadcast-address 192.168.213.255;  
  option routers 192.168.213.2;  
}  
 
# Definimos las concesiones est’aticas  
host laptop {  
  interface eth1;  
  # La dir f’isica del NIC para el cliente "192.168.213.3".  
  hardware ethernet 00:10:5a:2e:56:a7;  
  # Direcci’on IP del cliente. Tambi’en se puede usar un nombre. En  
  # este ’ultimo caso el servidor DHCP utilizar’a el DNS para  
  # resolverla.  
  fixed-address 192.168.213.3;  
  option broadcast-address 192.168.213.255;  
  option routers 192.168.213.2;  
}

N’otese que la anterior configuraci’on para el servidor deber’ia ser alterada con la idea de que, cuando la concesi’on de realice, no se vea cambiada su configuraci’on actual. En otras palabras, modifique la configuraci’on mostrada para el servidor de manera que cuando el cliente se ejecute, se mantenga la configuraci’on del IP del adaptador de red que actualmente est’a usando para conectarse a Internet.

4 Control del servidor

El script de lanzamiento, parada, estatus, etc. del servidor se encuentra almacenado en:

/etc/init.d/isc-dhcp-server

Invquese sin parmetros para obtener las diferentes acciones que pueden ser aplicadas al servidor.

5 Configuraci’on del cliente

6 An’alisis del tr’afico DHCP

  1. Renueve la configuraci’on del IP para eth0 mientras captura paquetes con Wireshark.
  2. Escriba en el campo de filtrado “bootp” (el DHCP es una evoluci’on del protocolo bootp que se utiliza para arrancar las m’aquinas sin disco). Deber’iamos ver los paquetes DHCP Discover, DHCP Offer, DHCP Request y DHCP Ack.
  3. Intente ahora responder a las siguiente preguntas:
    1. ¿Qu’e protocolo de la capa de transporte es utilizado por el DHCP?
    2. ¿Cu’al es la direcci’on f’isica del interface de red de nuestro host? ¿Coincide ’esta con la que devuelve /sbin/ifconfig?
    3. Renueve la configuraci’on capturando de nuevo los paquetes generados por el sistema DHCP. ¿Ha cambiado el campo Transaction-ID del mensaje DISCOVER respecto de la primera concesi’on? Por qu’e?
    4. ¿Cu’al es la dirección IP del servidor DHCP?
    5. ¿A qu’e puerto son enviadas las peticiones? ¿A trav’es de qu’e puerto (en el servidor) son retornadas las concesiones? ¿A qu’e puerto (en el cliente) se reciben las concesiones?
    6. ¿Cu’al es la dirección IP concedida?
    7. ¿Cu’anto dura la concesi’on?
    8. Vac’ie el campo de filtrado en el Wireshark. ¿Se generan paquetes ARP durante la transacci’on DHCP? ¿Para qu’e sirven estos paquetes? (conteste a esta pregunta incluso cuando estos paquetes no se generan2 ).