DNS y DHCP en openSUSE 13.2 “Harlequin”- Redes PYMES
El propósito fundamental de este artículo es mostrar como podemos lograr un servidor DNS y DHCP en openSUSE mediante su magnífica herramienta de configuración YaST, y todo –o casi– mediante su interfaz gráfica.
Les prometemos una completa instalación mediante interfaz gráfica, con la excepción –toda regla tiene su excepción, ¿no?– de un par de consolas para comprobar el correcto funcionamiento de la pareja Bind9 + ISC-DHCP-Server, configurados mediante el YaST – Yet another Setup Tool el cual es un conjunto de muy buenas herramientas para la gestión de software y la configuración del sistema.
El primer servicio -y el mas importante en nuestro criterio personal- que se debe implementar en una Red PYME, es el servicio DNS – DHCP. Si no queremos configura manualmente los parámetros de red de cada una de las estaciones de trabajo, no debemos prescindir del servicio DHCP, como se explica mas adelante. También está el servicio horario o NTP.
DNS: antecedentes
En el mes de abril del 2013 publicamos en DesdeLinux una serie de 5 artículos dedicados a implementar un DNS primario sobre Debian:
- DNS Maestro Primario para una LAN en Debian 6.0 (I)
- DNS Maestro Primario para una LAN en Debian 6.0 (II)
- DNS Maestro Primario para una LAN en Debian 6.0 (III)
- DNS Maestro Primario para una LAN en Debian 6.0 (IV)
- DNS Maestro Primario para una LAN en Debian 6.0 (V)
Incluso se ofreció para su descarga un compendio de los artículos anteriores en formato HTML Aunque fueron escritos –en ese entonces– con la release Debian “Squeeze”, las definiciones y conceptos tratados en ellos mantienen una vigencia total.
Por ello es que no vamos a hacer una Introducción formal al tema DNS. Lea esos artículos si tiene alguna duda, donde se ofrecen además, enlaces a literatura especializada sobre DNS.
En openSUSE, las carpetas y archivos mas importantes relacionados con éste servicio son:
- archivo /etc/named.conf
- carpeta /etc/named.d
- archivo /etc/sysconfig/named
- programas /usr/sbin/named-checkconf, /usr/sbin/named-checkzone, /usr/sbin/named-compilezone, /usr/sbin/named-journalprint
- carpeta /usr/share/doc/packages/bind/
- carpeta /var/lib/named/
- carpeta /var/lib/named/dyn/
- archivo /etc/init.d/named
- enlace simbólico /usr/sbin/rcnamed
DHCP
El propósito del Protocolo de Configuración Dinámica del Host – Dynamic Host Configuration Protocol (DHCP), es el de asignar los parámetros de configuración para una red de forma centralizada -mediante un servidor DHCP- en vez de configurar manualmente cada estación de trabajo. Un equipo configurado mediante DHCP, no tiene control alguno sobre su dirección IP estática. Ese equipo cliente se configura de forma tal que permita su configuración de red automáticamente, acorde a las directivas del servidor.
El servicio DHCP le facilita la vida a los Administradores de Redes. Mediante la configuración del servidor DHCP, se pueden definir parámetros tales como nombre del dominio, pasarela, servidor horario o de tiempo, servidores DNS, servidor WINS si se utiliza, dirección IP de emisión – broadcast, dirección IP y máscara de red del equipo cliente, nombre del equipo cliente, y muchos otros parámetros mas.
Cualquier cambio, incluso grandes cambios en los parámetros relativos a las direcciones IP y la configuración de la red, se pueden implementar de forma centralizada, si editamos o cambiamos la configuración del servidor DHCP.
Normalmente, el servidor DHCP mantiene un registro completo de las direcciones IP asignadas o leases, y generalmente el parámetro clave es la dirección MAC de cada tarjeta de red o NIC – Network Interface Card. En openSUSE, las direcciones IP arrendadas o leases otorgadas por el DHCP se guardan en el archivo /var/lib/dhcp/db/dhcpd.leases.
El paquete dhcp-doc, el cual se instala en la carpeta /usr/share/doc/packages/dhcp-doc, ofrece muy buena documentación -en inglés- sobre este servicio.
El archivo de configuración del servidor DHCP es /etc/dhcpd.conf. Otro archivo de configuración del DHCP es /etc/sysconfig/dhcpd, y es donde se define por cual interfaz de red -o por cuales interfaces de red- responderá el servidor.
Y como estamos en plena época del systemd, también tenemos al archivo /usr/lib/systemd/system/dhcpd.service.
Como prometimos no utilizar la consola, dejamos el resto de las averiguaciones a los amantes del bash. Que conste, La Consola No Muerde.
Sugerencias
A pesar de que prometimos no utilizar la consola, excepto un par de veces, sugerimos ejecuten los siguientes comandos –como root– después que el servicio DNS – DHCP, haya otorgado al menos una dirección IP dinámica, lo que presupone hayan finalizado la instalación completa de ambos servicios y estén en franco período de comprobaciones:
- systemctl status named.service
- systemctl status dhcpd.service
- systemctl status dhcp-server.service
- named-journalprint /var/lib/named/dyn/desdelinux.fanX.jnl
A los enfermos de “versionitis” les recomendamos echen un vistazo –sobre todo a las fechas de los encabezamientos– a los archivos:
- /etc/init.d/named
- /etc/init.d/nfs
- /etc/init.d/cifs
- /etc/init.d/rpmconfigcheck
y en general a todos los archivos de la carpeta /etc/init.d.
Consultas DNS que hacen los clientes Windows
Nuevamente, y en una consola, ejecuten como el usuario root el comando:
- journalctl -f
Dedique un tiempo a observar como los clientes Windows realizan continuadas consultas DNS a sitios fuera de la LAN Empresarial. En el ejemplo desarrollado en éste artículo, no se incluye a ningún redireccionador – forwarder, con el explícito propósito de mostrar ésta característica de los sistemas operativos de Microsoft® Windows.
El kernel que instala openSUSE con ambiente de escritorio
- Es preferencia nuestra emplear un núcleo lo más estable posible para los servidores. A continuación sugerimos el procedimiento para lograrlo.
Como seleccionamos una instalación con el escritorio LXDE, openSUSE instala por defecto el “kernel-desktop” optimizado para escritorios.
Si posteriormente queremos utilizar el núcleo estándar – kernel-default, solamente tenemos que instalarlo mediante el Gestor de Paquetes del YaST, reiniciar el sistema, elegir “Opciones avanzadas para openSUSE” en la pantalla de inicio, y seleccionar el kernel-default. Las versiones de ambos núcleos son la mismas.
Por último, debemos eliminar el kernel-desktop mediante el mismo Gestor de Paquetes, pues el GRUB lo considera más actualizado que el kernel-default, y de existir lo seleccionará siempre como primera opción. Como no nos agrada mucho “trastear” el GRUB, preferimos eliminar el núcleo para escritorios, sencillamente porque no lo utilizaremos mas.
Nota: Cuando removemos del sistema al kernel-desktop, se eliminan automáticamente todas las versiones instaladas de ese núcleo. Lo podemos comprobar eligiendo nuevamente las “Opciones avanzadas para openSUSE” en la pantalla de inicio.
Importante consejo
- No se embarque en la aventura de implementar un servicio DNS – DHCP con cualquier sistema operativo, sin antes tener claro los conceptos teóricos fundamentales. Con servicios tan importantes para una red como es el DNS, los errores conceptuales se pagan muy caros en un ambiente de producción.
Servicios que podemos deshabilitar para ahorrar recursos
Mediante el módulo del “Gestor de servicios” del YaST, una vez terminada toda la instalación y con el propósito de ahorrar recursos de hardware, podemos deshabilitar una serie de servicios que, en éste caso particular, no son necesarios. Ejemplos:
- cups : Sistema de impresión Common Unix Printing System
- lvm2-lvmetad: Demonio de metadatos del Logical Volume Manager, solamente sino estamos utilizando volúmenes lógicos
- ModemManager: Gestor de Modems
Abreviaturas
Soy enemigo de las traducciones, Ok?.
- GRUB: consola de comandos del GRand Unified Bootloader
- NTP: Network Time Protocol. Protocolo utilizado para la sincronización de los relojes de diferentes equipos a través de las redes
- LAN: Red de Área Local – Local Area Network
- SPF: “Sender Policy Framework“. Mecanismo Anti SPAM que le permite a un servidor de correo verificar que el origen SMTP es válido para la dirección de envío de un correo.
- TSIG: Firma de Transacción – Transaction SIGnature. Definida en la RFC 2845 “Secret Key Transaction Authentication for DNS“
- UUID: Identificador Único Universal – Universally Unique Identifier
Instalación Paso a Paso mediante imágenes
Capturamos un total de 71 pantallas para reflejar un Paso a Paso lo más fiel posible. En cada una de las pantallas de instalación, openSUSE nos facilita el trabajo con la existencia de un botón de Ayuda – Help-generalmente ubicado en la parte inferior izquierda.
No daremos una descripción de cada captura de pantalla por considerarlo redundante. Como reza el refrán, “Una imagen vale mas que mil palabras“.
Soporte para la instalación
Como medio de instalación podemos utilizar una imagen de DVD como la que utilizamos para la confección de éste post openSUSE-13.2-DVD-x86_64.iso, o de una versión más avanzada. Si el equipo no posee lector de DVD, o si nos es más cómodo utilizar una memoria – pen drive, la podemos hacer según se indica en el artículo Memoria con auto inicio para instalar Debian, CentOS, u openSUSE. Después de instalado el sistema operativo, para la preparación de una memoria se puede instalar y utilizar el programa Imagewriter de SUSE Studio.
No obstante sugerimos prueben inicialmente en una máquina virtual.
Instalación, declaración de repositorios y actualización del sistema
- Sugerimos para el servidor virtual dns.desdelinux.fan unos 768 megas de RAM y un disco duro de 20 GiB. La memoria es porque lo haremos con interfaz gráfica.
- En la imagen 05, relativa a la Configuración de Red, no declaramos ningún Servidor de Nombres porque esa función es la que se va a instalar. De declarar algún otro servidor, será considerado como un redireccionador – forwarder, y queremos implementar el servicio de esa forma para comprobar la insistencia de los Sistemas Operativos Microsoft® en su búsqueda de sitios en Internet.
- Creamos una Configuración de particiones muy personalizada acorde a nuestro gusto particular. Siéntase libre de elegir e implementar la que Usted prefiera.
- Imagen 15: “Opciones de fstab”. Escogemos que las particiones se monten según su ETIQUETA – LABEL y no según su UUID, que es la opción por defecto. Después de instalado el sistema lea el contenido del archivo /etc/fstab.
- El servidor NTP para sincronizar la hora es precisamente el Hipervisor Anfitrión donde se ejecuta el servidor DNS – DHCP.
- De igual forma que seleccionamos el escritorio LXDE porque se ajusta perfectamente a nuestras necesidades, Usted puede elegir cualquier otro de los que le ofrece el instalador del openSUSE.
- El nombre del usuario escogido “buzz” es para honrar a nuestra distribución favorita. Mas nada.
- En la imagen 22, observe que abrimos en el Firewall el puerto SSH, y además habilitamos el servicio SSH.
- Por favor, tómese su tiempo al elegir el software que instalará. Vale la pena navegar por el magnífico Gestor de Paquetes, tal y como se muestra en la imagen 23.
- Imágenes 35, 36, 37 y 38: Después de instalado el sistema operativo desde el DVD u otro soporte, lo primero que debemos hacer es la declaración de los repositorios para actualizar a nuestro sistema, sean locales o se encuentren en Internet. En nuestro caso, deshabilitamos los diferentes repositorios que ofrece openSUSE en sus servidores en Internet, y añadimos los nuestros que son Locales. A saber, disponemos de los repositorios Database, Packman, Updates, Oss y Non-Oss, suficientes para el trabajo propuesto, y para hacernos un escritorio con todas las de la ley.
- Imágenes 39 y 40: Comienza y termina la actualización del Gestor de Paquetes del YaST. En la primera pantalla dejamos las selecciones por defecto. Sólo hicimos clic en el botón Apply.
- Imágenes 41, 42 y 43: Después que el Gestor de Paquetes se actualiza a si mismo, lanza la pantalla con los paquetes del resto del sistema que se van a actualizar. En ella, también aceptamos las selecciones por defecto.
- Imagen 44: Clásica pantalla de finalizar una sesión en LXDE.
Instalación y configuración de los servicios DNS y DHCP en openSUSE
- Imagen 47: No olvidemos generar la clave secreta para la actualización dinámica de las zonas del DNS, que a saber son desdelinux.fan y 10.168.192.in-addr.arpa.
- Imagen 49: Observemos bien el cuadro que aparece en la parte superior “Ajustes para la zona desdelinux.fan“. Permitimos las actualizaciones dinámicas y la transferencia de zona para la red local nada mas.
- Imagen 53: Si desplegamos la lista “Tipo:” de registros DNS, encontraremos que podemos declarar los siguientes:
- A: Traducción del nombre de dominio IPv4
- AAAA : Traducción del nombre de dominio IPv6
- CNAME: alias para el nombre de dominio
- NS: servidor de nombres
- MX: transmisión de correo
- SRV: Registro de servicios SRV, muy utilizados en los Active Directory y otros servicios
- TXT: Registro de texto
- SPF: Sender Policy Framework
- Imagen 54: openSUSE nos facilita la vida al no tener que declarar los registros DNS inversos. También permitimos la actualización dinámica de la zona inversa y la transferencia de zona para la red local.
- Imagen 55: Después de terminar la configuración del DNS nada mejor que comprobar su funcionamiento y correcta configuración, mediante un par de sencillos comandos de consola.
- Imagen 56: Antes de configurar el DHCP, debemos asignar a la interfaz de red que seleccionaremos para ese servicio -pueden ser una o más interfaces- una Zona en el Cortafuegos. Seleccionamos la Zona Interna que es la de nuestra LAN.
- Imágenes 61 y 62: Para declarar el DNS dinámico debemos pasar a la “Configuración experta del Servidor DHCP“.
- Imagen 63: Seleccionamos la subnet y hacemos clic en el botón “Avanzado“, y seleccionamos la opción “Gestión de claves TSIG“.
- Imagen 64: Seleccionamos la clave TSIG generada durante la configuración del DNS. Si no lo hizo entonces, puede hacerlo ahora y volver a configurar la actualización dinámica de las zonas del DNS acorde a la clave aquí generada.
- Imagen 65: Regresamos a la subnet seleccionada y ahora hacemos clic sobre el botón “Editar“.
- Imagen 66: Seleccionamos el Rango de nuestro interés y hacemos clic sobre “DNS Dinámico“.
- Imagen 68: Iniciamos el equipo opensuse-desktop.desdelinux.fan que es el objeto de nuestro próximo artículo, el que instalamos y configuramos con el dns.desdelinux.fan funcionando, y comprobamos mediante un par de sencillos comandos de consola, que el DHCP actualizó correctamente al DNS, y que se devuelven los registros DNS directos e inversos de ese cliente.
¡Continúen con nosotros en la próxima aventura!
El artículo DNS y DHCP en openSUSE 13.2 “Harlequin”- Redes PYMES aparece primero en DNS y DHCP en openSUSE 13.2 “Harlequin”- Redes PYMES.