Configuración de las DNS para virtual host
Al crear tu web, como virtual host solemos entender a la manera en la que hacemos funcionar varios sitios desde una única máquina. En este artículo, explicamos cómo configurar las DNS, tomando como base la distribución SuSE Linux, una de las más extendidas. En parte, porque es una de las más sencillas de instalar y administrar gracias a su herramienta de instalación y configuración YaST.
Para configurar el DNS en SuSE deberemos tener instalado inicialmente el BIND. Veremos durante este artículo los paquetes que debemos utilizar y cómo editar el archivo named.conf para su configuración.
Como decíamos anteriormente, para configurar el DNS se necesita el BIND (Berkeley Internet Name Domain) instalado, ya que es el servidor DNS más utilizado en Internet y cuyos fundamentos se remontan a UNIX, pero con el paso de los años se ha implementado en otros sistemas operativos. Las versiones que a día de hoy son soportadas son: BIND 8 y BIND 9. Podéis descargarlo en la página de Isc.org.
Para saber la versión con la que se cuenta, podemos ejecutar el siguiente comando:
dns: # rpm –qa |grep bind
Nota: siendo dns
el nombre del servidor
Si después de ejecutar el comando no aparece nada, se supondrá que no se encuentra en el sistema y tendremos que realizar la instalación que requiere tener permisos de superusuario (root). Desde la consola escribiremos lo siguiente:
dns: # su password ******
Y después ejecutamos YaST:
dns: # yast
Esto hará que aparezca una ventana que nos dirigirá a Software > Instalar/Desinstalar Software
Desde aquí, se seleccionan los paquetes de BIND necesarios
- Bind8 BIND8. Servidor de Nombres
- Bindutil. Utilidades para interrogar y probar DNS
Concluida la instalación de los paquetes se comienza a configurar el DNS, que será el que se encargue de asignar nombres de dominio o direcciones IP, es entonces cuando editaremos el archivo named.conf.
A continuación, con cualquier editor de texto, editamos el archivo named.conf ubicado en /etc/named.conf, en este caso nosotros hemos utilizado el editor VI, que se ejecuta desde la consola así:
dns: # vi /etc/named.conf
Al teclear la orden aparecerá el archivo. A continuación, mostramos algunos comandos de consideración del VI:
:q
Salimos del archivo sin haber realizado modificaciones.
:q!
Abandona el editor, no guarda los cambios, y vuelve al intérprete de comandos.
:wq
Guardar cambios y salir.
En este mismo archivo definiremos la zona, el nombre y el tipo del dominio. Aquí un ejemplo para su configuración :
Zone midominio.com.mx in { // nombre del Nuevo dominio Type master; // tipo de dominio maestro o esclavo, file midominio; // nombre del archivo q va a consultar };
Todo esto se agregará al final del archivo named.conf. El archivo que el dominio midominio.com.mx leerá es el de midominio, y está ubicado en /var/lib/named/.
Para poder acceder a un directorio con el comando cd, tendremos que escribir lo siguiente:
dns: # cd /var/lib/named
Contamos, aparte del fichero named.conf, con la creación de un archivo extra que complementa la configuración del DNS y que es donde se especifican los parámetros de definición del dominio.
Este se llama midominio y es el que se encarga definir esos parámetros en nuestras DNS. La dirección IP del servidor es 14.25.107.12, y suponiendo que el dominio a configurar se llame midominio.
Aquí os dejamos con un ejemplo:
@ IN SOA dns.midominio.com. desarrollo.midominio.com. { ; ; Otros parámetros de configuración ; @ NS dns.midominio.com. MX 10 dns.midominio.com. @ A 14.25.107.12 Localhost A 127.0.0.1 dns A 14.25.107.12 www CNAME dns
- Registro A (address): indica la dirección IP a la que se debe traducir ese nombre de dominio.
- Registro CNAME (canonical name): permite definir alias o nombres de domino equivalentes. Normalmente, se usa para definir subdominios (que casi siempre apuntarán al dominio principal, aunque no es obligatorio).
- Registro NS (name server): indica los servidores de DNS autorizados para el dominio. Es decir, a quién tengo que preguntar para saber acerca de los registros de com.
- Registro MX (mail exchange): permite definir a qué servidor se envía el correo electrónico del dominio en cuestión. Cuenta con un campo prioridad, por lo que para un mismo dominio se pueden definir varios registros MX con distinta prioridad, escogiéndose el primero que esté disponible en cada momento.
Vemos que en la primera línea (dns.midominio.com) se indica el nombre del host y el nombre del dominio, a continuación se anota la dirección de correo electrónico (miemail.xxx.com) para indicar al responsable, la arroba “@” es sustituida por un punto “.”. Ten en cuenta que es vital finalizar siempre con el punto “.” cada parámetro, porque de lo contrario el BIND no lo leerá bien, ya que esto sirve para evitar que trate de unir los parámetros con algún otro nombre de dominio que hayamos puesto.
Al estar dando de alta un dominio virtual, no se requiere crear un archivo de zona inversa, sin embargo, es significativo citar cuál es su configuración en caso de que sea necesario. En este archivo no se requiere la configuración de ningún parámetro, debido a que el dominio apunta a la misma dirección IP.
@ IN SOA dns.midominio.com. desarrollo.midominio.com. { ; ; Otros parámetros ; NS dns.midominio.com. 12 PTR dns.midominio.com.
- Registro NS (name server): indica los servidores de DNS autorizados para el dominio, es decir, a quién tengo que preguntar para saber acerca de los registros de dominio.com.
- Registro PTR: es el registro de recurso de un dominio que define las direcciones IP de todos los sistemas en una notación invertida. Es decir, traduce IPs en nombres de dominio.
En la línea que pone 12 PTR dns.midominio.com., el número 12 corresponde al último octeto de la dirección IP del servidor. Recuerda reiniciar el BIND cuando realices los cambios.
dns: # rcnamed status //verifica el status del bind dns: # rcnamed start //inicia el servicio dns: # rcnamed stop //detiene el servicio
Un ejemplo:
dns: # rcnamed status Cheking for nameserver BIND 9 running
“ running” se mostrará en color verde. Si no se pudiera iniciar el BIND o apareciese un mensaje de error, el archivo messages, ubicado en /var/log, será tu referencia de consulta.