Configura un servidor DNS con Bind9 en tu servidor Linux

Configura un servidor DNS con Bind9 en tu servidor Linux

Sergio De Luz

Los servidores DNS (Sistema de Nombres de Dominio) nos permiten llegar a una determinada dirección IP a partir de un nombre de dominio, de esta forma, podremos acceder a diferentes webs poniendo su nombre de dominio directamente en la barra de direcciones del navegador web. También tenemos la posibilidad de montar un servidor DNS en la red local doméstica o profesional, para llegar a los diferentes equipos de la red local a través de un nombre de dominio en concreto, sin necesidad de recordar siempre las direcciones IP privadas.

Llegar a configurar un servidor DNS con Bind9 en tu servidor Linux no resulta tan complicado como parece. Por esto mismo, en RedesZone os vamos a enseñar cómo podemos configurar un servidor DNS en un servidor Linux usando Bind9 desde cero, el servidor DNS más popular y utilizado. Además, antes de comenzar el proceso, es importante conocer qué es Bind9, sus características y ventajas, además de la seguridad que ofrece. Después, pasaremos a los requisitos previos para que puedas comprobar que cumples todos y, por último, tocará ver la instalación. Por lo que encontrarás cada uno de los pasos a seguir para que no te pierdas durante el proceso.

 

¿Qué es Bind?

Bind, o también conocido como Berkeley Internet Name Domain (anteriormente conocido como anteriormente denominado Berkeley Internet Name Daemon) es un software que se encarga de realizar la tarea de servidor DNS. Bind es actualmente un estándar, y es utilizado ampliamente en sistemas operativos Linux y también en Unix, por tanto, si tienes un servidor basado en Linux o Unix y necesitas un servidor DNS para gestionar las consultas de la red local, entonces Bind es lo que debes utilizar.

La versión más reciente de Bind es la versión Bind9, y es la que se utiliza habitualmente en todos los servidores, las versiones anteriores se consideran inseguras y «deprecated», por lo que no es recomendable utilizarlas. En este caso, lo cierto es que estamos ante una versión posterior, pero muy parecida a Bind8. Por lo que, en RedesZone explicaremos cómo usar la última versión disponible, aunque también hay que conocer las anteriores alternativas que se han ido dando con el paso del tiempo.

Bind no sustituye a servidores DNS como los que podemos usar de Google (8.8.8.8), Cloudflare (1.1.1.1) u otros, sino que se complementa con ellos. Los clientes de la red local tendrán como servidor DNS el servidor Bind que configuremos en un servidor Linux, posteriormente, en este Bind podremos configurar diferentes reglas para llegar a equipos locales a través de sus direcciones IP privadas. Si un cliente de la red local, realiza una petición DNS a una web de Internet, lógicamente el servidor DNS no tendrá en su base de datos todas las direcciones IP de Internet, en este caso, se configuran unos servidores DNS públicos para hacer frente a estas solicitudes, reenviando el servidor con Bind la petición y automáticamente se la devolveremos al cliente que ha realizado la petición.

DNS de Windows

 

Las versiones

Este software ha tenido diferentes versiones desde los inicios de Internet, como Bind4 y Bind8, el problema de estas es que estuvieron demasiado expuestas a vulnerabilidades. Algo que se cambio con la legada de la última versión Bind 9.

La versión que se utiliza actualmente es Bind 9, fue escrito desde cero para evitar problemas de las versiones anteriores, además, incluye características muy importantes como DNSSEC para proporcionar seguridad a los dominios haciendo uso de criptografía, también incluye mejoras en el procesamiento en paralelo de diferentes consultas DNS, dispone de compatibilidad completa para redes IPv6 y mucho más. Por supuesto, esta última versión de Bind dispone de mejoras en la seguridad muy importantes, de esta forma, estaremos protegidos frente a los posibles ataques que podían ocurrir en las versiones anteriores.

 

Tipos de servidores BIND

Los equipos que están en internet, tienen una dirección IP que los identifica, aquí se incluyen todos los servidores en los que hay páginas web alojadas. Estas direcciones pueden ser complicadas de recordar si las tenemos que escribir cada vez que queremos acceder a la página, por lo cual se utilizan los nombres de dominio. La estructura de estos es de tipo árbol, donde nos encontramos una raíz o root, los dominios principales y los secundarios.

Si ponemos de ejemplo a los nombres de dominio FQDN (Fully Qualified Domain Name), están formados por el nombre del host, un nombre de dominio secundario y el nombre de dominio principal. Todo esto son secciones organizadas de forma jerárquica. Por ejemplo, si leemos un nombre de dominio como www.google.com, vemos un dominio primario que es .com, un dominio secundario que es google y el host que sería www.

Nos podemos encontrar muchos dominios primarios como:

  • org: Organizaciones sin ánimo de lucro.
  • com: Organizaciones lucrativas.
  • net: Organizaciones de Internet.
  • gob: Se trata de agencias gubernamentales.
  • es: Sufijo de España.

En este segmento, podemos encontrarnos cuatro tipos de servidores DNS:

  • Master: Es el encargado de alojar los registros primarios de una zona y responde a todas las peticiones de resolución de nombres como servidor. A mayores se encarga de delegar las copias a los servidores esclavos.
  • Slave: Su función es responder a las peticiones de resolución de nombres como servidor, las cuales se distribuyen los servidores primarios. Su función es más a niveles de seguridad, requiriendo al menos disponer de uno independientemente de la infraestructura principal.
  • Caching-only: También se encargará de las peticiones de resolución de nombres, pero en este caso no se trata de un servidor. Guarda las respuestas en la memoria por un determinado periodo de tiempo.
  • Forwarding: Su función es enviar las peticiones a una lista de servidores DNS.
 

¿Para qué necesito un servidor DNS local?

Si necesitas montar tu propio servidor de DNS local, es debido a que necesitas acceder a diferentes equipos de la red local a través de un nombre de dominio que hayas configurado. Cualquier empresa de cualquier tamaño necesitará instalar un servidor DNS para acceder de manera fácil y rápida a los diferentes ordenadores, ya sea para compartir archivos e incluso también para acceder a la intranet de la propia empresa.

Hay que tener en cuenta que Bind9 permite llegar a realizar búsquedas de nombre a dirección o, por el contrario, de dirección a nombre en todos los formatos de IPv6 que están ahora mismo definidos. Por lo tanto, es un factor que debes tener en cuenta. Por ejemplo, en el caso de las búsquedas directas, soporte ambas clases de registros, como AAAA y A6, aunque estos últimos registros ya están en desuso.

Si en la empresa hay un servidor web con diferentes aplicaciones, es muy importante contar con un servidor de DNS local para que las demás aplicaciones y también los trabajadores puedan acceder a este servicio importante para la empresa, sin necesidad de recordar las direcciones IPv4 o IPv6. Además, el tener un nombre de dominio en lugar de una dirección IP también tiene sus ventajas:

  • No necesitamos recordar la dirección IP del servidor al que accedemos, esto es útil sobre todo si usamos direccionamiento IPv6 donde es mucho más complicado de recordar.
  • Si el servidor se cae, a nivel de DNS podemos apuntar hacia un servidor de «backup» que tengamos en la empresa. De cara a los compañeros que están trabajando esto hace que no tengan que introducir otra dirección IP, todo se hará a nivel de DNS de forma fácil y rápida.
  • Podemos emitir certificados digitales para los nombres de dominio, y tener comunicación HTTPS con seguridad. Aunque también se podría emitir certificados TLS para direcciones IP, es mejor hacerlo a nivel de DNS por si cambiamos el servidor.

Este servidor DNS lo podemos instalar en cualquier Windows Server utilizando su propio software, pero también en cualquier sistema operativo basado en Linux. En este tutorial vamos a ver cómo instalar Bind en cualquier sistema operativo basado en Linux. Generalmente para este tipo de usos, el sistema operativo Linux nos ofrece una mayor versatilidad y también seguridad.

 

Ventajas de un servidor BIND

  • Mejoras en el protocolo DNS: BIND puede soportar transferencias incrementales, donde un servidor DNS que actúa como esclavo, solo puede descargar las secciones actualizadas de una determinada zona, en un servidor DNS maestro. Este proceso requiere que toda la zona sea transferida a los servidores esclavos, siempre por el camino más corto. Pero si nos encontramos ante un dominio muy grande, con gran cantidad de archivos y con muchos servidores esclavos, estas mejoras hacen que los procesos de notificación y actualización no sean tan exigentes a nivel de recursos.
  • Vistas múltiples: BIND nos puede facilitar mucha información diferente según en que red se encuentre, y en la que se está realizando la petición. Esto ocurre para tener la capacidad de realizar negaciones de servicio, cuando se trata de acceder a un apartado confidencial por ejemplo, mientras que se siguen permitiendo las consultas desde los clientes dentro de una determinada red local.
  • Seguridad: Este nos aporta diferentes métodos para proteger las actualizaciones y las zonas de transferencia. La primera es DNSSEC, la cual permite realizar una firma con caracteres criptográficos, de forma que es posible verificar la información que llega desde un servidor, el cual realizó las firmas con una clave privada. Y la otra es TSIG, la cual permite la comunicación entre un servidor maestro y un esclavo, pero solo una vez se ha verificado que incorpora una llave la cual es compartida entre ambos equipos. Esto nos permite disponer de capas extra de seguridad. Pero si nos vamos a la versión 9 de BIND, también es capaz de soportar TKEY, el cual es otro método de autorización de transferencia, que usa una clave secreta compartida.
  • IPv6: BIND nos permite disponer de servicios de nombre de dominio con direcciones IPv6, con el uso de registros en zona A6. Por tanto, hay que tener claro que este servicio en concreto te da posibilidad de llevar a cabo diferentes búsquedas tanto de nombre a dirección como de dirección a nombre en los distintos formatos de IPv6 que están definidos. Al igual que es capaz de soportar las búsquedas directas, ya que admite las clases de registro AAAA y A6, aunque estos últimos ya no se usen tanto, todavía lo soporta. Además de esto, dentro de las búsquedas inversas, también hay que destacar que admite el formato nibble que se usa en el dominio ip6.arpa. Por lo que es otra de las ventajas de Bind9 que hay que tener en cuenta.
 

Asegurar un servidor BIND

Cuando tratamos de asegurar un servidor BIND, las cosas a tener en cuenta no son muy diferentes a las que tenemos cuando tratamos de hacer más seguro cualquier otro tipo de servidor de nombres. Entre ellas podemos destacar:

  • Realizar una configuración del dominio por separado, puede ser apropiado para que este no resulte afectado desde el exterior por posibles ataques. Entre otras, establecer limitaciones en las zonas de transferencia o crear procesos automáticos para problemas y consultas que se puedan repetir de forma reiterada.
  • Crear limitaciones de acceso al servidor es uno de los procesos de seguridad más efectivos. Estas pueden ser desde ilimitadas para algunos usuarios como los administradores, a establecer un número de conexiones posibles para un espacio de tiempo determinado.
  • Los rangos también deben estar correctamente establecidos para cada usuario. Consiste en generar sólo los accesos necesarios para cada usuario que deba tener acceso al mismo.
  • La utilización de cifrados para las bases de claves, puede ser muy importante para tener controles de accesos. Para ellos podemos utilizar TSIG, el cual genera restricciones para las actualizaciones de las zonas dinámicas del servidor. Estas claves se pueden distribuir sin la necesidad de modificar ningún archivo de configuración en el servidor, lo cual ayuda a tener más capas de seguridad, y a la vez genera más facilidades a la hora de leer de nuevo todos los contenidos.

Por otro lado, generar restricciones de acceso de forma que solo sea visible lo que sea necesario, es una opción que ayuda a que muchos datos no queden visibles a todo usuario que accede. Para esto se pueden utilizar funciones como allow-transfer, allow-query o allow-recursive.

Como última recomendación, siempre es bueno utilizar versiones que se mantengan actualizadas y con los protocolos adecuados. La utilización de servicios poco fiables, tanto en el servidor como en los dispositivos que se conectan a este, puede generar muchos problemas de seguridad.

 

Riesgos de un servidor Bind9 inseguro

Hoy en día es muy importante establecer altos niveles de seguridad para evitar todos los problemas posibles. Pero siempre puede darse el caso de que por alguna brecha o fallo, nuestro servidor quede inseguro y se exponga a diferentes ataques.

Un ataque puede obtener mucha información sí se permiten las transferencia de zona. Esto incluye las listas de los hosts, enrutadores con las direcciones IP correspondientes, nombres y en algunas ocasiones comentarios que indican la situación de algo dentro del servidor.

Todo puede llevarnos a una denegación de servicio, por ejemplo, que es donde nuestros servidores DNS se caen. Esto implica que el sitio web ya no será accesible, puede darse el caso de que sea imposible realizar envíos por correo electrónico o que el atacante inicie un servidor falso, el cual puede establecerse como el propio y realizar envíos de información a internet. En este caso es cuando la seguridad se ha visto totalmente comprometida.

La pérdida de integridad es otro apartado importante. Pues si un atacante puede realizar cambios de datos o facilitar información falsa, puede ser una situación muy comprometida. Esto los puede llevar a crear falsificaciones de un sitio, a menudo tan bien logradas que no se puede ver la diferencia, y en este punto es donde se implica a los usuarios que accedan a dicha página falsa, donde pueden dar diferentes datos privados.

Esto puede comprometer también a un Firewall o a cualquier host que sea accesible desde internet, de forma que es posible autenticarse y crear diferentes relaciones de confianza que pueden comprometer más el sistema. En estos casos suele ocurrir cuando se utiliza un filtro de paquetes demasiado débil, lo cual no es recomendable pues está protegiendo a los servidores en internet y a su vez en la intranet si se da uso de una.

 

Influencia en la producción de una empresa

Este servidor de nombres de dominio de código abierto, puede tener una gran influencia dentro de la producción de una empresa. Esto es algo que podemos resumir en algunos puntos clave.

  • Acceso a recursos: Con BIND9, permitimos a los empleados un acceso a recursos internos a nivel empresarial, tales como pueden ser servidores, impresoras y demás dispositivos, y a la vez proporcionar nombres de dominio en lugar de direcciones IP. Esto hace que los accesos sean más sencillos para todo el personal a la hora de acceder a los recursos, aumentando así la productividad y efectividad.
  • Resolución de nombres: Este sistema puede resolver nombres de dominio de una forma eficiente, lo cual hace que todos los usuarios puedan acceder a sitios web y recursos fácilmente. Como mencionamos en el apartado anterior. Esto nos da beneficios a la hora de proporcionar una mejor experiencia a los usuarios, así como para garantizar que se disponga de un acceso a los recursos que sean necesarios para realizar la actividad.
  • Seguridad: Las características de seguridad que nos ofrece BIND9, son muy avanzadas, y entre ellas se encuentran funciones para hacer cumplir las políticas de seguridad implementadas, así como filtrar solicitudes DNS que pueden resultar maliciosas. Esto es algo muy importante a nivel empresarial, ya que nos garantiza que el material interno está protegido contra amenazas de seguridad en Internet y de forma local.
  • Escalabilidad: BIND9 es un sistema que se puede escalar de una forma sencilla, lo cual nos ayuda a manejar grandes volúmenes de tráfico. Esto quiere decir que se pueden seguir agregando recursos y más usuarios, sin necesidad de preocuparse por que aparezcan problemas de rendimiento o capacidad.
  • Flexibilidad: Al tratarse de un sistema muy configurable, se puede adaptar mucho a las necesidades que vamos a tener. Por lo cual se trata de un sistema muy flexible, que se puede adaptar a muchas formas de trabajar diferentes.
 

Usos principales

Los servidores BIND son de los más utilizados en todo el mundo. Estas herramientas de software libre, pueden utilizarse para una amplia variedad de finalidades. Esto hace de ellos una herramienta muy versátil, lo cual facilita mucho las cosas para las empresas, organizaciones o usuarios que les quieran dar uso. Algunos de los principales usos que se les da estos son:

  • Resolución de nombres: Uno de los usos más comunes para este tipo de servidores, es la resolución de nombres de dominio. Estos servidores actúan como DNS, los cuales se encargan de traducir los nombres en direcciones IP. Se pueden configurar para realizar estas resoluciones, tanto para redes privadas como para las públicas.
  • Servicios de correo: Es otro de los grandes usos para los servidores BIND. Contar con servicios de correo es de vital importancia dentro de cualquier estructura organizativa. Con esto se pueden crear servicios de Mail Exchanger, para realizar toda la gestión de correos electrónicos. Esto permite una gran variedad de configuraciones, que van desde el rendimiento, a la experiencia de usuario y seguridad dentro del sistema.
  • Hosting de sitios web: Para alojar páginas web, encontramos en estos servidores el sitio perfecto. Estos pueden ofrecer una buena protección contra ataques de denegación de servicio, por lo cual la página tendrá una gran disponibilidad. En estos se pueden realizar gran cantidad de configuraciones, que se aplican a los sitios web para afectarles de diferentes formas. Este apartado, tiene mucha relación con la resolución de nombres de dominio, y con la seguridad que ofrecen.
  • Seguridad en red: Mantener la seguridad es uno de los aspectos fundamentales para cualquier empresa hoy en día. Con los servidores BIND no solo se dispone de un sistema de por sí seguro, sino que permite realizar muchas configuraciones para mejorar este apartado. Los bloqueos de solicitudes, ayuda contra phishing y otros ataques cibernéticos, estarán más controlados con estos servidores.
 

Seguridad de Bind9

BIND9 también ofrece opciones de seguridad robustas para proteger la infraestructura de DNS contra ataques maliciosos y garantizar la integridad y confidencialidad de las consultas y respuestas DNS. Lo cual es muy importante en cualquier sector hoy en día. Estas opciones de seguridad incluyen:

  • Transferencia de zona segura (TSIG): BIND9 admite TSIG, un mecanismo de autenticación basado en claves compartidas para proteger las transferencias de zona entre servidores DNS autorizados. Permite asegurar la comunicación entre los servidores DNS y garantiza que solo los servidores confiables puedan obtener una copia actualizada de la zona. Esta característica conocida como TSIG (Transaction SIGnatures) es la que permite que se pueda realizar una transferencia una vez que se pueda verificar la clave secreta compartida, de lo contrario, no se podrá realizar la transferencia entre el servidor y el cliente.
  • Firma de zona DNSSEC: BIND9 es compatible con DNSSEC (Domain Name System Security Extensions), que proporciona autenticación y validación de datos de DNS utilizando firmas digitales. Con DNSSEC, se pueden firmar las zonas DNS para garantizar la autenticidad e integridad de los registros de recursos. Permite a los usuarios finales verificar que las respuestas DNS no han sido modificadas durante la transmisión.
  • Respuesta a consultas recursivas: BIND9 permite configurar la respuesta a consultas recursivas para controlar qué clientes pueden realizar consultas recursivas y cómo se manejan esas consultas. Esto ayuda a prevenir ataques de amplificación de DNS y garantiza que solo los clientes confiables puedan utilizar la función de resolución recursiva.
  • Filtro de consultas: BIND9 permite establecer filtros de consultas para restringir las consultas DNS a ciertos dominios o direcciones IP. Esto puede ayudar a proteger contra consultas maliciosas o no autorizadas y reducir la carga del servidor DNS al limitar las consultas permitidas.
  • Control de acceso: BIND9 ofrece opciones de control de acceso para permitir o denegar el acceso a determinados recursos de DNS basándose en la dirección IP del cliente o en otras características de la consulta. Esto permite una mayor flexibilidad en la configuración de políticas de acceso y ayuda a proteger la infraestructura DNS contra posibles amenazas.
  • Registro de consultas y auditoría: BIND9 proporciona funciones de registro y auditoría que permiten rastrear y analizar las consultas y respuestas DNS. Esto puede ser útil para detectar y responder a posibles ataques o anomalías en el tráfico DNS.
  • Soporta TKEY: esta versión de Bind tiene como ventaja que es capaz de soportar TKEY, es decir, otro método de autorización de zonas de transferencia basado en una clave secreta compartida
 

Optimizar servidores Bind9

Como todos los servidores que se implementan, el disponer de una buena optimización hará que sean más efectivos y confiables. Esto es algo muy importante a nivel empresarial, ya que puede marcar mucho el rendimiento de la empresa. Incluso con implicaciones económicas. Para poder mitigar esto en la medida de los posible, hay algunas prácticas que nos pueden ayudar mucho en este aspecto.

  • Configurar almacenamiento en caché: Ajustar los tamaños de la caché para adaptarlas a las necesidades y recursos, es muy recomendable. Disponer de un tamaño adecuado, nos permitirá disponer de un acceso más rápido a todos los registros DNS que se almacenan en caché.
  • Zonas de transferencias: Establecer límites de transferencia de autoridades, nos evitará tener datos innecesarios y reducir la carga en el servidor. Por lo cual se pueden destinar los recursos a otros fines que pueden necesitar esos añadidos.
  • Configurar TTL: Ajustar los valores de «Time to Live» en los registros DNS, nos ayuda a equilibrar los tiempos de almacenamiento en la memoria caché y las frecuencias de actualización de los registros. Si tenemos valores óptimos, podemos garantizar respuestas rápidas a las consultas. Lo cual nos proporciona una gestión mucho más eficiente en la carga del servidor.
  • Actualizaciones regulares: Mantener todo el sistema actualizado es importante a varios niveles. Primero la seguridad, ya que obtendremos las últimas mejoras que el desarrollador lance. Y segundo tendremos las mejoras para el rendimiento del sistema, y las nuevas funcionalidades que se pueden implementar.
  • Ajustar los recursos: Los recursos del sistema es lo que va a marcar el rendimiento del sistema. Por lo cual no solo debemos contar con los suficientes para que todo funcione de la forma adecuada, sino que tendremos que realizar una buena gestión de los mismos con las actualizaciones necesarias para que todo funcione siempre de la forma más óptima posible.
 

Requisitos previos antes de instalar Bind

Antes de empezar con la configuración del servidor DNS con Bind9 en nuestro sistema operativo, es recomendable poner IP fija en nuestro servidor, de lo contrario, si el servidor DHCP cambia nuestra dirección IP, los clientes de la red local perderán el acceso a nuestro servidor DNS porque no estarán «apuntando» a nuestra dirección IP privada. Para poner IP fija tenemos dos posibilidades:

  • Configurar el Static DHCP en el router/firewall que tengamos. Si eliges esta opción, tendrás que poner la dirección MAC de la tarjeta de red, ya sea cableada o inalámbrica. Lógicamente por temas de rendimiento se aconseja utilizar siempre la tarjeta de red Ethernet cableada. Además de la MAC, tendrás que indicar también la dirección IP privada que queramos que siempre tenga este servidor, de lo contrario, es posible que tengamos problemas si nos cambian la IP.
  • Configurar la dirección IP estática en nuestro servidor Linux. En este caso, el servidor DHCP del router/firewall debería tener un rango de DHCP que esté fuera de nuestra dirección IP privada que pongamos fija. No es recomendable poner una IP fija dentro del rango del servidor DHCP, porque podría proporcionar nuestra dirección IP a otro equipo, entonces tendríamos un conflicto grave de dirección IP.

Para configurar de forma estática una dirección IP en Linux, tenemos que editar el archivo de configuración «/etc/network/interfaces», esto lo podemos hacer con cualquier editor de texto como nano, vim e incluso con vi, y poner lo siguiente:

auto lo
iface lo inet loopback

auto ens33
iface eth0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.2

A continuación, tenemos que reiniciar el servicio para aplicar los cambios correctamente (si hemos cambiado la IP que tenemos actualmente):

sudo service networking restart

Una vez que nuestra dirección IP de la red local sea fija, ya podremos instalar Bind.

 

Instalación de Bind en Linux y puesta en marcha

Lo primero que tenemos que hacer para configurar un servidor DNS (bind) en Linux es instalarlo desde los repositorios, nosotros vamos a instalar tanto el servidor DNS de Bind9 como también los paquetes sugeridos por el sistema operativo Debian, por tanto, deberemos poner en consola lo siguiente:

sudo apt install bind9 bind9-doc resolvconf python-ply-doc

Una vez que hayamos instalado todos los paquetes anteriores, tenemos que irnos al directorio del programa, que es donde tendremos que empezar a configurar los archivos necesarios:

cd /etc/bind/

Es recomendable acceder a este directorio como root (sudo su) para no tener problemas de permisos denegados cuando copiemos ficheros o modifiquemos los ya existentes, si hacemos un «ls -l» para listar todos los archivos que tenemos aquí, veremos lo siguiente:

Tal y como podéis ver, disponemos de una gran cantidad de archivos de configuración diferentes, cada uno de ellos está orientado específicamente a una tarea, en la documentación oficial de Bind9 podéis encontrar para qué sirve cada uno de ellos. Vamos a suponer a partir de ahora que siempre estás en modo super usuario (root) para editar o copiar los archivos sin restricciones.

 

Configurar los forwarders de Bind usando servidores DNS públicos

Lo primero que vamos a hacer es configurar unos servidores DNS de forwarding, es decir, los servidores DNS públicos para reenviar las consultas de cara a Internet. El archivo de configuración que se encarga de esta tarea es «named.conf.options», lo primero que hacemos es realizar una copia de seguridad del archivos, por si lo editamos mal y todo deja de funcionar:

cp /etc/bind/named.conf.options /etc/bind/named.conf.options.copia

Ahora editamos el fichero añadiendo los servidores DNS en la sección de forwarders, tal y como podéis ver aquí:

forwarders {
8.8.8.8;
1.1.1.1;
};

Quedaría de la siguiente forma:

Una vez que lo hayamos modificado, reiniciamos el servicio de Bind9 para comprobar que todo funciona correctamente y no devuelve ningún error:

sudo service bind9 restart

Ahora vamos a comprobar si están funcionando correctamente, para ello, ejecutamos un comando nslookup, y deberíamos ver que nuestro servidor DNS ha resuelto un dominio correctamente, en nuestro caso la dirección IP del servidor es la 192.168.231.130:

Una vez que tenemos configurado Bind para reenviar a los DNS públicos las resoluciones de las webs de Internet, vamos a ver cómo configurar para resolver dominios internos.

 

Configurar Bind para resoluciones locales

El archivo de configuración que debemos configurar ahora es named.conf.local, es recomendable realizar una copia de seguridad por si algo sale mal a la hora de configurarlo, para ello ejecutamos:

cp /etc/bind/named.conf.local /etc/bind/named.conf.local.copia

Una vez que hayamos realizado la copia de seguridad, tendremos que editar el arcihvo de configuración named.conf.local para proceder con la configuración. En este archivo de configuración tendremos que poner la zona a la que hacemos referencia, y también el archivo de configuración de bind que tiene todas las configuraciones, por tanto, podríamos dejarlo así:

zone "redlocal.com" {
type master;
file "/etc/bind/db.redlocal";
};

Es importante que el «file» haga referencia al fichero de configuración que importamos y que vamos a configurar ahora mismo.

Ahora tenemos que copiar la base de datos que tenemos en «db.local» darle el nombre de «db.redlocal» que hemos definido en el fichero anterior.

cp /etc/bind/db.local /etc/bind/db.redlocal

Ahora editamos este fichero de configuración que viene por defecto con mucha información, y lo adaptamos a nuestros intereses.

Lo primero que tenemos que hacer es modificar el SOA que viene en la parte superior por el nombre de dominio que hemos elegido de forma local, en este caso, sería «red.redlocal.com», después editaremos el fichero de configuración general con los dominios y subdominios que nosotros queramos. Nuestro archivo de configuración quedaría de la siguiente forma:

;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;

@ IN NS ns1.redlocal.com.
@ IN A 192.168.231.130
ns1 IN A 192.168.231.130
router IN A 10.11.1.1
pc1 IN A 10.11.1.2

Una vez que hemos guardado el fichero de configuración, comprobamos la sintaxis con el siguiente comando:

named-checkzone redlocal.com /etc/bind/db.redlocal

Ahora reiniciamos el proceso bind con el siguiente comando:

sudo service bind9 restart

Ya tenemos todo listo para empezar la batería de pruebas y comprobar que lo hemos hecho todo bien. Para comprobar que todo funciona bien, deberemos ejecutar los siguientes comandos:

host router.redlocal.com

Nos mostrará lo siguiente, la dirección IP del router:

root@bron-debian:/etc/bind# host router.redlocal.com
router.redlocal.com has address 10.11.1.1

También podremos hacer lo mismo con PC1:

host pc1.redlocal.com

Veremos esto:

root@bron-debian:/etc/bind# host pc1.redlocal.com
pc1.redlocal.com has address 10.11.1.2

Una vez que hemos conseguido resolver los dominios locales correctamente, devolviéndonos la dirección IP correspondiente, podemos hacer un ping sin problemas vía dominio:

root@bron-debian:/etc/bind# ping router.redlocal.com
PING router.redlocal.com (10.11.1.1) 56(84) bytes of data.
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=1 ttl=128 time=0.413 ms
64 bytes from 10.11.1.1 (10.11.1.1): icmp_seq=2 ttl=128 time=0.401 ms
^C
--- router.redlocal.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 28ms
rtt min/avg/max/mdev = 0.401/0.407/0.413/0.006 ms

Ahora vamos a configurar la resolución inversa de dominios.

 

Resolución inversa de dominios

Ahora vamos a configurar el servidor DNS para que resuelva dominios a la inversa, poniendo la dirección IP y que nos diga a qué dominio pertenece dicha dirección IP. Para conseguir nuestro objetivo, deberemos añadir al fichero /etc/bind/named.conf.local que utilizamos anteriormente las líneas siguientes:

zone "192.in-addr.arpa" {
type master;
file "/etc/bind/db.192";
};

También deberemos copiar el archivo de configuración por defecto para editarlo. A partir del archivo db.127 creamos el db.192:

cp /etc/bind/db.127 /etc/bind/db.192

Una vez que lo hemos creado, basta con editarlo con la siguiente información:

;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns1.redlocal.com. root.red.redlocal.com. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns1.redlocal.com.
ns1 IN A 192.168.231.130
130.231.168 IN PTR redlocal.com

Una vez que hemos guardado el fichero de configuración, comprobamos la sintaxis con el siguiente comando:

named-checkzone 192.168.231.130 /etc/bind/db.192

Nos debería salir algo como esto:

named-checkzone 168.192.in-addr.arpa db.192
zone 168.192.in-addr.arpa/IN: loaded serial 1
OK

Ahora reiniciamos el proceso bind con el siguiente comando:

sudo service bind9 restart

Y comprobamos que ha funcionado correctamente:

host 192.168.231.130  

Otros servicios

Como has podido ver, con BIND9 obtenemos una gran funcionalidad. Pero esto no es lo único que nos puede proporcionar el Internet Systems Consortium. Estos cuentan con otros servicios, que, si bien no son alternativos a BIND, cumplen otras funciones que son muy importantes a la hora de realizar toda la gestión de una red.

Empezando por ISC DHCP, el cual es un servidor DHCP de código abierto. Este nos facilita un agente de retrasmisión y un software cliente para cubrir todas las necesidades que se pueda tener a la hora de realizar la asignación de las direcciones IP. Por lo cual, a nivel administrativo puede ser una herramienta que nos facilite mucho el trabajo.

Por otro lado, tenemos Kea DHCP. Esta herramienta que también distribuye ISC, nos ayuda a mantener dos distribuciones de servidor DHCP. Basadas en los mismos estándares, y con todas las funcionalidades con las que cuenta Kea DHCP e ISC DHCP. Todas las funciones que son las más solicitadas por los clientes, se encuentran en este sistema. Este es mucho más nuevo, y está diseñado para ofrecer a los usuarios un entorno de red mucho mejor y más moderno.

 

¿Por qué elegir estos servicios?

El mercado está lleno de opciones alternativas a estas herramientas. Pero, al fin y al cabo, no todas son de la misma calidad. En muchas ocasiones buscamos software que tenga otras características, y eso está bien. Pero en el caso de las herramientas de ISC, podemos obtener algunas ventajas que creemos que son muy buenas. Estas son:

  • Tiene un código abierto de alta calidad.
  • Ofrecen un soporte profesional y adaptado en muchos casos. A pesar de la disponibilidad del código a los usuarios.
  • Cumplen con todas las normativas necesarias de los estándares técnicos. Los cuales garantizan la interoperabilidad en Internet.

Esperamos que os haya servido de ayuda este completo tutorial de Bind para montar vuestro propio servidor DNS localmente.

 

¿Hay alternativas?

Queda claro que BIND es una de las herramientas que más se usan por parte de los usuarios en sistemas operativos Unix y Linux. Sin embargo, también se pueden encontrar una serie de softwares alternativos que te pueden interesar. De entre las principales opciones que puedes usar en lugar de esta herramienta se encuentran PowerDNS, CoreDNS, DNS Made Easy, Google Cloud DNS o hasta DNSimple.

Por tanto, hay distintas alternativas que, en función de lo que estés buscando y sus características, te pueden venir bien en caso de que BIND9 no sea para ti.

2 Comentarios
Logo redeszone.net
Navega gratis con publicidad…

Navegar por testdevelocidad.es con publicidad personalizada, seguimiento y cookies de forma gratuita. i

Para ello, nosotros y nuestros socios i necesitamos tu consentimiento i para el tratamiento de datos personales i para los siguientes fines:

Las cookies, los identificadores de dispositivos o los identificadores online de similares características (p. ej., los identificadores basados en inicio de sesión, los identificadores asignados aleatoriamente, los identificadores basados en la red), junto con otra información (p. ej., la información y el tipo del navegador, el idioma, el tamaño de la pantalla, las tecnologías compatibles, etc.), pueden almacenarse o leerse en tu dispositivo a fin de reconocerlo siempre que se conecte a una aplicación o a una página web para una o varias de los finalidades que se recogen en el presente texto.

La mayoría de las finalidades que se explican en este texto dependen del almacenamiento o del acceso a la información de tu dispositivo cuando utilizas una aplicación o visitas una página web. Por ejemplo, es posible que un proveedor o un editor/medio de comunicación necesiten almacenar una cookie en tu dispositivo la primera vez que visite una página web a fin de poder reconocer tu dispositivo las próximas veces que vuelva a visitarla (accediendo a esta cookie cada vez que lo haga).

La publicidad y el contenido pueden personalizarse basándose en tu perfil. Tu actividad en este servicio puede utilizarse para crear o mejorar un perfil sobre tu persona para recibir publicidad o contenido personalizados. El rendimiento de la publicidad y del contenido puede medirse. Los informes pueden generarse en función de tu actividad y la de otros usuarios. Tu actividad en este servicio puede ayudar a desarrollar y mejorar productos y servicios.

La publicidad que se presenta en este servicio puede basarse en datos limitados, tales como la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que está interactuando (o con el que ha interactuado) (por ejemplo, para limitar el número de veces que se presenta un anuncio concreto).

  • Un fabricante de automóviles quiere promocionar sus vehículos eléctricos a los usuarios respetuosos con el medioambiente que viven en la ciudad fuera del horario laboral. La publicidad se presenta en una página con contenido relacionado (como un artículo sobre medidas contra el cambio climático) después de las 18:30 h a los usuarios cuya ubicación no precisa sugiera que se encuentran en una zona urbana.
  • Un importante fabricante de acuarelas quiere realizar una campaña publicitaria en Internet para dar a conocer su última gama de acuarelas con la finalidad de llegar tanto a artistas aficionados como a profesionales y, a su vez, se evite mostrar el anuncio junto a otro contenido no relacionado (por ejemplo, artículos sobre cómo pintar una casa). Se detectará y limitará el número de veces que se ha presentado el anuncio a fin de no mostrarlo demasiadas veces.

La información sobre tu actividad en este servicio (por ejemplo, los formularios que rellenes, el contenido que estás consumiendo) puede almacenarse y combinarse con otra información que se tenga sobre tu persona o sobre usuarios similares(por ejemplo, información sobre tu actividad previa en este servicio y en otras páginas web o aplicaciones). Posteriormente, esto se utilizará para crear o mejorar un perfil sobre tu persona (que podría incluir posibles intereses y aspectos personales). Tu perfil puede utilizarse (también en un momento posterior) para mostrarte publicidad que pueda parecerte más relevante en función de tus posibles intereses, ya sea por parte nuestra o de terceros.

  • En una plataforma de redes sociales has leído varios artículos sobre cómo construir una casa en un árbol Esta información podría añadirse a un perfil determinado para indicar tuinterés en el contenido relacionado con la naturaleza, así como en los tutoriales de bricolaje (con el objetivo de permitir la personalización del contenido, de modo que en el futuro, por ejemplo, se te muestren más publicaciones de blogs y artículos sobre casas en árboles y cabañas de madera).
  • Has visualizado tres vídeos sobre la exploración espacial en diferentes aplicaciones de televisión. Una plataforma de noticias sin relación con las anteriores y con la que no has tenido contacto en el pasado crea un perfil basado en esa conducta de visualización marcando la exploración del espacio como un tema de tu posible interés para para otros vídeos.

El contenido que se te presenta en este servicio puede basarse en un perfilde personalización de contenido que se haya realizado previamente sobre tu persona, lo que puede reflejar tu actividad en este u otros servicios (por ejemplo, los formularios con los que interactúas o el contenido que visualizas), tus posibles intereses y aspectos personales. Un ejemplo de lo anterior sería la adaptación del orden en el que se te presenta el contenido, para que así te resulte más sencillo encontrar el contenido (no publicitario) que coincida con tus intereses.

  • Has leído unos artículos sobre comida vegetariana en una plataforma de redes sociales. Posteriormente has usado una aplicación de cocina de una empresa sin relación con la anterior plataforma. El perfil que se ha creado sobre tu persona en la plataforma de redes sociales se utilizará para mostrarte recetas vegetarianas en la pantalla de bienvenida de la aplicación de cocina.
  • Has visualizado tres vídeos sobre remo en páginas web diferentes. Una plataforma de video, no relacionada con la página web en la que has visualizado los vídeos sobre remo, pero basandose en el perfil creado cuando visistaste dicha web, podrá recomendarte otros 5 vídeos sobre remo cuando utilices la plataforma de video a través de tu televisor .

La información sobre qué publicidad se te presenta y sobre la forma en que interactúas con ella puede utilizarse para determinar lo bien que ha funcionado un anuncio en tu caso o en el de otros usuarios y si se han alcanzado los objetivos publicitarios. Por ejemplo, si has visualizado un anuncio, si has hecho clic sobre el mismo, si eso te ha llevado posteriormente a comprar un producto o a visitar una página web, etc. Esto resulta muy útil para comprender la relevancia de las campañas publicitarias./p>

  • Has hecho clic en un anuncio en una página web/medio de comunicación sobre descuentos realizados por una tienda online con motivo del “Black Friday” online y posteriormente has comprado un producto. Ese clic que has hecho estará vinculado a esa compra. Tu interacción y la de otros usuarios se medirán para saber el número de clics en el anuncio que han terminado en compra.
  • Usted es una de las pocas personas que ha hecho clic en un anuncio que promociona un descuento por el “Día de la madre”de una tienda de regalos en Internet dentro de la aplicación de una web/medio de comunicación. El medio de comunicación quiere contar con informes para comprender con qué frecuencia usted y otros usuarios han visualizado o han hecho clic en un anuncio determinado dentro de la aplicación y, en particular, en el anuncio del “Día de la madre” para así ayudar al medio de comunicación y a sus socios (por ejemplo, las agencias de publicidad) a optimizar la ubicación de los anuncios.

La información sobre qué contenido se te presenta y sobre la forma en que interactúas con él puede utilizarse para determinar, por ejemplo, si el contenido (no publicitario) ha llegado a su público previsto y ha coincidido con sus intereses. Por ejemplo, si hasleído un artículo, si has visualizado un vídeo, si has escuchado un “pódcast” o si has consultado la descripción de un producto, cuánto tiempo has pasado en esos servicios y en las páginas web que has visitado, etc. Esto resulta muy útil para comprender la relevancia del contenido (no publicitario) que se te muestra.

  • Has leído una publicación en un blog sobre senderismo desde la aplicación móvil de un editor/medio de comunicación y has seguido un enlace a una publicación recomendada y relacionada con esa publicación. Tus interacciones se registrarán para indicar que la publicación inicial sobre senderismo te ha resultado útil y que la misma ha tenido éxito a la hora de ganarse tu interés en la publicación relacionada. Esto se medirá para saber si deben publicarse más contenidos sobre senderismo en el futuro y para saber dónde emplazarlos en la pantalla de inicio de la aplicación móvil.
  • Se te ha presentado un vídeo sobre tendencias de moda, pero tu y otros usuarios habéis dejado de visualizarlo transcurridos unos 30 segundos. Esta información se utilizará para valorar la duración óptima de los futuros vídeos sobre tendencias de moda.

Se pueden generar informes basados en la combinación de conjuntos de datos (como perfiles de usuario, estadísticas, estudios de mercado, datos analíticos) respecto a tus interacciones y las de otros usuarios con el contenido publicitario (o no publicitario) para identificar las características comunes (por ejemplo, para determinar qué público objetivo es más receptivo a una campaña publicitaria o a ciertos contenidos).

  • El propietario de una librería que opera en Internet quiere contar con informes comerciales que muestren la proporción de visitantes que han visitado su página y se han ido sin comprar nada o que han consultado y comprado la última autobiografía publicada, así como la edad media y la distribución de género para cada uno de los dos grupos de visitantes. Posteriormente, los datos relacionados con la navegación que realizas en su página y sobre tus características personales se utilizan y combinan con otros datos para crear estas estadísticas.
  • Un anunciante quiere tener una mayor comprensión del tipo de público que interactúa con sus anuncios. Por ello, acude a un instituto de investigación con el fin de comparar las características de los usuarios que han interactuado con el anuncio con los atributos típicos de usuarios de plataformas similares en diferentes dispositivos. Esta comparación revela al anunciante que su público publicitario está accediendo principalmente a los anuncios a través de dispositivos móviles y que es probable que su rango de edad se encuentre entre los 45 y los 60 años.

La información sobre tu actividad en este servicio, como tu interacción con los anuncios o con el contenido, puede resultar muy útil para mejorar productos y servicios, así como para crear otros nuevos en base a las interacciones de los usuarios, el tipo de audiencia, etc. Esta finalidad específica no incluye el desarrollo ni la mejora de los perfiles de usuario y de identificadores.

  • Una plataforma tecnológica que opera con un proveedor de redes sociales observa un crecimiento en los usuarios de aplicaciones móviles y se da cuenta de que, en funciónde sus perfiles, muchos de ellos se conectan a través de conexiones móviles. La plataforma utiliza una tecnología nueva para mostrar anuncios con un formato óptimo para los dispositivos móviles y con un ancho de banda bajo a fin de mejorar su rendimiento.
  • Un anunciante está buscando una forma de mostrar anuncios en un nuevo tipo de dispositivo. El anunciante recopila información sobre la forma en que los usuarios interactúan con este nuevo tipo de dispositivo con el fin de determinar si puede crear un nuevo mecanismo para mostrar la publicidad en ese tipo de dispositivo.

El contenido que se presenta en este servicio puede basarse en datos limitados, como por ejemplo la página web o la aplicación que esté utilizando, tu ubicación no precisa, el tipo de dispositivo o el contenido con el que estás interactuando (o con el que has interactuado) (por ejemplo, para limitar el número de veces que se te presenta un vídeo o un artículo en concreto).

  • Una revista de viajes, para mejorar las experiencias de viaje en el extranjero, ha publicado en su página web un artículo sobre nuevos cursos que ofrece una escuela de idiomas por Internet. Las publicaciones del blog de la escuela se insertan directamente en la parte inferior de la página y se seleccionan en función de la ubicación no precisa del usuario (por ejemplo, publicaciones del blog que explican el plan de estudios del curso para idiomas diferentes al del país en el que este te encuentras).
  • Una aplicación móvil de noticias deportivas ha iniciado una nueva sección de artículos sobre los últimos partidos de fútbol. Cada artículo incluye vídeos alojados por una plataforma de streaming independiente que muestra los aspectos destacados de cada partido. Si adelantas un vídeo, esta información puede utilizarse para determinar que el siguiente vídeo a reproducir sea de menor duración.

Se puede utilizar la localización geográfica precisa y la información sobre las características del dispositivo

Al contar con tu aprobación, tu ubicación exacta (dentro de un radio inferior a 500 metros) podrá utilizarse para apoyar las finalidades que se explican en este documento.

Con tu aceptación, se pueden solicitar y utilizar ciertas características específicas de tu dispositivo para distinguirlo de otros (por ejemplo, las fuentes o complementos instalados y la resolución de su pantalla) en apoyo de las finalidades que se explican en este documento.

O sin publicidad desde 1,67€ al mes

Por solo 1,67€ al mes, disfruta de una navegación sin interrupciones por toda la red del Grupo ADSLZone: adslzone.net, movilzona.es, testdevelocidad.es, lamanzanamordida.net, hardzone.es, softzone.es, redeszone.net, topesdegama.com y más. Al unirte a nuestra comunidad, no solo estarás apoyando nuestro trabajo, sino que también te beneficiarás de una experiencia online sin publicidad ni cookies de seguimiento.