Anda di halaman 1dari 8

Configurar un servidor DHCP Martes, 09 de Diciembre de 2008 17:41 DHCP (Dynamic Host Configuration Protocol) es un protocolo de red en el que

el servidor bajo el que est corriendo provee los parmetros de configuracin necesarios a las mquinas conectadas a la red que as lo soliciten. Mediante DHCP se asignarn de forma totalmete automtica y transparente parmetros como la puerta de enlace, la mscara de subred, la DNS o la propia direccin IP.

Funcionamiento El protocolo DHCP nace en octubre de 1993 de la mano del Grupo de Trabajo Dynamic Host Configuration del IETF (Internet Engineering Task Force), una organizacin de voluntarios que define protocolos para su uso en internet) y sus caractersticas quedan definidas por el estndar RFC 2131 y RFC 2132. Dicho protocolo cubra la necesidad de control que empezaban a requerir ciertas redes de tamao bastante abultado, donde la administracin de las mismas se haca bastante complicada, ya fuera por el nmero de equipos instalados o por la longitud fsica de la misma (proveedores de acceso a internet). Sin el protocolo DHCP, cada ordenador de una red ha de recibir su configuracin manualmente, con el inconveniente que esto supone a la hora de reasignar direcciones a ordenadores que cambian frecuentemente su conexin, el cambio eventual de un servidor de DNS externo o la puerta de enlace de salida al exterior. El control de todos estos parmetros es absoluto desde un servidor de DHCP. El protocolo admite tres tipos de asignacin de direcciones IP, que pueden combinarse entre s: Manual / Esttica - La asignacin se realiza a partir de la lectura de una tabla de direcciones introducida manualmente por el administrador del servidor. Habitualmente, la mquina que recibe la asignacin esttica tiene igualmente configurada una direccin MAC que no debera repetirse en toda la red. De esta forma, dicha mquina recibe siempre la misma direccin IP, independientemente de dnde y cundo se realice la conexin. Automtica e ilimitada - Una vez que el administrador ha determinado un rango de direcciones disponibles, la asignacin se realiza de forma permanente hacia el cliente que la solicita y hasta que ste la libera. Dinmica y limitada - Cada cliente obtiene su direccin al iniciar el interfaz de red. Mediante este mtodo, las direcciones dentro del rango elegido por el administrador se reutilizan con cada mquina y durante un tiempo determinado. Con esta asignacin se facilita enormemente la entrada de nuevas mquinas a la red de forma dinmica. Bsicamente, DHCP se dividir en dos partes bien diferenciadas: un protocolo encargado de intercambiar los parmetros de red especficos para cada cliente y un mecanismo encargado de la asignacin de las direcciones. Por otra parte, y de forma habitual, el servidor de DHCP se estructurar a partir de dos bases de datos: una esttica, al uso de BOOTP, protocolo anterior a DHCP y compatible con ste y otra con una pila de direcciones disponibles, que ser la encargada de facilitar los datos en una asignacin automtica o dinmica. El funcionamiento sobre el papel de DHCP es bastante simple: el servidor DHCP recibe una peticin del cliente y se chequea la base de datos esttica en busca de alguna direccin asignada a la mquina que realiza la peticin. Si existe una entrada para la direccin fsica que realiza la peticin, se devuelve la direccin almacenada que corresponda. Si no se encuentra nada, el servidor

selecciona una direccin disponible de la base de datos dinmica y se asigna de forma temporal a la mquina que lo solicita. Repasemos las opciones ms importantes que un servidor DHCP puede asignar/proveer a cualquier cliente que lo solicite. Dado que este es un artculo sobre un protocolo determinado, no se explicar el cometido de cada una de estas opciones: Direccin del servidor de DNS. Nombre de DNS. Puerta de enlace de la direccin IP. Direccin IP. Mscara de subred. Tiempo mximo de espera de ARP (Addres Resolution Protocol). MTU (Maximun Transfer Unit) para cada mquina. Servidores NIS. Dominios NIS. Servidores NTP (Network Time Protocol). Servidores POP3 (Post Office Protocol) Servidor SMTP (Simple Mail Transport Agent). Servidor TFTP (Trivial File Transfer Protocol). Nombre del servidor WINS (Windows Internet Naming Service).

Instalacin del software DHCP en un servidor linux Para nuestra instalacin, vamos a utilizar una implementacin del protocolo DHCP programada y mantenida por el ISC (Internet Systems Consortium). El software puede descargarse de su pgina web, aunque la gran mayora de las distribuciones de linux han compilado un paquete que incluye la versin de DHCP del ISC. En nuestro caso, instalaremos DHCP desde la herramienta de paquetera YUM, aunque podemos usar la herramienta que creamos ms conveniente: [root@anna ~]# yum install dhcp Installing: dhcp ################ [1/1] Installed: dhcp.i386 10:3.0.2-34.FC4 Complete! Con este paso, el software que implementar el protocolo en nuestro servidor quedar totalmente instalado. No se necesitan ms programas adicionales y tan slo habr que configurar el servidor para que arranque de manera predeterminada con el inicio del sistema. En sistemas con Fedora Core, dicha configuracin se implantara de la siguiente manera: # /sbin/chkconfig # /sbin/service dhcpd start dhcpd on

Configuracin del servidor La instalacin del servidor deja un fichero de configuracin en la ruta /etc/dhcp.conf. Este fichero ser ledo durante la carga del protocolo DHCP y en l se configuran todas las opciones del mismo.

Cualquier modificacin realizada sobre este fichero ser tenida en cuenta cada vez que el demonio de DHCP se inicie. Veamos un ejemplo de dicho fichero: authoritative; ddns-updates on; ddns-update-style ad-hoc; option domain-name-servers 10.0.0.1, 202.188.0.133, 202.188.1.5; option subnet-mask 255.255.255.0; option routers 10.0.0.1; subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.201 192.168.1.220; default-lease-time 86400; max-lease-time 86400; option routers 192.168.1.1; option ip-forwarding off; option broadcast-address 192.168.1.255; option subnet-mask 255.255.255.0; option domain-name-servers 192.168.1.100; option nntp-server 192.168.1.100; option netbios-name-servers 192.168.1.100; } subnet 10.0.0.0 netmask 255.255.255.0 { ddns-updates on; range 10.0.0.60 10.0.0.150; } group { host 001_1 { ddns-updates on; hardware ethernet 00:50:8b:aa:f3:24; fixed-address 10.0.0.50; } host 001_2 { ddns-updates on; hardware ethernet 00:50:8b:aa:f3:24; fixed-address 10.0.0.50; } host cosh { hardware ethernet 00:30:6e:28:5c:3f; fixed-address 10.0.0.9; } } Como podemos observar, cada rden o parmetro termina con un punto y coma (;), a excepcin de las opciones que necesitan de varios parmetros, que se agrupan entre llaves ({...}). Repasemos a continuacin las opciones y parmetros ms importantes a nuestra disposicin (para un detalle completo de todos los comandos accederemos al manual de configuracin dhcp.conf(5) y dhcpoptions(5)):

authoritative - La configuracin correcta para la red es la definida en el servidor DHCP. Poner este parmetro al comienzo del archivo de configuracin supone que el servidor DHCP reasignar direcciones a los clientes mal configurados por el motivo que sea, includa una configuracin nueva del servidor. not authoritative - La funcin de este parmetro es justo la contraria del anterior. Es decir: la configuracin del servidor de DHCP no es concluyente y los clientes mal configurados que sean detectados por el servidor, seguirn con su configuracin intacta. ignore|allow client-updates - Permite la actualizacin de las asignaciones (allow) de un cliente a requerimiento de este, o bien las asignaciones se actualizan cuando el servidor as lo requiera (ignore). ddns-hostname <nombre> - Por defecto, el servidor DHCP utiliza como nombre para la solicitud el nombre que el cliente tiene asignado a su mquina. Mediante este parmetro se asigna un nombre concreto a una mquina o a todas en general. Por ejemplo, para asignar un nombre a una direccin MAC concreta, utilizaremos el cdigo siguiente: host "nada" { hardware ethernet 00:60:30:3f:2d:4a; ddns-hostname "nombre_del_host"; } Y para asignar, por ejemplo, la direccin MAC como parte del nombre del cliente, podemos usar lo siguiente: ddns-hostname = binary-to-ascii (16, 8, "-", substring (hardware, 1, 6)); Que devolver algo como 0-50-56-b-b-b.dhcp.nombre.com. ddns-domainname <nombre> - Mediante el uso de este parmetro, se aadir <nombre> al final del nombre de la mquina cliente, para formar un nombre de dominio totalmente cualificado (FQDN). ddns-update-style <tipo> - Define el mtodo de actualizacin automtica de las DNS. Los valores pueden ser ad-hoc, interim y none. ddns-updates <on|off> - Activa la actualizacin DNS mediante los valores asignados por DHCP. default-lease-time <duracin> - Especifica la cantidad de tiempo, en segundos, que ser mantenida una asignacin de direcciones, siempre y cuando el cliente no haya especificado algo concreto. fixed-address <direcciones> - Esta opcin aparece nicamente en una declaracin de host. Define las direcciones esttica a asignar a un host determinado. group - Inicia la declaracin de Grupo. hardware <tipo direccin> - Especifica el hardware de un cliente BOOTP para que ste sea reconocido por el servidor de DHCP. tipo puede ser ethernet o token-ring y direccin ser una serie de octetos hexadecimales inequvocos de la tarjeta (por ejemplo, hardware ethernet 00:50:b3:c5:60:23). max-lease-time <duracin> - Especifica la cantidad mxima de tiempo, en segundos, que ser mantenida una asignacin de direcciones. No est sujeta a esta especificacin la asignacin dinmica BOOTP. min-lease-time <duracin> - Especifica la cantidad mnima de tiempo, en segundos, que ser mantenida una asignacin de direcciones. one-lease-per-client <on|off> - Cuando la opcin se iguala a on y un cliente solicita una asignacin de direccin (DHCPREQUEST), el servidor libera de forma automtica

cualquier otra asignacin asociada a dicho cliente. Con esto se supone que si el cliente solicita una nueva asignacin es porque ha olvidado que tuviera alguna, luego tiene un slo interfaz de red. No dndose esta situacin entre los clientes no es muy aconsejable el uso de esta opcin. range ip-menor ip-mayor - En una declaracin de subred, este parmetro define el rango de direcciones que sern asignadas. Pueden darse dos instrucciones range seguidas del modo: range 192.168.0.11 192.168.0.100; range 192.168.0.125 192.168.0.210; server-identifier <IP> - Identifica la mquina donde se aloja el servidor de DHCP. Su uso se aplica cuando la mquina en cuestin tiene varias direcciones asignadas en un mismo interfaz de red. server-name <nombre> - Nombre del servidor que ser suministrado al cliente que solicita la asignacin. shared-network - Declaracin de Subred compartida. subnet - Declaracin de Subred. option domain-name <nombre> - Nombre de dominio que usar el cliente en una resolucin de nombres va DNS. Normalmente, ser el nombre de dominio que se aadir al host que realiza la peticin de asignacin. option domain-name-servers <IP, [IP ...]> - Define el nombre de los servidores DNS. option finger-server - Define el nombre de los servidores Finger disponibles para el cliente. option host-name <nombre> - Especifica el nombre del cliente. Puede ser un nombre cualificado o no, aunque se recomienda que el nombre del dominio se asigne mediante option domain-name. Slo se asignar el nombre al cliente en el caso de no tener ste asignado ninguno. option irc-server <IP, [IP ...]> - Define el nombre de los servidores de IRC disponibles para el cliente. option lpr-servers <IP, [IP ...]> - Define una lista de servidores de impresin LPR conforme al estndar RFC 1179. Se listan por orden de preferencia. option nds-servers <IP, [IP ...]> - Define una lista de servidores NDS disponibles para el cliente. Se usa en conjuncin de option nds-context <nombre>, que establece el nombre de inicio de la red Netware y option-nds-tree-name <nombre>, que especifica el nombre del rbol a usar por el cliente solicitante. option netbios-name-servers <IP, [IP ...]> - Especifica un listado con los servidores WINS disponibles para los clientes. option nis-servers <IP, [IP ...]> - Define la lista de servidores NIS (Sun Network Information Server) disponibles. Los servidores se listan en orden de preferencia. Para establecer el nombre del dominio NIS, se usar option nis-domain <nombre>. option ntp-server <IP, [IP ...]> - Define los servidores horarios de NTP disponibles. Se listan en oreden de preferencia. option pop-server <IP, [IP ...]> - Define los servidores de POP3 disponibles, listados en orden de preferencia. option routers <IP, [IP ...]> - Se definen una serie de routers (en la prctica, puertas de enlace), listadas en orden de preferencia, disponibles para el acceso al exterior por parte del cliente. option smtp-server <IP, [IP ...]> - Define la lista de servidores SMTP disponibles, listados en orden de preferencia.

option subnet-mask <IP> - Definicin de la mscara de subred general. As, tal y como hemos visto en el archivo de configuracin de ejemplo, primero se escriben una serie de opciones gernerales (authoritative, ignore client-updates, etc.), para seguidamente definir una red compartida (shared-network) con todas sus opciones especficas. Dicha red incluye tres definiciones: una subred (subnet) y dos hosts especficos (host). Se puede advertir igualmente que las direcciones de estos dos hosts no tienen por qu incluirse dentro del rango de la red general.

Ejemplos de configuracin Las opciones a nuestra disposicin para configurar un servidor de DHCP son casi interminables. A continuacin vamos a detallar con varios ejemplos las declaraciones ms importantes que podemos usar en un fichero de configuracin. Declaracin de Subred Debe incluir una declaracin subnet para cada subred en su red. Si no es as, el servidor DHCP no arrancar. En este ejemplo, hay opciones globales para cada cliente DHCP en la subred y un range declarado. A los clientes se les asignar una direccin IP dentro de las IP declaradas en range. subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.254; option subnet_mask 255.255.255.0; option domain_name "example.com"; option domain_name_servers 192.168.1.1; option time_offset _18000; range 192.168.1.10 192.168.1.100; } Declaracin de shared-network, o red compartida Todas las subredes que comparten la misma red fsica deben especificarse dentro de una declaracin shared_network. Los parmetros dentro de shared_network pero fuera del cerco de las declaraciones subnet se consideran parmetros globales. El nombre de shared_network debe ser el ttulo descriptivo de la red, como, por ejemplo, mi_red_local. Dicho nombre puede ser igualmente una direccin IP. shared_network mi_red_local { option domain_name "test.fedora.com"; option domain_name_servers ns1.fedora.com, ns2.fedora.com; option routers 192.168.1.254; ---Declaracin de subredes especficas--subnet 192.168.1.0 netmask 255.255.255.0 { parameters for subnet range 192.168.1.1 192.168.1.31;

} subnet 192.168.1.32 netmask 255.255.255.0 { parameters for subnet range 192.168.1.33 192.168.1.63; } } Declaracin de Grupo La declaracin group puede utilizarse para aplicar parmetros globales a un grupo de declaraciones. Puede agrupar redes compartidas, subredes, hosts u otros grupos. group { option routers option subnet_mask 192.168.1.254; 255.255.255.0;

option domain_name "example.com"; option domain_name_servers 192.168.1.1; option time_offset _18000;

host apex { option host_name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed_address 192.168.1.4; } host raleigh { option host_name "raleigh.example.com"; hardware ethernet 00:A1:DD:74:C3:F2; fixed_address 192.168.1.6; } }

Consideraciones de seguridad El servidor de DHCP utiliza el puerto 67 y 68 a travs de UDP para recibir y enviar datos a los clientes. Es por esto que lo primero que deberemos retocar sern las reglas de nuestro cortafuegos, si es que este existe y si es que el servidor de DHCP comparte con l la misma mquina. Suponiendo que tenemos instalado iptables, la regla a introducir en el fichero de configuracin ser la siguiente: $IPTABLES -I INPUT -i $LAN_IFACE -p udp --dport 67:68 --sport \ 67:68 -j ACCEPT Con esta regla se permite el trfico hacia y desde los puertos UDP 67 y 68, lo cual nos deja abierto un pequeo agujero en el cortafuegos que permite el funcionamiento del servidor de DHCP. En el caso de tener varios dispositivos de red configurados en la misma mquina, habr que asegurarse de que nuestro servidor de DHCP slo se ejecuta sobre el que tiene acceso a la red a la

que va a proveer de servicio. En un sistema con Fedora Core, tenemos a nuestra disposicin un fichero de configuracin en la ruta /etc/sysconfig/dhcpd. Agregaremos lo siguiente a dicho fichero: DHCPDARGS=eth0 eth0 se cambiar por el interfaz usado por DHCP.

Anda mungkin juga menyukai