Sunteți pe pagina 1din 8

Servicio DHCP

DHCP es el nombre de un servicio, pero tambin de un protocolo. DHCP es un acrnimo que corresponde a Dinamic Hosts Configuration Protocol, o lo que es lo mismo,Protocolo de Configuracin Dinmica de Hosts. Su funcionamiento se describe en el RFC 1541. El servicio DHCP se encarga de asignar direcciones IP de forma dinmica a las mquinas que lo solicitan. Las ventajas de usar DHCP son muchas y podemos mencionar la comodidad de no tener que asignar direcciones de forma manual en los equipos, la posibilidad de cambiar todas las direcciones asignadas desde el servidor, el control del uso de las direcciones, etc... Para configuracin de redes inalmbricas de libre acceso es especialmente til contar con un servidor DHCP. El servicio DHCP trabaja en cuatro pasos, correspondientes a las cuatro tramas que se envan por la red para su funcionamiento: El cliente DHCP (la mquina que desea obtener una direccin IP) busca si hay algn servidor DHCP en la red. Esto lo hace enviando una trama broadcast que ha recibido el nombre de DHCPDISCOVER o trama de descubrimiento DHCP. Si hay algn servidor DHCP que recibe el DHCPDISCOVER, enviar una trama a la mquina que hizo la solicitud, con una oferta de direccin IP y varias opciones. Si hay varios servidores DHCP, cada uno realizar una oferta. A esta trama de oferta se le conoce comnmente como DHCPOFFER. La mquina cliente elegir una de las ofertas y responder con otra trama broadcast, al objeto de que tanto el servidor cuya oferta ha sido aceptada como los restantes sepan la eleccin del cliente. El servidor cuya oferta fue aceptada anota la direccin como asignada a dicho cliente y el resto borran de memoria las ofertas que le realizaron y que tenan en reserva a la espera de que las aceptara o no. La trama que se enva en este caso se llama DHCPREQUEST. Por ltimo el servidor cuya oferta ha sido aceptada enva una trama conocida como DHCPACK, para indicar que todo el proceso ha sido correcto. Cuando el cliente recibe este DHCPACK comienza a usar la direccin IP y no antes, puesto que en el supuesto de que ocurriese un fallo durante el paso anterior (3) el servidor DHCP no sera consciente de que el cliente est interesado en su oferta de IP y transcurrido un breve periodo de tiempo la ofertara a otro. Por eso es necesario esta ltima trama. Tipos de paquetes DHCP:

DHCP Discover: El paquete de descubrimiento que enva una estacin para obtener una primera respuesta de los servidores DHCP de la red. DHCP Offer: El paquete con la 'oferta' que cada servidor DHCP enva a los clientes que han enviado un Discover. DHCP Request: Solicitud del cliente para quedarse con alguna de las ofertas recibidas. Tambin para renovar la concesin obtenida. DHCP ACK: Confirmacin del servidor al cliente de que puede hacer uso de la direccin IP que le haba ofertado anteriormente.

DHCP NACK: Enviado por el servidor para indicar normalmente que su concesin ha expirado o indicndole que los parmetros son errneos. Por ejemplo si el cliente solicita una IP que no corresponde a lred donde se encuentra situado y el servidor es autoritativo. En cualquier caso le indica al cliente que realice de nuevo el proceso de obtencin de IP. DHCP Inform: Paquete en el que el cliente pide al servidor uno o varios parmetros locales una vez que ha obtenido su direccin IP. DHCP Release: Lo enva el cliente para anunciar que libera su direccin IP. DHCP Decline: El cliente ha detectado que la direccin IP que le oferta el servidor ya est en uso y lo comunica para que el servidor la marque como 'no asignable'. El servidor debe enviar otro OFFER al cliente.

Proceso de renovacin de una concesin IP


Cuando una mquina recibe una direccin IP de un servidor DHCP, la emplea durante un tiempo que viene definido en el servidor por una variable default_lease_time, que indica el tiempo de concesin por defecto. Sin embargo, es muy comn que el host desee seguir usando la IP ms tiempo del asignado por defecto. Adems al host no le interesa normalmente quedarse sin conexin para tener que volver a solicitar una nueva IP. Transcurridos los 4/8 (la mitad) del tiempo de concesin por defecto, el cliente inicia el proceso de renovacin de IP, solicitando al servidor que le permita seguir usndola por ms tiempo. Si la respuesta del servidor es afirmativa, el cliente puede seguir usando la IP por un tiempo igual al default_lease_time, que comienza a contar desde el mismo momento que el servidor la concede la renovacin. Si el proceso de renovacin fracasa, el cliente lo vuelve a intentar a los 7/8 del tiempo de concesin. Si el servidor acepta vuelve a disponer de un tiempo igual al tiempo de concesin por defecto. Si tiene lugar un nuevo fracaso a los 7/8 del tiempo de concesin, el cliente debe dejar de usar la IP cuando transcurra el tiempo de que dispone. El cliente puede renovar indefinidamente la IP siempre que lo acepte el servidor, hasta alcanzar el tiempo de concesin mximo, que se define en otra variable max_lease_time. Este tiempo de concesin mximo se establece para evitar que algunas mquinas tengan IP durante tiempo indefinido mientras otras estn a la espera de que quede alguna IP libre. El tiempo mximo de concesin obliga a la mquina que tena la IP a competir con las que esperan una IP si la hay. El proceso de renovacin se realiza mediante el envo de dos tramas muy semejantes a la 3 y 4 del proceso de concesin.

Fichero dhcpd.conf
El fichero de configuracin /etc/dhcp/dhcpd.conf comienza habitualmente con la siguiente declaracin: ddns-update-style interim; o bien: ddns-update-style ad-hoc; Esta declaracin hace referencia a modo de actualizacin de las mquinas que reciben direccin mediante DHCP en el servidor DNS. Para mantener compatibilidad con servidores antiguos se usar el modo ad-hoc. Es preciso modificar la configuracin de las zonas en el fichero de configuracin de los servidores DNS. Otra declaracin importante es la de authoritative. Esta opcin hace que el servidor se considere el que tiene la autoridad sobre las subredes y acte como tal, entendindose que su configuracin es la vlida (por si existen ms servidores DHCP) para las subredes que se definan en su fichero de configuracin. Este parmetro puede ser global y aplicarse a todas las subredes o aplicarse slo a algunas de ellas. El comportamiento del servidor ir encaminado a intentar corregir las malas configuraciones de sus clientes.

Si el servidor DHCP cambia su configuracin y recibe despus una solicitud de renovacin, no conceder dicha renovacin, y enviar un DHCPNACK para indicar al cliente que debe comenzar de nuevo el proceso de solicitud de direccin IP desde el principio. Si un cliente solicita una IP no vlida para la subred en la que se encuentra, el servidor DHCP le enviar un DHCPNACK para indicarle que solicite una nueva direccin IP. Si un ordenador con una MAC no autorizada para el servidor solicita una IP o una renovacin se le denegar.

El comportamiento por defecto de un servidor DHCP es como no autoritativo. Hay dos variables muy importantes referentes al tiempo por el cual el servidor concede una direccin IP:

default_lease_time: es el nmero de segundos por el cual se le asigna una direccin a un cliente. max_lease_time: es el tiempo mximo que un cliente puede retener su direccin IP. El cliente que quiere seguir haciendo uso de la direccin que le ha sido asignada puede hacerlo renovando la concesin tantas veces como le permita el servidor, pero hasta un tiempo mximo definido en esta variable.

Estas dos variables pueden ser redefinidas en el interior de cada declaracin de subred. Para definir una subnet en la cual mi servidor dhcp asignar direcciones debo aadir al fichero las siguientes lneas:

subnet [direc_subred] netmask [mscara] { [opciones]; } donde:


[direc_subred] es la direccin IP de la subred a la cual quiero asignar direcciones. La subred a la que pertenece mi servidor debe aparecer en el fichero de configuracin. [mscara] es la mscara de la subred. [opciones] son las posibles opciones que se usan para las mquinas de esa subred. Cada opcin debe acabar con ;

Las opciones ms comunes son:

range: es la ms importante de ellas y la que hay que definir siempre. En ella se define el rango de direcciones IP que se desea asignar. Se indica la primera y la ltima de las direcciones a asignar separadas por un espacio. Ejemplo:

range 192.168.0.10 192.168.0.20;

option routers: con esta opcin se indica a las mquinas cliente las posibles gateways o puertas de enlace. Ejemplo:

option routers 192.168.0.200;

option domain-name-servers: las mquinas que incluyamos en esta opcin sern los servidores dns que se enviarn a las mquinas cliente. Ejemplo:

option domain-name-servers 195.235.113.3, 195.235.96.90;

option domain-name: sirve para asignar un nombre de dominio a las mquinas cliente. Ejemplo:

option domain-name "midominio.es";

option subnet-mask: permite asignar mscaras de red diferentes a las definidas en la declaracin de la subred, en [netmask].

option subnet-mask 255.255.240.0; Otras opciones:


option ntp-server: para especificar un servidor de hora. option broadcast-address: para especificar una direccin de broadcast. option ip-forwarding on/off: para especificar si el host debe habilitar el enrutamiento o no. option netbios-name-servers: para especificar un servidor wins. ddns-updates on/off: para especificar si se realiza la actualizacin en el DNS o no.

option host-name nombre_del_host: para especificar un nombre al host cuando se realiza una reserva. Slo es til si el host no tiene ya asignado un nombre (localmente), ya que si lo tiene asignado esta opcin no tiene validez. ddns-hostname: nombre con el que el host ser registrado en el servidor DNS. Puede contener un nombre FQDN o no, ya que el dominio se puede dar con la opcin ddnsdomainname. Slo se debe especificar aqu el nombre FQDN completo si no se emplea la opcin ddns-domainname. ddns-domainname: nombre de dominio con el que el host ser registrado en el DNS. Si se especifica, en la opcin ddns-hostname slo se debe poner el nombre de host. Ambas opciones formarn el nombre FQDN completo. NOTA: no confundir con la opcin option domain-name, que asignan el nombre a la mquina cliente one-lease-per-client: si a continuacin se aade la palabra on, si un cliente que ya tiene una ip asignada solicita otra, se ver obligado a liberar automticamente la primera. Es un caso a considerar si tenemos msde una interfaz de red. server-identifier x.x.x.x: La ip que corresponda en lugar de x.x.x.x es la interfaz que se considera adecuada para responder a las peticiones. Se usa en el caso de que el servidor tenga varias direcciones IP asignadas a una misma interfaz y se quiera controlar el servicio. netbios-node-type x: en el lugar de la x debemos usar 1, 2, 4 u 8, dependiendo del tipo de comunicacin NetBIOS que deseemos en nuestra red. El 1 corresponde a nodos-B (Broadcast) que resuelven las consultas preguntando mediante broadcast. Es la opcin por defecto en los Windows. El 2 o nodo-P (peer-to-peer) corresponde a usar un servidor WINS, con lo que no hay broadcast. El 4 es el nodo-M (mixed) que usa broadcast y si no obtiene respuesta entonces pregunta a un WINS. El 8 o dodo-H (hybrid) intenta preguntar a un WINS y si no obtiene respuesta usa broadcast.

Una vez terminado puedo emplear dhcpd -t o dhcpd3 -t para validar el fichero. DHCP tambin usa el archivo /var/lib/dhcp/dhcpd.leases para almacenar la base de datos de arrendamiento de clientes.

Asignacin de direcciones IP estticas


Existen muchos casos en los que interesa que una misma mquina siempre tenga la misma IP pero no se desea ponrsela fija, sino que se quiere que la obtenga por DHCP. El servidor DHCP permite realizar reservas de direcciones para mquinas en concreto, asignando siempre la misma IP a la misma direccin MAC. Para realizar una reserva es preciso incluir en el fichero de configuracin dhcpd.conf unas lneas del tipo: host [nombre] { hardware ethernet [MAC]; fixed-address [IP];

} donde [nombre] es el nombre que se quiere dar al equipo, [MAC] es la direccin MAC que tiene la tarjeta de red de dicho equipo e [IP] es la direccin IP que se quiere que se le asigne siempre. Si se desea que la mquina cliente sea dada de alta en un servidor DNS se debe incluir la opcin siguiente: ddns-updates on;

Un ejemplo podra ser: host PC01 { ddns-updates on; hardware ethernet 00:50:eb:af:f1:3d; fixed-address 192.168.1.100; }

Concesiones DHCP
En el servidor DHCP, el archivo /var/lib/dhcp/dhcpd.leases almacena la base de datos de arrendamiento (concesiones) del servidor DHCP. Este archivo no debe modificarse manualmente, pues puede provocar alguna incongruencia en el servicio. La informacin sobre la concesin DHCP de cada direccin IP asignada recientemente se almacena de modo automtico en la base de datos de arrendamiento (fichero dhcpd.leases). La informacin incluye el tiempo de concesin, a quin se ha asignado la direccin IP, las fechas iniciales y finales de la renta, y la direccin MAC de la tarjeta de red utilizada para el arrendamiento. Todas las horas de la base de datos de arrendamiento se expresan segn GMT, no con la hora local. La base de datos de arrendamiento se crea nuevamente de vez en cuando para que su tamao no sea excesivo. En primer lugar, el archivo dhcpd.leases se renombra a dhcpd.leases~, y la base de datos temporal se registra en dhcpd.leases. Si el servicio cae no se debe crear un nuevo archivo de concesiones. Si se hace as, se perdern las versiones anteriores del arrendamiento y podran generarse problemas. La solucin correcta consiste en cambiar el nombre del archivo de copia de seguridad dhcpd.leases~ de nuevo a dhcpd.leases y, a continuacin, arrancar el demonio.

Redes compartidas
Todas las subredes que comparten la misma red fsica deben especificarse dentro de una declaracin shared-network. Los parmetros que se definen dentro de shared-network pero

fuera de las declaraciones subnet se consideran parmetros globales. El nombre de sharednetwork debe ser el ttulo descriptivo de la red. shared-network nombre_red { option domain-name "linux.com"; option domain-name-servers ns1.linux.com, ns2.linux.com; option routers 192.168.4.254;

subnet 192.168.4.0 netmask 255.255.255.0 { parmetros u opciones de la subred range 192.168.4.1 192.168.4.31; } subnet 192.168.4.32 netmask 255.255.255.0 { parmetros u opciones de la subred range 192.168.4.33 192.168.4.43; } } La declaracin group puede utilizarse para aplicar parmetros globales a un grupo de declaraciones. Se puede agrupar redes compartidas, subredes, hosts u otros grupos.

Opciones de arranque del servidor


Algunas opciones de lnea de comandos que se pueden especificar en el arranque del servidor son:

-p <portnum> Especifica el nmero de puerto udp en el que dhcpd debera escuchar. Est predeterminado 67. El servidor DHCP transmite las respuestas al cliente a un puerto con un nmero ms grande que el puerto udp especificado. Por ejemplo, si se acepta el puerto predeterminado, 67, el servidor escucha en el puerto 67 y responde en el puerto 68. -f Ejecutar el demonio como un proceso de en primer plano. Casi siempre se usa para la depuracin. -d Registrar el demonio del servidor DCHP en el descriptor de errores estndar. Casi siempre se usa para el depurado. Si no est especificado, el registro ser escrito en /var/log/messages.

-cf filename Especifica la localizacin del archivo de configuracin. La configuracin por defecto es /etc/dhcpd.conf. -lf filename Especifica la ubicacin de la base de datos de concesiones. Si ya existe el archivo de la base de datos de arrendamiento, es muy importante que se use el mismo archivo cada vez que el servidor DHCP se inicia. Esta opcin se suele usar slo para propsitos de depuracin en mquinas que no estn en produccin. La ubicacin por defecto es /var/lib/dhcp/dhcpd.leases. -q No imprime el mensaje de copyright entero cuando inicie el demonio.

Estas opciones tambin pueden ser especificadas en /etc/sysconfig/dhcpd.

Agente de retransmisin DHCP


El agente de retransmisin DHCP (dhcrelay) permite transmitir las peticiones DHCP y BOOTP desde una subred sin un servidor DHCP para uno o ms servidores en otras subredes. Cuando un cliente DHCP pide informacin, el agente de transmisin DHCP reenva la peticin a la lista de servidores DHCP especificada cuando se inicia el agente de transmisin DHCP. Cuando un servidor DHCP devuelve una respuesta, la respuesta puede ser broadcast o unicast en la red que ha enviado la peticin original. El agente de transmisin escucha las peticiones DHCP en todas las interfaces a menos que las interfaces estn especificadas en /etc/sysconfig/dhcrelay con la directiva INTERFACES. Para iniciar el agente de transmisin DHCP, usar /etc/init.d/dhcrelay IP_servidor_DHCP

S-ar putea să vă placă și