InicioLinuxInstalar y configurar servidor DNS con BIND

Instalar y configurar servidor DNS con BIND

Linux11/4/2010
Creación de un servidor DNS básico en Linux con Bind9
5b415a0a74765006f122f979f487f751



Hace nada tuvimos que realizar el examen de DNS en clase, y puesto que habíamos recogido tanto material para los ejercicios y visitado diferentes blogs, quise hacer una guía más básica sobre la instalación y configuración de un DNS sencillo para ir aprendiendo, usando como referencia el blog de Alejandrox.

La utilización de un servidor DNS local tiene dos ventajas principales:

·Agilizar el acceso a Internet: Al tener un servidor de nombres en nuestra propia red local (que acceda al DNS de nuestro proveedor) se agiliza la resolución de nombres, manteniendo en caché los nombres recientemente usados en la red y disminuyendo el tráfico hacia Internet.

·Simplificar la administración de la red local: Al contar con un DNS propio es posible definir zonas locales (LAN) para asignar nombres a cada uno de los ordenadores de la red. De esta forma es posible, por ejemplo, referirnos al servidor como “dns.prueba1.com” en vez de “192.168.10.2″ y a nuestra impresora de red como “impresora.prueba1.com” en vez “192.168.10.100″. (Pensemos, por ejemplo, que ocurriría con las configuraciones de las aplicaciones si un día decidimos cambiar el esquema de direcciones IP de nuestra red.)

El dominio que hemos creado lo hemos llamado prueba1.com, y la máquina que hace de servidor de nombres es server-2 y tiene la IP 192.168.10.2. De esta manera, desde cualquier ordenador del aula podemos poner server-2.prueba1.com en el navegador de archivos para que aparezcan las carpetas compartidas almacenadas en el servidor.También podemos realizar un ping o comandos de red al servidor sin necesidad de poner la IP.

Para la explicación he utilitzado una máquina Ubuntu Server 10.04 en una red virtual de mi VMWare.

BIND (Berkeley Internet Name Domain) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un standard de facto. Fue creado originalmente en la Universidad de California, y actualmente propiedad del Internet Systems Consortium.

NOTA: No es necesario tener interfaz gráfica en el servidor, mis screens las voy a mostrar de este modo. No recomiendo que usen interfaz gráfica porque con ella pueden hacer Copy Paste, y si hacen copy paste pueden poner mi configuración envez de la suya, y entonces no funcionaría


Pasos previos a la instalación

Si estais probando el servidor DNS como yo en máquinas virtuales. Debereis realizar las siguientes configuraciones antes de poder instalar el paquete de Bind9:

-Máquina en NAT con IP dinámica: Para poner la máquina en NAT hay que ir a la configuración de vuestro programa de virtualización y cambiarlo en el adaptador de red. Para la ip debemos editar el archivo de conexiones de Ubuntu de la siguiente manera:

En un terminal hacemos un iwconfig (si si, un iwconfig, para saber qual es nuestra interfaz ethernet)
dijo:



En mi caso mi interfaz ethernet es la eth3. Ahora ya podemos editar el archivo de configuraciones de red:

dijo:

sudo nano /etc/network/interfaces



Y tiene que quedar así:
dijo:


Para guardar con nano hay que presionar Cntrl+O , Enter para confirmar, y luego Cntrl+X para salir

Una vez echo esto, debemos reiniciar la red para que los cambios surjan efecto:

dijo:

sudo /etc/init.d/networking restart



Alfinal les tiene que poner un OK para indicar que salió todo bien. Si pone algo de "Ignoring" es que está mal.

Instalación de BIND


Para instalar BIND simplemente abrimos un terminal y escribimos el siguiente comando:

dijo:

sudo apt-get install bind9



Hay que mencionar que después de instalar Bind, si queremos tener una conexión interna tratandose de máquinas virtuales debemos invertir el cambio hecho anteriormente, es decir:

-Poner la máquina en Bridge
-Modificar el fichero /etc/network/interfaces para que quede así:
dijo:

auto lo
iface lo inet loopback

auto eth3
#iface eth3 inet dhcp
iface eth3 inet static
address 192.168.10.2
netmask 255.255.255.0
gateway 192.168.10.1


Las almohadillas ( # ) al principio de una linea indica que son comentarios.
-Volver a reiniciar la red con:
dijo:

sudo /etc/init.d/networking restart



Configuración de los archivos de BIND

Los archivos de configuración que tendremos que modificar en el servidor DNS son los siguientes:

dijo:

/etc/bind/named.conf.options

/etc/bind/named.conf.local

/etc/bind/db.prueba1.com

/etc/bind/db.10.168.192



En el resto de ordenadores de la red, sólo habrá que modificar el archivo /etc/resolv.conf.

Voy a poner una pequeña explicación que encontré en falta en el blog de Alejandrox para saber más o menos para que sirve cada archivo:
dijo:

named.conf.options - En este archivo modificamos los "forwarders" o "reenviadores" en términos Windows. Sirve para que el DNS sepa a que otros DNS recurrir para consultas externas a nuestra LAN.


dijo:

named.conf.local - Aqui indicamos COMO y DONDE son y están las zonas para que bind las encuentre (Más adelante se usarán ejemplos gráficos).


dijo:

db.prueba1.com - Dentro de este archivo están escritas todas las configuraciones de la zona prueba1.com (Zona directa).


dijo:

db.10.168.192 - Lo mismo que el archivo db.prueba1.com, pero sirve para la zona 192.168.10. Es decir, para conocer IPs a través de nombres (Zona inversa).


dijo:

resolv.conf - Archivo que sirve para indicarle a una máquina cual es su servidor DNS.



Muy bien, vamos a empezar por definir como y donde son las zonas en el fichero named.conf.local:

dijo:

sudo nano /etc/bind/named.conf.local



Una vez abierto tendremos que poner lo siguiente:

dijo:

;Zona directa. Cambia prueba1.com por tu nombre de dominio
zone “prueba1.com” {
type master;
file “/etc/bind/db.prueba1.com”;
};

;Zona inversa. Cambia 10.168.192 por la dirección de tu red
zone “10.168.192.in-addr.arpa” {
type master;
file “/etc/bind/db.192.168.10″;
};



Ahora modificaremos el fichero "/etc/bind/named.conf.options". Que como bien expliqué antes sirve para definir los servidores DNS que se usarán para salir a internet, ya que nuestro servidor DNS es solo para la LAN

dijo:

sudo nano /etc/bind/named.conf.options



dijo:

options {
directory “/var/cache/bind”;

forwarders {
8.8.8.8;
8.8.4.4;
};

};



Yo utilicé las IPS "8.8.8.8" y "8.8.4.4" que son los DNS públicos de Google. Pueden usar los de su compañia de teléfono si quieren.

Después tendremos que crear el fichero de definición de zona /etc/bind/db.prueba1.com. En este fichero es donde pondremos todos los nombres de máquinas y direcciones IP que conocerá nuestro servidor DNS.

dijo:

sudo nano /etc/bind/db.prueba1.com



NOTA: En este caso los comentarios los hacemos con ( ; ) Ya que las # a veces dan problemas en ciertos archivos.
dijo:

;El TTL indica el tiempo por el qual nuestro DNS guardara
;las consultas en la memoria caché antes de eliminarlas.
$TTL 604800
;La proxima linea indica el dominio, el tipo de registro INternet y SOA,
;la zona y el correo del administrador de la zona(o el nombre de la maquina servidor)
;Cambia server-2 por el nombre de tu servidor
prueba1.com. IN SOA prueba1.com. server-2.prueba1.com. (
;Estas lineas sirven para configurar los parámetros
;de tiempo de las siguientes opciones. Pongan un tabulador despues del numero.
2006081401 ; Serial
28800 ; Refresh
3600 ; Retry
604800 ; Expire
38400) ; Negative cache TTL
;La siguiente linea indica el registro de tipo NS para que la maquina indicada se use de servidor
prueba1.com. IN NS server-2.prueba1.com.
;Cambia los nombres maquinas y direcciones IP por las de tu red
server-2 IN A 192.168.10.2
ubuntu IN A 192.168.10.3
pc02 IN A 192.168.10.4
pc05 IN A 192.168.1.5
pc05 IN A 192.168.1.6
;Así para el resto de equipos de la red
;Lo siguiente es un alias. Para que desde el navegador podamos poner
;dns.prueba1.com en lugar de server-2.prueba1.com
dns IN CNAME server-2



A continuación creamos el archivo de zona de resolución inversa /etc/bind/db.10.168.192
dijo:

sudo nano /etc/bind/db.10.168.192


con el siguiente contenido:

dijo:

;Cambia prueba1.com por el nombre de tu dominio
;Cambia server-2 por el nombre de tu servidor.
@ IN SOA server-2.prueba1.com.
(2006081401;
28800;
3600;
604800;
38400)

;El número que aparece delante de IN PTR es el último octeto de la dirección IP //de la máquina
;192.168.10.2 para servidor, 192.168.10.3 para ubuntu...
;Cambia las direcciones IP y nombres por los de tu red

@ IN NS server-2.prueba1.com.
2 IN PTR server-2.prueba1.com.
3 IN PTR ubuntu.prueba1.com.
4 IN PTR pc03.prueba1.com.
;Si necesitas añadir mas PC, hazlo con el esquema de los anteriores



Cuando hayamos creado cada uno de los archivos tendremos que reiniciar BIND con el siguiente comando:

dijo:

sudo /etc/init.d/bind9 restart



En cada uno de los ordenadores de la red habrá que modificar el fichero /etc/resolv.conf. Es decir, en las máquinas clientes y en el propio servidor.

dijo:

sudo nano /etc/resolv.conf



Este fichero tendrá el siguiente contenido:

dijo:

;Cambia 192.168.10.2 por la IP de tu servidor de nombres
;Cambia prueba1.com por el nombre de tu dominio
nameserver 192.168.10.2
search prueba1.com



A partir de la versión 9 de BIND se incluyen dos herramientas software para chequear la sintaxis y semántica de los archivos que describen las zonas y el archivo de configuración principal named.conf. Dichas herramientas son: named-checkzone y named-checkconf. Y las usamos de la siguiente manera:

dijo:

sudo named-checkconf


La salida muestra los errores que genera. Si no genera salida, está todo correcto.

dijo:

sudo named-checkzone prueba1.com /etc/bind/db.prueba1.com


Este comando genera la siguiente salida si todo está correcto:

dijo:

zone prueba1.com/IN: loaded serial 1 OK


Este último comando funciona así: named-checkzone nombre_de_la_zona archivo_de_la_zona. Por ejemplo, para la zona inversa de mi servidor sería:

dijo:

sudo named-checkzone 10.168.192.in-addr.arpa /etc/bind/db.10.168.192




Comprobando el servidor de nombres DNS

Una vez hayamos reiniciado el servidor DNS (sudo /etc/init.d/bind9 restart) debemos comprobar que éste funciona correctamente. Para comprobar que el servidor de nombres resuelve nombres de dominio correctamente podemos utilizar la orden dig.


Se utiliza para detectar problemas de configuración en el servidor DNS. Su sintaxis es la siguiente:

dijo:

dig <@servidor> [opciones] [nombre] [tipo]



donde:

@servidor es el nombre o la dirección IP del servidor a consultar.
nombre es el nombre de dominio donde se hace la consulta
tipo es el tipo de registro por el que se consulta (ANY, NS, SOA…). Si no se indica, se asume A
Un ejemplo del uso de esta orden sería la siguiente:

dijo:

dig server-2.prueba1.com



Y nos devolvería una ANSWER con toda la información que contiene el servidor.

Seguramente hayan faltas ortográficas o en los ficheros, si a alguien no le funciona o le da algún error que me lo diga y busco el fallo
Datos archivados del Taringa! original
0puntos
450visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
2visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

D
Dyr26🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.