Instalación y configuración del servidor DHCP. Vamos a configurar un servidor DHCP que dará configuración a los equipos de las 3 aulas. Además las zonas del servidor DNS se actualizarán de forma dinámica al conectarse un nuevo cliente en alguna de las aulas. Instalamos la herramienta que vamos a utilizar. # apt-get install isc-dhcp-server Leyendo lista de paquetes... Hecho Creando árbol de dependencias Leyendo la información de estado... Hecho Paquetes sugeridos: isc-dhcp-server-ldap Se instalarán los siguientes paquetes NUEVOS: isc-dhcp-server Para ver los paquetes que se nos han instalado: # dpkg -L isc-dhcp-server /. /usr /usr/share /usr/share/apport /usr/share/apport/package-hooks /usr/share/apport/package-hooks/isc-dhcp-server.py /usr/share/lintian /usr/share/lintian/overrides /usr/share/lintian/overrides/isc-dhcp-server /usr/share/doc /usr/share/doc/isc-dhcp-server /usr/share/doc/isc-dhcp-server/examples /usr/share/doc/isc-dhcp-server/examples/dhcpd.conf /usr/share/doc/isc-dhcp-server/copyright /usr/share/doc/isc-dhcp-server/news.debian.gz /usr/share/man /usr/share/man/man8 /usr/share/man/man8/dhcpd.8.gz /usr/share/man/man5 /usr/share/man/man5/dhcpd.leases.5.gz /usr/share/man/man5/dhcpd.conf.5.gz /usr/sbin /usr/sbin/dhcpd /var /var/lib /var/lib/dhcp /var/run /etc /etc/dhcp /etc/dhcp/dhcpd.conf /etc/init.d /etc/init
/etc/init/isc-dhcp-server.conf /etc/init/isc-dhcp-server6.conf /etc/apparmor.d /etc/apparmor.d/usr.sbin.dhcpd /etc/apparmor.d/dhcpd.d /usr/share/doc/isc-dhcp-server/readme.debian /usr/share/doc/isc-dhcp-server/changelog.debian.gz /etc/init.d/isc-dhcp-server6 /etc/init.d/isc-dhcp-server Archivos de configuración: # dpkg -L isc-dhcp-server grep /etc /etc /etc/dhcp /etc/dhcp/dhcpd.conf /etc/init.d /etc/init /etc/init/isc-dhcp-server.conf /etc/init/isc-dhcp-server6.conf /etc/apparmor.d /etc/apparmor.d/usr.sbin.dhcpd /etc/apparmor.d/dhcpd.d /etc/init.d/isc-dhcp-server6 /etc/init.d/isc-dhcp-server Nos vamos a centrar en los archivos: /etc/dhcp/dhcpd.conf : Archivo de configuración principal /etc/apparmor.d/usr.sbin.dhcpd : Archivo de opciones del demonio El comando para iniciar, parar o reiniciar el servicio : # service isc-dhcp-server [start stop restart] /etc/dhcp/dhcpd.conf Este el archivo principal del configuración del servidor DHCP. En el especificaremos los parámetros para que de servicio de configuración a las 3 aulas de informática así como las especificaciones necesarias para que se actualicen de forma dinámica los archivos de zonas del servidor DNS de cada aula. Tenemos 3 redes diferentes a las que vamos a dar servicio, esto implica la creación de 3 subredes en el archivo con las opciones de configuración adaptadas a cada red. Debemos tener presente que las directivas globales del archivo predominan sobre las que especifiquemos en cada subred. Por esto deberemos especificar las opciones de configuración dentro de las 3 subredes que hemos de configurar. Opciones globales: Abrimos el archivo con un editor de texto para especificar las opciones que afectarán a las 3 redes de las 3 aulas.
Directivas para actualizaciones dinámicas del DNS: ddns-updates on; ddns-update-style interim; ignore client-updates; include "/etc/bind/rndc.key"; authoritative; ddnns-updates : Activamos las actualizaciones dinámicas ddns-update-style : Las actualizaciones serán automáticas. ignore client-updates: include "/etc/bind/rndc.key": Incluimos el archivo con la llave que comparte con el servidor DNS que le va a permitir realizar las actualizaciones. Authoritative : Indicamos que el servidor está autorizado frente a otros servidores que pueda haber. Es decir que la configuración que ofrece es correcta Directivas generales para las tres aulas. option domain-name "iesebre.com"; option subnet-mask 255.255.255.0 option ip-forwarding off; default-lease-time 36000; max-lease-time 10800; option domain-name : Dominio que hemos definido y mandaremos al los clientes. option subnet-mask : Máscara de red, será la misma para las 3 aulas. option ip-forwarding off : default-lease-time : Tiempo de alquiler de IP en segundos.!0 horas máximo max-lease-time : Tiempo máximo que permitirá el servidor al cliente para solicitar como alquiler. Definición de las subredes. Mostraremos el ejemplo para el aula 20.2. Deberemos crear tres subredes con los rangos de direcciones que vamos a dar, una por cada aula, y especificar en su interior las 2 zonas del DNS que tenemos, (directa e inversa) para que sean actualizadas de forma dinámica. subnet 192.168.202.0 netmask 255.255.255.0 { range 192.168.202.101 192.168.202.254; option routers 192.168.202.1; option broadcast-address 192.168.202.255; option domain-name-servers 192.168.202.1; #Actualizar zonas server-identifier aula202.iesebre.com; ddns-domainname "aula202.iesebre.com"; ddns-rev-domainname "202.168.192.in-addr.arpa."; zone aula202.iesebre.com { primary 192.168.202.1;
key "rndc-key"; } zone 202.168.192.in-addr.arpa. { primary 192.168.202.1; key "rndc-key"; } range : Rango de Ips que vamos a conceder (de la 101 a la 254). Nota: La IP.100 deberá darse de manera fija por dirección MAC para los profesores. Desconozco en este momento la MAC de las tarjetas de red de los ordenadores de los profesores. Se podrá implementar más adelante si fuera necesario. option routers : IP del que será el gateway de la red. option broadcast-address : Dirección de difusión. option domain-name-servers : Servidor DNS que asignaremos a la red. server-identifier : Identificador del servidor. ddns-domainname : Dominio que actualizaremos (zona directa). ddns-rev-domainname : Zona inversa a actualizar. zone : Declaramos las zonas directas e inversa. primary : Servidor DNS de la zona. key : Archivo con la llave que autorizará la actualización de ambas zonas. El resto de parámetros están configurados en la zona global ya que son comunes a las 3 aulas. Crearemos 2 subredes más, adaptando los parámetros para cada aula. /etc/apparmor.d/usr.sbin.dhcpd Como en el caso del servidor DNS necesitamos que el demonio del servidor DHCP pueda leer la clave rndc.key ubicada en /etc/bind/, para poder realizar las actualizaciones dinámicas de las zonas directa e inversa de cada aula. Para ello vamos a especificarle estos permisos en el archivo. Añadiremos las líneas: /etc/bind/ r, /etc/bind/** r, La primera línea le permite leer la carpeta correspondiente, la segunda línea le da permiso de lectura sobre el contenido de la misma. Debemos dar los permisos apropiados a los directorios. El demonio del servidor DHCP(dhcpd) tiene que leer la clave que le permite comunicarse con el servidor DNS, pero es el demonio del servidor DNS(named) el que escribirá en los archivos de zonas para actualizarlos, generando dos nuevos archivos de zonas con el mismo nombre pero con extensión.jnl. Ejecutamos lo sigueinte. # chmod 2775 /etc/bind
2 : Bit sticky. Solo los propietarios de los archivos podrán realizar modificaciones en los archivos. 7 : Permisos de rwx para el usuario propietario. 7 : Permisos de rwx para el grupo propietario. 5 : Permisos de rx para el resto de usuarios. Debemos recordar que nuestros archivos de zonas se encuentran en 3 directorios diferentes,uno para cada aula. Aunque en el apartado de configuración del servidor del DNS hemos cambiado el grupo propietario (bind) debemos darle permisos de escritura para que el demonio named pueda realizar las actualizaciones. Ejecutamos la orden anterior para los 3 directorios. # chmod 2775 /etc/bind/aula202 # chmod 2775 /etc/bind/aula203 # chmod 2775 /etc/bind/aula204 Reiniciamos el servicio apparmor para que se realicen los cambios. # /etc/init.d/apparmor restart rndc.key La llave ubicada en el directorio /etc/bind en pertenece al usuario bind y al grupo bind. Para poder realizar las actualizaciones automáticas el demonio del servidor DHCP(dhcpd) debe poder abrir la llave para poder leerla. Vamos a darle los permisos adecuados. # chown bind:dhcpd /etc/bind/rndc.key # chmod 660 /etc/bind/rndc.key Con la primera línea cambiamos los propietarios del archivo que serán el usuario bind y el grupo dhcpd. En la seguna le damos permisos de lectura y escritura al usuario y grupo propietario y ninguno al resto.
Comprobaciones. Reiniciamos el servicio del servidor DHCP para hacer efectivos los cambios y comprobaremos si todo funciona bien realizando peticiones desde una máquina cliente. # service isc-dhcp-server restart Realizamos una petición desde el cliente. Debemos tener en cuenta que estamos haciendo las pruebas en máquinas virtuales, es decir no hay cableado ni VLAN como en el instituto que diferencie de donde viene la petición. El servidor tiene tres interfaces que ofrece IPs y el cliente una sola que manda la petición por difusión o broadcast. Esto implica que a las 3 interfaces del servidor DHCP les llegará la petición del cliente.. Va a resultar algo aleatorio que IP coja el cliente. El cliente toma una IP que pertenecería al aula 20.4 como vemos el servidor DNS que se le ha asignado es el correspondiente a ese aula. Si miramos en el servidor se habrán actualizado los archivos de zona del aula 20.4 y aparecerán los archivos con extensión.jnl. Si mostramos el archivo de zona directa veremos como el serial a aumentado en una unidad y se ha agregado un registro A con el nombre de hostname del cliente y la IP que se le ha asignado.
Lo mismo ocurrirá en el registro de zona inversa Con esto terminamos la fase inicial preparatoria del servidor.