Introduccin.
Acerca del protocolo DHCP.
DHCP (acrnimo de Dynamic Host Configuration Protocol, que se traduce Protocolo de configuracin dinmica de serv
protocolo que permite a dispositivos individuales en una red de direcciones IP obtener su propia informacin de configu
(direccin IP; mscara de sub-red, puerta de enlace, etc.) a partir de un servidor DHCP. Su propsito principal es hacer de administrar las redes grandes. DHCP existe desde 1993 como protocolo estndar, y se describe a detalle en el RFC Sin la ayuda de un servidor DHCP, tendran que configurarse de forma manual cada direccin IP de cada anfitrin que
una Red de rea Local. Si un anfitrin se traslada hacia otra ubicacin donde existe otra Red de rea Local, se tendr configurar otra direccin IP diferente para poder unirse a esta nueva Red de rea Local. Un servidor DHCP entonces s
distribuye, las direcciones IP de una Red de rea Local asignando una direccin IP a cada anfitrin que se una a la Red Local. Cuando, por mencionar un ejemplo, una computadora porttil se configura para utilizar DHCP, a sta le ser asig direccin IP, y otros parmetros de red, necesarios para unirse a cada Red de rea Local donde se localice. Existen tres mtodos de asignacin en el protocolo DHCP:
Asignacin manual: La asignacin utiliza una tabla con direcciones MAC (acrnimo de Media Access Control
que se traduce como direccin de Control de Acceso al Medio). Slo los anfitriones con una direccin MAC d con deny unknown-clients. anfitrin que la requiera.
dicha tabla recibir el IP asignada en la misma tabla. sto se hace a travs del parmetro hardware etherne
Asignacin automtica: Una direccin de IP disponible dentro de un rango determinado se asigna permanent
Asignacin dinmica: Se determina arbitrariamente un rango de direcciones IP, y cada anfitrin conectado a la configurada para solicitar su direccin IP al servidor cuando se inicia el dispositivo de red, utilizando un inter de manera temporal, y stas se reutilizan de forma dinmica. URL: [Link] y [Link]
tiempo controlable (parmetros default-lease-time, y max-lease-time), de modo que la asignacin de direc
Acerca de dhcp por Internet Software Consortium, Inc.
Fundado en 1994, Internet Software Consortium, Inc., distribuye un conjunto de herramientas para el protocolo DHCP, consisten en: Servidor DHCP. Cliente DHCP. Agente de retransmisin.
Dichas herramientas utilizan un API (Application Programming Interface o Interfaz de Programacin de Aplicaciones) m
diseado para ser lo suficientemente general para ser utilizado con facilidad en los sistemas operativos que cumplen el estndar POSIX (Portable Operating System Interface for UNIX o interfaz portable de sistema operativo para Unix), y no como Windows. URL: [Link]
Equipamiento lgico necesario.
Instalacin a travs de yum.
Si utiliza CentOS 5, Red Hat Enterprise Linux 5, o bien versiones posteriores de stos, solamente necesita ejecutar yum -y install dhcp
Modificaciones necesarias en el muro cortafuegos.
Por lo general, jams se abren puertos de DHCP a las redes pblicas. Si se utiliza un cortafuegos con polticas estrictas ejemplo Shorewall, es necesario abrir los puerto 67, y 68, por UDP (BOOTPS, y BOOTPC, respectivamente) de modo Si se utiliza Shorewall, edite el archivo /etc/shorewall/interfaces: vim /etc/shorewall/interfaces
Y aadir la opcin dhcp a las opciones de la interfaz sobre la cual funciona el servicio dhcpd. Esta opcin, tras reinicia servicio shorewall, habilita las comunicaciones de entrada, y salida, para DHCP. ########################################################################## #ZONE INTERFACE BROADCAST OPTIONS net eth0 detect blacklist loc eth1 detect dhcp,blacklist #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE Reinicie el servicio shorewall a fin de que surtan efecto los cambios. service shorewall restart
Procedimientos.
SELinux y el servicio dhcpd.
Se recomienda encarecidamente dejar activo SELinux, y dejar como estn las polticas predeterminadas.
Nota.
Lo siguiente slo aplica para CentOS 5 y Red Hat Enterprise Linux 5. Si se desea eliminar la proteccin que brinda SELinux al servicio dhcpd, utilice el siguiente mandato. setsebool -P dhcpd_disable_trans 1 Si se desea eliminar la proteccin que brinda SELinux al sistema para funcionar como cliente DHCP, utilice el siguiente mandato. setsebool -P dhcpc_disable_trans 1 Ninguna de ests polticas existe en CentOS 6 y Red Hat Enterprise Linux 6.
Archivo de configuracin /etc/sysconfig/dhcpd.
En el caso de disponer mltiples dispositivos de red en el servidor, se recomienda que el servicio dhcpd solamente fun
travs de la interfaz de red utilizada por la LAN. Edite el archivo /etc/sysconfig/dhcpd, y agregue el valor eth0, eth1, e Edite el archivo /etc/sysconfig/dhcpd:
como argumento(s) del parmetro DHCPDARGS, o bien lo que corresponda a la interfaz desde la cual accede la red lo
vim /etc/sysconfig/dhcpd Para el siguiente ejemplo, considerando que eth1 es la interfaz correspondiente a la LAN: # Command line options here DHCPDARGS=eth1
Archivo de configuracin [Link].
Considerando como ejemplo que se tiene una red local con las siguientes caractersticas: Nmero de red: [Link] Mscara de sub-red: [Link] (26 bit) Puerta de enlace: [Link] Servidor de nombres: [Link]<
Servidor Wins: [Link] Servidores de tiempo (NTP): recomendamos utilizar los de [Link], [Link], [Link], y 148.234.7 cuales son confiables, y de acceso gratuito. Rango de direcciones IP a asignar de modo dinmico: [Link], hasta [Link].
Nota.
Es indispensable conocer, y entender perfectamente, todo lo anterior para poder continuar con este documento. Si se tienen dudas, por favor, primer consultar, y estudiar, el documento titulado Introduccin a IP versin 4.
Puede utilizar el contenido de ejemplo, que se encuentra ms adelante, para adaptar, o bien crear desde cero, un nu de configuracin para el servicio dhcpd, ajustando los datos a una red para un conjunto de sistemas en particular. Si se utiliza CentOS 6, o Red Hat Enterprise Linux 6, edite el archivo /etc/dhcp/[Link]. vim /etc/dhcp/[Link]
Nota. Si se utiliza CentOS 5, o Red Hat Enterprise Linux 5, edite el archivo /etc/[Link].
vim /etc/[Link] Para efectos prcticos, utilice la siguiente plantilla y modifique todo lo que est resaltado.
server-identifier [Link]; ddns-update-style interim; ignore client-updates; authoritative; default-lease-time 900; max-lease-time 7200; option ip-forwarding off; option domain-name "[Link]"; option ntp-servers [Link], [Link], [Link]; shared-network redlocal { subnet [Link] netmask [Link] { option routers [Link]; option subnet-mask [Link]; option broadcast-address [Link]; option domain-name-servers [Link]; option netbios-name-servers [Link]; range [Link] [Link]; }
Lo anterior corresponde a la configuracin bsica recomendada para un servidor DHCP bsico.
Asignacin de direcciones IP estticas.
Si se tienen equipos con direcciones IP estticas, pueden aadirse tambin en la configuracin de la siguiente forma, d nombre de anfitrin, direccin MAC, y direccin IP: host impresora { option host-name "[Link]"; hardware ethernet [Link]; fixed-address [Link]; } De modo tal que la configuracin queda del siguiente modo:
server-identifier [Link]; ddns-update-style interim; ignore client-updates; authoritative; default-lease-time 900; max-lease-time 7200; option ip-forwarding off; option domain-name "[Link]"; option ntp-servers [Link], [Link], [Link]; shared-network redlocal { subnet [Link] netmask [Link] { option routers [Link]; option subnet-mask [Link]; option broadcast-address [Link]; option domain-name-servers [Link]; option netbios-name-servers [Link]; range [Link] [Link]; } # Equipos con IP fija. host impresora { option host-name "[Link]"; hardware ethernet [Link]; fixed-address [Link]; } host pc14 { option host-name "[Link]"; hardware ethernet [Link]; fixed-address [Link]; } }
Iniciar, detener, y reiniciar, el servicio dhcpd.
Para iniciar por primera vez el servicio dhcpd, utilice: service dhcpd start Para hacer que los cambios hechos a la configuracin del servicio dhcpd surtan efecto, utilice: service dhcpd restart Para detener el servicio dhcpd, utilice:
service dhcpd stop
Agregar el servicio dhcpd al inicio del sistema.
Para hacer que el servicio de dhcpd est activo con el siguiente inicio del sistema, en todos los niveles de ejecucin (2 ejecute lo siguiente: chkconfig dhcpd on
Limitar el acceso por direccin MAC.
Es posible limitar el acceso al servidor DHCP, definiendo una lista de direcciones MAC. De tal modo, a los anfitriones q ausentes en dicha lista les ser denegado el servicio.
server-identifier [Link]; ddns-update-style interim; ignore client-updates; authoritative; default-lease-time 900; max-lease-time 7200; option ip-forwarding off; option domain-name "[Link]"; option ntp-servers [Link], [Link], [Link]; shared-network redlocal { subnet [Link] netmask [Link] { option routers [Link]; option subnet-mask [Link]; option broadcast-address [Link]; option domain-name-servers [Link]; option netbios-name-servers [Link]; range [Link] [Link]; } # Lista de direcciones MAC que tendrn permitido utilizar el servidor # DHCP. # deny unknown-clients impide que equipos fuera de esta lista puedan # utilizar el servicio. deny unknown-clients; host impresora { hardware ethernet [Link]; } host pc1 { hardware ethernet [Link]; } host pc2 { hardware ethernet [Link]; } host laptop1 { hardware ethernet [Link]; } host laptop2 { hardware ethernet [Link]; } }
El ejemplo anterior hace que solamente las direcciones MAC descritas puedan hacer uso del servidor DHCP.
Configuracin para funcionar con DNS dinmico.
Asumiendo que ya se dispone de un servidor DNS previamente configurado, y funcionando, para configurar el servidor
de que actualice automticamente los registros correspondientes en las zonas del servidor DNS, slo basta aadir los parmetros ddns-updates, ddns-domainname, ddns-rev-domainname, la misma firma digital de la configuracin del
definir las zonas de localhost, zona de re-envo, y zona de resolucin inversa del DNS, con los valores ejemplificados a continuacin, solamente siendo necesario reemplazar los valores resaltados.
server-identifier [Link]; ddns-update-style interim; ddns-updates on; ddns-domainname "[Link]."; ddns-rev-domainname "[Link]."; ignore client-updates; authoritative; default-lease-time 900; max-lease-time 7200; option ip-forwarding off; option domain-name "[Link]"; option ntp-servers [Link], [Link], [Link]; # Copiar tal cual contenido del archivo # /etc/[Link] # sto se utilizar para poder comunicar el servidor DHCP con el servidor DNS, # y poder gestionar zonas dinmicas desde el servidor DHCP con la misma firma # digital. # Jams utilizar la clave ejemplificada a continuacin para produccin. # Es la nica configuracin cuya llave de cierre pueden llevar punto y coma. key "rndc-key" { algorithm hmac-md5; secret "undGpjMq3iWmUh2yvWOnUQ=="; }; zone localdomain. { primary [Link]; key rndc-key; } zone [Link]. { primary [Link]; key rndc-key;
} zone [Link]. { primary [Link]; key rndc-key; } shared-network redlocal { subnet [Link] netmask [Link] { option routers [Link]; option subnet-mask [Link]; option broadcast-address [Link]; option domain-name-servers [Link]; option netbios-name-servers [Link]; range [Link] [Link]; } # Equipos con IP fija. host impresora { option host-name "[Link]"; hardware ethernet [Link]; fixed-address [Link]; } host pc14 { option host-name "[Link]"; hardware ethernet [Link]; fixed-address [Link]; } }
Para que lo anterior funcione con el servidor DNS, considerando que ya estn instalados los paquetes bind, y bind-chr requiere generar los archivos [Link], y [Link], dentro del
directorio/var/named/chroot/dynamic/ del siguiente modo::
touch /var/named/chroot/var/named/dynamic/[Link] touch /var/named/chroot/var/named/dynamic/[Link]
Ambos archivos deben pertenecer al usuario named, y grupo named.
chown named:named /var/named/chroot/var/named/dynamic/[Link] chown named:named /var/named/chroot/var/named/dynamic/[Link]
El archivo /var/named/chroot/var/named/dynamic/[Link] deber tener el siguiente contenido, donde solame necesario aadir los registros de los equipos con IP fija: $TTL 86400 @ IN SOA [Link]. [Link]. ( 2011101901; 28800; 7200; 604800; 86400; ) NS [Link]. A [Link] A [Link] A [Link]
@ servidor epl5900 pc14
IN IN IN IN
El archivo /var/named/chroot/var/named/dynamic/[Link] deber tener el siguiente contenido, dond ser necesario aadir los registros de los equipos con IP fija: $TTL 86400 @ IN SOA [Link]. [Link]. ( 2011101901; 28800; 7200; 604800; 86400; ) NS [Link]. PTR [Link]. PTR [Link]. PTR [Link].
@ 1 13 14
IN IN IN IN
En el archivo /var/named/chroot/etc/[Link] deber estar presente lo siguiente:
options { directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; forwarders { [Link]; [Link]; }; forward first; // Opciones de DNSSEC. dnssec-enable yes; dnssec-validation yes; dnssec-lookaside auto; bindkeys-file "/etc/[Link]"; }; // Comentar la siguiente lnea y utilizar en su lugar el contenido
// del archivo /etc/[Link]. // include "/etc/[Link]"; key "rndc-key" { algorithm hmac-md5; secret "undGpjMq3iWmUh2yvWOnUQ=="; }; controls { inet [Link] allow { [Link]; [Link]; } keys { "rndc-key"; }; }; view "local" { match-clients { [Link]/8; [Link]/26; }; recursion yes; include "/etc/[Link]"; zone "." IN { type hint; file "[Link]"; }; zone "[Link]" { type master; file "dynamic/[Link]"; allow-update { key "rndc-key"; }; }; zone "[Link]" { type master; file "dynamic/[Link]"; allow-update { key "rndc-key"; }; }; };
Active la poltica de SELinux, la cual permitir al servidor DNS poder realizar modificaciones a los archivos de zona. setsebool -P named_write_master_zones 1 Reinicie el servicio named a fin de que surtan efecto los cambios. service named restart
Reinicie tambin el servicio dhcpd a fin de que surtan efecto los cambios, y para que el servidor DHCP comience a inte el servidor DNS. service dhcpd restart
A partir de este momento, todo cliente que tenga definido en su configuracin local un nombre de anfitrin, y al cual le s
una direccin IP a travs del servidor DHCP recin configurado, comunicar su nombre de anfitrin al servidor DHCP, e automticamente el registro correspondiente a las zonas de re-envo, y de resolucin inversa correspondientes.
vez comunicar al servidor DNS este mismo nombre asociada a la direccin IP asignada al cliente, de modo que el DN
Comprobaciones desde cliente DHCP.
necesarias, sin importar que sistema operativo utilicen.
Hecho lo anterior, solamente se necesitar configurar como interfaces DHCP, las utilizadas en las estaciones de trabajo
Despus concluida la configuracin, y que estn funcionando los servicio correspondientes, pueden hacerse comproba un cliente GNU/Linux, es decir, desde otro equipo. Abra una terminal, como usuario root, y, asumiendo que se tiene u
red denominada eth0, utilice los siguientes mandatos para desactivar la interfaz eth0, y asignar una nueva direccin IP servidor dhcp.
ifdown eth0 dhclient -d -I nombre-equipo -H nombre-equipo eth0
Lo anterior deber devolver el mensaje Determinando la informacin IP para eth0..., y el smbolo de sistema. Para co utilice el mandato ifconfig para visualizar los dispositivos de red activos en el sistema. Pulse CTRL-C para terminar el
Si se dispone de varios servidores DHCP, y se desea probar la configuracin de alguno en particular, puede aadir la o establecido en el archivo /etc/dhcp/[Link] del servidor correspondiente.
ifdown eth0 dhclient -d -I nombre-equipo -H nombre-equipo -V [Link] eth0
mandato dhclient, definiendo como valor para esta opcin, el mismo valor que fue asignado para el parmetro server-
La configuracin permanente del dispositivo de red, considerando como ejemplo la interfaz eth0 con direccin M[Link], solicitando los datos para los servidores DNS, correspondiente al archivo /etc/sysconfig/network-scripts/ifcfg-eth0, sera con el siguiente contenido: DEVICE=eth0 ONBOOT=yes USERCTL=yes HWADDR=[Link] TYPE=Ethernet NM_CONTROLLED=no DEFROUTE=yes BOOTPROTO=dhcp PEERDNS=yes PEERROUTES=yes PEERNTP=yes DOMAIN=[Link] DHCP_CLIENT_ID=nombre-equipo DHCP_HOSTNAME=nombre-equipo ltima Edicin 23/11/2011, 15:34|174,302 Accesos