2. Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
para el protocolo DHCP, las cuales consisten en:
• Servidor DHCP
• Cliente DHCP
• Agente de retransmisión.
Dichas herramientas utilizan un API (Application Programming Interface o Interfaz de
Programación de Aplicaciones) modular diseñado para ser lo suficientemente general para ser
utilizado con facilidad en los sistemas operativos que cumplen el estándar POSIX (Portable
Operating System Interface for UNIX o interfaz portable de sistema operativo para Unix) y no-
POSIX, como Windows.
URL: http://isc.org/products/DHCP/
37.2. Equipamiento lógico necesario.
37.2.1. Instalación a través de yum.
Si utiliza CentOS 5, Red Hat™ Enterprise Linux 5 o White Box Enterprise Linux 5, solo se
necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:
yum -y install dhcp
37.2.2. Instalación a través de up2date.
Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o
actualizar el equipamiento lógico necesario:
up2date -i dhcp
37.3. Procedimientos.
37.3.1. SELinux y el servicio dhcpd.
A fin de que SELinux permita al servicio dhcpd funcionar normalmente y sin protección alguna,
utilice el siguiente mandato.
setsebool -P dhcpd_disable_trans 1
A fin de que SELinux permita al sistema funcionar normalmente y sin protección alguna como
cliente DHCP, utilice el siguiente mandato.
setsebool -P dhcpc_disable_trans 1
37.3.2. Fichero de configuración /etc/dhcpd.conf.
Considerando como ejemplo que se tiene una red local con las siguientes características:
• Número de red 172.16.1.0
278
3. Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
• Máscara de sub-red: 255.255.255.240
• Puerta de enlace: 172.16.1.1
• Servidor de nombres: 8.8.8.8 y 8.8.4.4
• Servidor Wins: 172.16.1.1
• Servidores de tiempo (NTP): 200.23.51.205, 132.248.81.29 y 148.234.7.30.
• Rango de direcciones IP a asignar de modo dinámico: 172.16.1.2-172.16.1.11
• Dos direcciones IP se asignarán como fijas (172.16.1.12, 172.16.1.13 y 172.16.1.14) para las tarjetas
de red con direcciones MAC (Media Access Control o Control de Acceso de Medios)
00:24:2B:65:54:84, 00:50:BF:27:1C:1C y 00:01:03:DC:67:23.
NOTA: Es indispensable conocer y entender perfectamente todo lo anterior para poder continuar con este documento.
Puede utilizar el siguiente contenido de ejemplo para adaptar y crear desde cero un nuevo
fichero /etc/dhcpd.conf que se ajuste a una red y conjunto de sistemas en particular.
server-identifier proxy.red-local.net;
ddns-update-style interim;
ignore client-updates;
authoritative;
default-lease-time 900;
max-lease-time 7200;
option ip-forwarding off;
option domain-name "red-local.net";
shared-network miredlocal {
subnet 172.16.1.0 netmask 255.255.255.240 {
option routers 172.16.1.1;
option subnet-mask 255.255.255.240;
option broadcast-address 172.16.1.15;
option domain-name-servers 8.8.8.8, 8.8.4.4;
option netbios-name-servers 172.16.1.1;
option ntp-servers 200.23.51.205, 132.248.81.29,
148.234.7.30;
range 172.16.1.2 172.16.1.11;
}
host impresora-laser {
option host-name "epl5900.red-local.net";
hardware ethernet 00:24:2B:65:54:84;
fixed-address 172.16.1.12;
}
host servidor {
option host-name "servidor.red-local.net";
hardware ethernet 00:50:BF:27:1C:1C;
fixed-address 172.16.1.13;
}
host proxy {
option host-name "proxy.red-local.net";
hardware ethernet 00:01:03:DC:67:23;
fixed-address 172.16.1.14;
}
}
37.3.3. Fichero de configuración /etc/sysconfig/dhcpd.
Una buena medida de seguridad es hacer que el servicio dhcpd solo funcione a través de la
interfaz de red utilizada por la LAN, esto en el caso de tener múltiples dispositivos de red. Edite el
fichero /etc/sysconfig/dhcpd y agregue como argumento del parámetro DHCPDARGS el valor
eth0, eth1, eth2, etc., o lo que corresponda a la interfaz desde la cual accede la red local.
Ejemplo, considerando que eth1 es la interfaz correspondiente a la LAN:
279
4. Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
# Command line options here
DHCPDARGS=eth1
37.3.4. Iniciar, detener y reiniciar el servicio dhcpd.
Para iniciar por primera vez el servicio dhcpd, utilice:
/sbin/service dhcpd start
Para hacer que los cambios hechos a la configuración del servicio dhcpd surtan efecto, utilice:
/sbin/service dhcpd restart
Para detener el servicio dhcpd, utilice:
/sbin/service dhcpd stop
37.3.5. Agregar el servicio dhcpd al arranque del sistema.
Para hacer que el servicio de dhcpd esté activo con el siguiente inicio del sistema, en todos los
niveles de corrida (2, 3, 4, y 5), se utiliza lo siguiente:
/sbin/chkconfig dhcpd on
37.4. Comprobaciones desde cliente DHCP.
Hecho lo anterior solo falta con configurar como interfaces DHCP las estaciones de trabajo que
sean necesarias sin importar que sistema operativo utilicen.
Después de configurado e iniciado el servicio, desde una terminal como root en otro sistema
que será utilizado como cliente, considerando que se tiene una interfaz de red denominada eth0,
utilice los siguientes mandatos para desactivar la interfaz eth0 y asignar una nueva dirección IP
a través del servidor dhcp.
/sbin/ifdown eth0
/sbin/dhclient eth0
Lo anterior deberá devolver el mensaje «Determinando la información IP para eth0...» y el
símbolo de sistema. Para corroborar, utilice el mandato ifconfig para visualizar los dispositivos
de red activos en el sistema.
La configuración del dispositivo de red, considerando como ejemplo la interfaz eth0 con
dirección MAC 00:01:03:DC:67:23, solicitando los datos para los servidores DNS,
correspondiente al fichero /etc/sysconfig/network-scripts/ifcfg-eth0, sería con el siguiente
contenido:
DEVICE=eth0
ONBOOT=yes
USERCTL=yes
BOOTPROTO=dhcp
280
5. Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
PEERDNS=yes
HWADDR=00:01:03:DC:67:23
TYPE=Ethernet
37.5. Modificaciones necesarias en el muro cortafuegos.
Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario
abrir los puerto 67 y 68 por UDP (BOOTPS y BOOTPC, respectivamente).
Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con una zona
(net), correspondería a lo siguiente:
#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT PORT(S)1
ACCEPT net fw udp 67,68
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net
y loc), donde solo se va a permitir el acceso al servicio dhcpd desde la red local, correspondería
a lo siguiente:
#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT PORT(S)1
ACCEPT loc fw udp 67,68
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE
281