Sie sind auf Seite 1von 5

016-020_dhcp 22.11.

2004 16:17 Uhr Seite 16

PORTADA DHCP

Un servidor DHCP para una red de área local

Redes sin Estrés


Añadir máquinas a una red implica

un trabajo extra de configuración.

Una solución centralizada que use un

servidor DHCP para asignar las direc-

ciones IP y otros parámetros a las

máquinas clientes nos quitará un

motón de dolores de cabeza a la hora

de administrarlas.

POR MICHAEL RENNER

N
o importa si se está trabajando diario se encuentran con problemas de nombres, usar diferentes máscaras de
para una empresa, si se está cuando el número de máquinas conec- red o incluso asignar una dirección IP
organizando una party en el tadas a la red crece de forma continua. diferente al router para acceder a redes
campus, si se está montando una red en Cada IP sólo puede ser asignada a una públicas), implicará reconfigurar de
un complejo turístico o simplemente te máquina para evitar conflictos en la red. forma manual cada máquina.
estas montando una red en tu propia Incluso suponiendo que se mantenga Los usuarios de ordenadores portátiles
casa, configurar de forma individual cuidadosamente las asignaciones IP (y también tienen que saber cómo y dónde
cada máquina de la red implica trabajo uno sepa donde está la lista), si se quiere realizar los cambios oportunos para
extra. Desde luego, un administrador de reestructurar la red (añadir un servidor conectarse a la red. Para ser honestos:
sistemas puede asignar direc- ¿Sabes cómo configurar los
ciones IP, máscaras de red, Listado 1: Un simple, pero completo parámetros de red en un
puerta de enlace por defecto y dhcpd.conf MacOS 7.6? y ¿quieres admitir
el nombre del servidor. Pero 01 default-lease-time 3600; que sabes como configurar la
intenta hacer esto mismo con 02 max-lease-time 14400; red en Windows 98? El Proto-
un grupo de gente con distin- 03 colo de Configuración
tos niveles de conocimiento y 04 subnet 192.168.2.0 netmask 255.255.255.0 { Dinámico de Hosts (DHCP)
empezarán a surgir los proble- 05 range 192.168.2.50 192.168.2.69; nos proporciona la respuesta.
mas. 06 option domain-name-servers 194.25.2.129; Para usar DHCP se necesita
Incluso los administradores 07 option broadcast-address 192.168.2.255; configurar una máquina como
de redes más experimentados 08 option routers 192.168.2.1; servidor DHCP. Una vez hecho
y que llevan años adminis- 09 } esto, esta máquina será la
trando redes en su trabajo responsable de establecer los

GLOSARIO
Dirección IP: Cada máquina de red se identi- ción IP oficial que asegura un acceso global, redes dentro de una red más amplia . Las
fica con una única dirección IP de 32 bits. Para hay un rango de direcciones que se han máquinas usan máscaras de bits para
que sea legible se usa la notación punto dec- reservado para su uso en redes privadas. averiguar a qué subred pertenece a partir de
imal, donde cada segmento de la dirección es Máscara de red: La máscara de red se usa la dirección IP. En el cuadro 1 se muestra un
un número entre 0 y 255. Además de la direc- para definir los límites de segmento las sub- ejemplo.

16 Número 01 www.linuxmagazine.com.es
016-020_dhcp 22.11.2004 16:17 Uhr Seite 17

DHCP PORTADA

parámetros de configuración de DHCP ISC, dhcpd como


de la red de las demás hace casi todo el mundo.
máquinas que tengamos Si realmente deseas compi-
conectadas dentro de nuestra lar el código tu mismo, el
red. Además de los pará- código fuente está disponible
metros tradicionales, se en [1]. La mayoría de la gente
puede hacer que el servidor se conforma con instalar el
de DHCP establezca parámet- paquete de la distribución.
ros específicos para nuestra Los usuarios de Debian
red de área local, por ejem- pueden teclear algo como lo
plo, estableciendo un ser- siguiente:
vidor de fecha/hora o in-
cluso el nombre de un apt-get install dhcp
servidor WINS.
Los usuarios de otras distribu-
Muchas máquinas… ciones encontrarán el paquete
¿Cómo aplicamos esto en un RPM apropiado en el CD o
caso real? Veamos una Figura 1: A partir de la MAC se puede trazar un mapa de direcciones MAC de DVD de su distribución. Si no
pequeña red privada. En este fabricantes de tarjeta. es así, se puede una búsqueda
caso “privada” significa que en http://rpmfind.net/ con el
la red usa un rango de direcciones IP pri- … y un solo servidor término debería devolver paquets para
vado. Para evitar confusiones, estas La máquina que asignará las IPs necesita nuestra distro o una independiente de
direcciones funcionan en nuestra red , como es lógico, un programa servidor plataforma DHCP.
local pero no en Internet. DHCP. Por desgracia, no existen demasi- Para continuar con la instalación, bus-
Las redes privadas realmente grandes adas implementaciones gratuitas de este caremso en nuestras máquinas el
(las denominadas de clase A) tienen ran- tipo de servidor, por tanto, para ilustrar archivo de configuración dhcpd.conf en
gos de IP asignados que van desde la este artículo, optaremos por el servidor el directorio /etc/. El archivo está bien
10.0.0.0 hasta la 10.255.255.255. Para
redes de tamaño medio se usan las de Tabla 1: Configuración dhcpd
clase B cuyo rango para redes privada Entrada Parámetro Significado
van desde la 172.16.0.0 hasta la default-lease-time Tiempo en segundos Especifica el periodo válido de los valores asignados. El cliente tiene
172.31.255.255. Pero si la red es algo que volver a solicitar la dirección IP dentro de este periodo. Si no lo
hace, la dirección puede ser asignada a otra máquina.
más modesta entonces podremos utilizar
max-lease-time Tiempo en segundos Especifica el máximo valor del periodo de asignación. Si el cliente
las 65023 direcciones disponibles entre
solicita un tiempo excesivo,este parámetro establece el máximo
192.168.0.0 hasta la 192.168.255.255. valor.
Para las pequeñas empresas y los subnet Dirección de red Segmento de red al que aplicar la configuración (Véase el Cuadro 1)
usuarios domésticos, las redes de clase C netmask Máscara de red Máscara para este segmento de red (Véase el Cuadro 1)
se ajustan de forma adecuada. Voy a range Máxima y mínima El rango de direcciones IP a asignar por el servidor DHCP.
usar las direcciones que tengo en mi dirección IP
casa para este ejemplo. Tengo asignada fixed-address Dirección IP o nombre de host Una dirección de red para ser asignada de forma permanente.
la dirección 192.168.2.0 a la red (esto es filename Nombre de archivo Imagen de boot para un cliente específico (Véase la sección
“Técnicas avanzadas de DHCP”).
útil si se pretende montar una red con
hardware ethernet Dirección MAC Dirección hardware del cliente.
los vecinos).

GLOSARIO
Servidor de nombres: Un servidor de nom- local. Un servidor WINS es un servidor de nombres
bres de dominio proporciona la traducción Servidor de Fecha/Hora: Proporciona la de propósito especial. Si se tiene un gran
de los nombres de hosts simbólicos (por fecha y hora correctas en una red. El tiempo número de máquinas Windows en la red, el
ejemplo linux-magazine.com) a una direc- oficial en el Reino Unido es medido desde la servidor WINS puede impedir que se produz-
ción ip (por ejemplo 62.245.157.219) y línea del meridiano de Greenwich. En can broadcasts no previstos. El proyecto
viceversa. DNS es un sistema de base de España, se pueden utilizar los servidores Samba proporciona soporte para WINS.
datos jerárquico distribuido que no requiere hora.oxixares.com y slug.ctv.es. Además de Broadcast: El broadcast se usa para alcanzar
que cada servidor de nombres conozca cada estas fuentes, hay un gran número de servi- múltiples hosts sin necesidad de saber nada
nombre de host, sino que permite a una dores de fecha/hora, más o menos precisos, de ellos. Una broadcast ahorra ancho de
máquina consultar a otras máquinas. en la Web. banda en el caso de necesitar comunicar con
Puerta de enlace por defecto: Es un router en WINS: Es el Servidor de Nombres de Internet un gran número de máquinas, pero típica-
una red local al que se le envían los paquetes de Windows, que relaciona los nombres Net- mente, este tipo de transmisión produce
cuyo destino no tiene una dirección de red BIOS de las máquinas con sus direcciones IP. sobrecarga en la red y debe ser evitado.

www.linuxmagazine.com.es Número 01 17
016-020_dhcp 22.11.2004 16:17 Uhr Seite 18

PORTADA DHCP

documentado, así que, siguiendo las Queremos que el servidor dhcpd asigne El resto de las entradas son usadas por
instrucciones proporcionadas por el IPs en el rango 192.168.2.50 hasta el servidor dhcpd para su propio uso
mismo programa, deberíamos ser 192.168.2.60. También vamos a hacer uso interno. Véase la Tabla 1.
capaces de modificar los valores de los de un domain-name-server para estable-
próximos ejemplos de manera que refle- cer un servidor de nombres y routers para Asignaciones permanentes
jen nuestro propio entorno. Conviene especificar la puerta de enlace. Si no se Si se desea usar DHCP en la red,
tomarse un rato para pensar en el tiene un servidor de nombres en la red, suele haber siempre unas cuantas
número de máquinas que necesitamos usaremos el proporcionado por el provee- máquinas que necesitan una IP estática.
mantener al mismo tiempo en la red. Si dor de Internet (ISP). Después de todo, no tiene sentido tener
estamos organizando una party, un cen- Fijémonos en las llaves que encierran que adivinar la dirección del router o del
tro de asistencia técnica al cliente, o la definición del segmento de red. Cada servidor multimedia para poder acceder
similar, será un número bastante grande. entrada en el archivo de configuración a él.
Para una red doméstica típica tendremos debe terminar con un punto y coma. El archivo /etc/dhcpd.conf se usa para
menos de diez máquinas. las asignaciones de las máquinas
El ejemplo en el Listado 1 es para un Libremente configurable clientes. dhcpd evalúa la dirección MAC,
red considerada pequeña, ya que supone De forma genérica, podemos decir, que que es única, para ser capaz de identi-
que no más de 20 máquinas van a estar existen dos clases de entradas en el ficar y asignar las direcciones correctas a
conectadas a la red al mismo tiempo. archivo de configuración: las que cada máquina que la solicite.
empiezan por la palabra clave option y el La dirección MAC está impresa en los
Dirección IP, máscara de resto. Las opciones (ver Tabla 2) son adaptadores de red PCMCIA y en los
red y dirección de red. pasadas a las máquinas clientes desde el conectores USB Wireless. Si no se es
aAdemás de la dirección IP, la configuración servidor DHCP. Si las máquinas clientes capaz de leer la etiqueta del NIC, se
de un dispositivo de red consta de la direc- pueden o no utilizar esta información, puede consultar la dirección MAC con
ción de broadcast y de la máscara de red. La dependerá del sistema operativo que se ifconfig para los sistemas operativos
máscara de red se usa para subdividir la red tenga instalado. Los administradores basados en UNIX o ipconfig para los de
en subredes más pequeñas. Para compren- podrían querer definir scripts donde esta Microsoft. El listado 2 muestra un ejem-
der la relación entre la dirección IP y la información sea procesada. plo de una máquina Linux cuya
máscara de red, se necesita inspeccionar los
bits a bajo nivel. Para ello, se toman cada Listado 2: Usando ifconfig para descubrir
uno de los números decimales que aparecen
entre los puntos y se escriben en su repre-
la dirección MAC
sentación binaria equivalente: 01 renner@lyra:~$ /sbin/ifconfig eth0
255=1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+ 02 eth0 Link encap:Ethernet HWaddr 00:02:2D:34:90:85
1*2^1+1*2^0 03 inet addr:10.32.130.79 Bcast:10.32.135.255
Así pues, la máscara 255.255.255.0 en for- Mask:255.255.248.0
mato punto decimal se convierte en la 04 UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500
máscara de red en binario: Metric:1
11111111.11111111.11111111.00000000 05 RX packets:15695 errors:0 dropped:0 overruns:0 frame:0
Desde luego, esto no representa mucha 06 TX packets:10988 errors:204 dropped:0 overruns:0 carrier:0
complejidad matemática, ya que se pueden 07 collisions:0 txqueuelen:100
pasar los números de una base a otra fácil- 08 RX bytes:5201433 (4.9 MiB) TX bytes:1559490 (1.4 MiB)
mente. Los 24 unos son interesantes, la red 09 Interrupt:10 Base address:0x100
es referenciada como /24 (barra 24).
Aplicando la misma técnica, podemos ver
que la dirección IP 192.168.2.3 equivale a: Tabla 2: Valores Clientes
11000000.10101000.00000010.00000011 Entrada (sin option) Parametro Significado
routers IP o nombre de host Router o puerta de enlace para acceder a Internet.
La dirección de red es el resultado de aplicar
domain-name-servers IP o nombre de host Servidor de Nombre de Dominio.
la operación AND a nivel de bits entre la
host-name Nombre de host Nombre del host cliente.
dirección IP y la máscara de red. Esta
operación deja un 1 si la IP y la máscara son 1: ntp-servers IP o nombre de host Servidor de tiempo para sincronizar el tiempo.
netbios-node-type 1,2,4,or 8 (recomendado) Resolución de nombres de Windows. 1 significa broadcast, 2 unicast,
11000000.10101000.00000010.00000000
4 modo mixto (primero broadcast, luego intenta unicast) y 8 modo
La dirección de red en formato punto deci- híbrido,primero unicast antes de intentar broadcast.
mal es 192.168.2.0 netbios-name-servers Nombre de host Servidor WINS para la resolución de nombres de Internet
Como la dirección IP cero está reservada de Windows.
para la propia red y hay otra dirección reser- domain-name Nombre de dominio Nombre del dominio de la red.
vada para broadcast ( típicamente .255), la nis-domain Nombre de dominio Nombre del dominio NIS.
red del ejemplo puede albergar hasta 254 nis-servers IP o nombre de host Servidor NIS.
máquinas. subnet-mask Máscara de red Máscara de red del segmento de la red.

18 Número 01 www.linuxmagazine.com.es
016-020_dhcp 22.11.2004 16:17 Uhr Seite 19

DHCP PORTADA

Figura 2: Habilitando el cliente de DCHP en Mandrake. Figura 3: MacOS X soporta DHCP.

dirección MAC o de “hardware” es tratando de buscar. En algunos casos IP estática que la relacione en el archivo
00:02:2D:34:90:85. puede ser útil referirse a una base de de configuración dhcpd:
Suponiendo que el servidor DHCP ha datos especial [2] que relacione las direc-
asignado a esa máquina una dirección IP ciones MAC asignadas a cada fabricante host lyraA{
arbitraria; dhcpd mantiene un registro de de tarjetas de red (ver Figura 1), cosa hardware ethernetU
direcciones asignadas y periodos de asi- que acelera la identificación. 00:02:2D:34:90:85;
gnación en /var/lib/dhcp/dhcpd.leases. Después de descubrir la dirección fixed-address lyra.mtr.mynet;
Otra opción sería hacer un ping a hardware, se puede añadir la dirección }
todos los hosts de la red para provocar
una respuesta de los mismos. Una vez Listado 3: Usando ping y arp para descubrir
realizado, con el comando arp -a se la dirección MAC
puede averiguar los hosts y sus direc-
01 renner@lyra:~$ ping -c3 192.168.2.0
ciones MAC (Ver listado 3). Primero hay
02 PING 192.168.2.0 (192.168.2.0): 56 data bytes
que hacer ping, ya que la tabla arp está
03 64 bytes from 192.168.2.1: icmp_seq=0 ttl=64 time=0.2 ms
formada por todas las direcciones MAC
04 64 bytes from 192.168.2.52: icmp_seq=0 ttl=64 time=3.5 ms (DUP!)
de todos los hosts conocidos dentro de la
05 64 bytes from 192.168.2.53: icmp_seq=0 ttl=64 time=4.2 ms (DUP!)
red, incluyendo sólo las direcciones de
06 64 bytes from 192.168.2.62: icmp_seq=0 ttl=64 time=4.7 ms (DUP!)
aquellas máquinas que se han comuni-
07 [...]
cado recientemente con su ordenador.
08 renner@lyra:~$ /usr/sbin/arp -a
09 ? (192.168.2.1) at 00:03:E3:00:18:F1 [ether] on eth0
Pero, ¿Qué dirección MAC
10 ? (192.168.2.52) at 00:30:05:55:02:ED [ether] on eth0
elegimos? 11 ? (192.168.2.53) at 00:0C:6E:1F:32:C4 [ether] on eth0
Sin embargo, aún se necesita averiguar
12 ? (192.168.2.62) at 00:30:05:55:03:7F [ether] on eth0
que dirección MAC es la que estamos

GLOSARIO
Unicast: Cada cliente recibe una copia de un pleta las entradas en los ficheros de configu- bytes. La dirección MAC está grabada dentro
fichero de un servidor. Las conexiones punto ración en las máquinas clientes, por ejemplo, de cada dispositivo Ethernet y permite que el
a punto de este tipo son fáciles de configurar, /etc/passwd, /etc/groups o /etc/hosts. Un dispositivo pueda ser identificado de forma
pero producen una gran carga en el servidor archivo llamado /etc/nsswitch.conf especifica unívoca.
si hay un gran número de clientes en la red. si el servidor NIS debe suministrar informa- Imagen Boot: Es un kernel de Linux o Unix
NIS: Es el Servicio de Información de la Red, ción para los archivos de configuración y, si es que puede ser descargado de la red y ejecu-
que proporciona la distribución de las config- así, que clase de información. Un servidor tado. Se usa en sitios donde las máquinas no
uraciones en la misma. Un servidor NIS DHCP proporciona detalles del servidor NIS tienen discos y que montan el directorio raíz
central suministra información sobre los de la red local. del sistema (/) a través de la red. Las imá-
nombres de usuarios, las contraseñas, los Dirección MAC: O Control de Acceso al genes de boot en la red permiten instalar
directorios home, las asignaciones a grupos y Medio, o de manera más simple, la dirección grandes números de ordenadores sin la
los nombres de hosts. El servidor NIS com- Ethernet, es un número hexadecimal de seis necesidad de usar CDs, floppies,…

www.linuxmagazine.com.es Número 01 19
016-020_dhcp 22.11.2004 16:17 Uhr Seite 20

PORTADA DHCP

Listado 4: Asignación de una imagen tftp dgram udpU Conclusión


wait nobody No hay una gran selección de programas
de Boot /usr/sbin/tcpdU clientes de DHCP en Linux. Uno de ellos
01 host indy {
/usr/sbin/ es pump, que es muy popular dentro de
02 filename "indy_r4k_tftpboot.img";
in.tftpd /boot las mini-distribuciones debido al poco
03 hardware ethernet 08:00:69:08:58:40;
tamaño que ocupa. Las alternativas, que
04 fixed-address 192.168.2.12;
Las distribuciones que ocupan más espacio, son dhcp-client y
05 server-name "cassiopeia.mtr.mynet";
usan el sistema mod- dhcpcd. Sin embargo, apesar de „pesar“
06 option host-name "indy";
erno xinetd, en vez del más, tienen más funcionalidades, como
07 option domain-name "mtr.mynet";
superservidor inetd, la habilidad de ejecutar scripts después
08 option domain-name-servers 192.168.2.53;
deberían tener en /etc/ de completar la configuración.
09 option routers 192.168.2.1;
xinetd.d/tftp un archi- Existe un problema de compatibilidad
10 }
vo como el mostrado entre los paquetes antiguos de dhcp y el
en el Listado 5. kernel 2.6. Esta combinación funcionará,
Si la máquina tiene múltiples NICs (p.e.: Un único servidor DHCP puede man- pero el script /sbin/dhclient comprobará
una máquina con una tarjeta LAN Wire- tener múltiples segmentos de redes al la versión del kernel para dhcp-client. Sin
less adicional), se le puede asignar el mismo tiempo. Para permitir esto, hay embargo, como no reconoce el kernel
mismo nombre de host a ambas direc- que crear múltiples subredes en la con- 2.6, en este punto se parará. Como
ciones MAC: figuración. Las opciones encerradas DHCP sólo necesita distinguir entre el
entre llaves, tales como los detalles del kernel 2.0 o posterior, se puede fácil-
host lyraB{ nombre del servidor o el dominio NIS, mente modificar el script para que
hardware ethernetU deben ser únicos. En la práctica, cada reconozca la versión 2.6 como un kernel
00:80:C7:C1:3D:76; segmento de la red está típicamente aso- válido:
fixed-address lyra.mtr.mynet; ciado a uno de las NIC del servidor
} DHCP 2.[123456].*)
Para que se reconozcan los cam- exec /sbin/dhclient-2.2.xU
En algunos casos, incluso se puede inter- bios, dhcpd debe ser reiniciado. -q "$@"
cambiar las NIC mientras la máquina Como los cambios de este tipo sólo ;;
está funcionando sin interrumpir una ocurren ocasionalmente, los admin-
conexión existente. En vez de un nombre istradores se pueden tumbar y relajar La solución es bien sencilla. Editamos el
de host, que requiere para funcionar la cuando se conecte una nueva máquina a script y tan sólo se necesita añadir un 6
capacidad de resolver nombres, se puede la red. en el lugar adecuado y enseguida
asignar una dirección IP. debería estar todo arreglado y funcio-
El Cliente nando sin ningún problema. ■
Técnicas avanzadas de DHCP Las máquinas recién llegadas no nece-
¡DHCP es capaz de mucho más! DHCP sitan mucha configuración. En vez Listado 5: El archivo
puede comunicarle a un cliente sin disco de ponerles una IP estática, se le habi- /etc/xinetd.d/tftp
duro que se baje el sistema operativo de lita DHCP. Dependiendo del sistema
01 # default: off
la red a partir de una imagen boot. Esto operativo (y posiblemente también de
02
se logra usando TFTP (Protocolo de la distribución), esta tarea se puede
03 service tftp
Transferencia de Ficheros Trivial), un hacer de varias maneras. Si tenemos
04 {
subconjunto de FTP, para transferir la Debian, se añade una línea como la si-
05 disable = no
información por la red. El listado 4 guiente:
06 socket_type = dgram
muestra un ejemplo donde a una
07 protocol = udp
estación de trabajo Indy SGI se le asigna iface eth0 inet dhcp
08 wait = yes
su kernel Linux vía DHCP. Este proced-
09 user = root
imiento de boot no sólo se usa en al fichero /etc/network/interfaces. Otras
10 server =
grandes clusters, para la resolución de distribuciones tienen herramientas de
/usr/sbin/in.tftpd
cálculos matemáticos complejos, por configuración en formato gráfico. Man-
11 server_args = -s /boot
ejemplo, sino también en universidades drake usa el asistente que se muestra en
12 }
e institutos. la figura 2.
Esto sólo funciona si el servidor tftpd Los usuarios de Windows tienen que
está activado en /etc/inetd.conf. Para acceder al icono Red del Panel de INFO
permitir al servidor encontrar la imagen Control. Los que usen el clásico MacOS
[1] Servidor DHCP: http://www.isc.org/
de boot adecuada (indy_r4k_tftpboot. necesitan acceder al Panel de Control / index.pl?/sw/dhcp/
img, en nuestro ejemplo), se necesita TCP/IP en el menú Apple. MacOS X (ver
[2] Base de datos MAC: http://www.coffer.
pasar el directorio con los archivos (tal Figura 3) activa DHCP en Preferencias com/mac_find/
como /boot) al servidor: del Sistema / Internet y Redes.

20 Número 01 www.linuxmagazine.com.es