Source: https://echaleunvistazo.wordpress.com/2015/02/17/configurar-servidor-dns-en-ubuntu/
Timestamp: 2017-10-18 00:13:49+00:00

Document:
« Configurar Servidor NTP en Ubuntu
Servidor TACACS+ para AAA con Cisco y Juniper »
Para la realización de este tutorial se han utilizado dos máquinas con Ubuntu Server 14.04, una funcionando como servidor con IP 172.16.1.10 y otra como cliente con IP 172.16.1.20.
Comenzamos instalando BIND9:
alberto@server1:~$ sudo apt-get install bind9
Una vez finalizada la instalación editamos el fichero “/etc/bind/named.conf.local”:
alberto@server1:~$ sudo nano /etc/bind/named.conf.local
Y definimos las zonas de resolución directa (labvirtual.local) e inversa (1.16.172.in-addr.arpa). Aqui es muy importante indicar correctamente cuales van a ser los ficheros de los registros de cada zona:
zone "labvirtual.local" {
file "/etc/bind/db.labvirtual";
file "/etc/bind/db.172.16.1";
Creamos el fichero para los registros de resolución de zona directa “/etc/bind/db.labvirtual”:
alberto@server1:~$ sudo nano /etc/bind/db.labvirtual
Podemos utilizar de plantilla el fichero “/etc/bind/db.local”. Nos quedará algo parecido a esto:
; ; BIND data file for local loopback interface ;
@ IN    SOA     labvirtual.local. root.labvirtual.local. (
@       IN      NS      server1.labvirtual.local.
server1 IN      A       172.16.1.10
Cliente1 IN     A       172.16.1.20
Hacemos lo mismo con el fichero de los registros de resolución de zona inversa “/etc/bind/db.172.16.1”:
alberto@server1:~$ sudo nano /etc/bind/db.172.16.1
Podemos utilizar de plantilla el fichero “/etc/bind/db.127”. Nos quedará algo parecido a esto:
@       IN      SOA     labvirtual.local. root.labvirtual.local. (
10      IN      PTR     server1.labvirtual.local.
20      IN      PTR     cliente1.labvirtual.local.
Reiniciamos el servicio bind9:
alberto@server1:~$ sudo service bind9 restart
* Stopping domain name service... bind9                                                waiting for pid 1073 to die
* Starting domain name service... bind9                                         [ OK ]
alberto@server1:~$
Si algo va mal, podemos ejecutar los siguientes comandos que nos comprobarán el fichero “named.conf.local” y los ficheros de resolución de zona inversa y directa:
alberto@server1:~$ named-checkconf
alberto@server1:~$ named-checkzone labvirtual.local /etc/bind/db.labvirtual
zone labvirtual.local/IN: loaded serial 2
alberto@server1:~$ named-checkzone 1.16.172.in-addr.arpa /etc/bind/db.172.16.1
zone 1.16.172.in-addr.arpa/IN: loaded serial 1
Editamos el fichero de configuración de red “/etc/network/interfaces”:
alberto@server1:~$ sudo nano /etc/network/interfaces
Añadimos el servidor DNS en este caso 127.0.0.1 por tratarse del propio servidor y el dominio de búsqueda:
dns-search labvirtual.local
Y reiniciamos el servicio de red para que se hagan efectivos los cambios:
alberto@server1:~$ sudo service networking restart
Y probamos que realiza la resolución de nombres correctamente:
alberto@server1:~$ host server1.labvirtual.local
server1.labvirtual.local has address 172.16.1.10
El motivo de incluir el dominio de búsqueda en la configuración de red, es para que el servidor inicie la búsqueda en el dominio, de forma que entre otras cosas si queremos hacer ping o acceder a un equipo del dominio, bastará que indiquemos el nombre de ese equipo sin especificar el dominio:
alberto@server1:~$ ping -c 3 cliente1
PING Cliente1.labvirtual.local (172.16.1.20) 56(84) bytes of data.
64 bytes from cliente1.labvirtual.local (172.16.1.20): icmp_seq=1 ttl=64 time=0.521 ms
64 bytes from cliente1.labvirtual.local (172.16.1.20): icmp_seq=2 ttl=64 time=0.973 ms
64 bytes from cliente1.labvirtual.local (172.16.1.20): icmp_seq=3 ttl=64 time=0.799 ms
--- Cliente1.labvirtual.local ping statistics ---
rtt min/avg/max/mdev = 0.521/0.764/0.973/0.187 ms
Ahora vamos a un equipo cliente y también le añadimos el servidor DNS y el dominio de búsqueda en la configuración de red:
Reiniciamos el servicio de red para que se hagan efectivos los cambios:
alberto@cliente1:~$ sudo service networking restart
Y probamos que también funciona la resolución correctamente:
alberto@cliente1:~$ host server1.labvirtual.local
Podemos usar el comando “nslookup” para comprobar la IP del servidor DNS que está realizando la resolución de nombres:
alberto@cliente1:~$ nslookup server1.labvirtual.local
Server:		172.16.1.10
Address:	172.16.1.10#53
Name:	server1.labvirtual.local
3 Responses to “Configurar Servidor DNS en Ubuntu”
1 Loren 10/28/2016 en 10:44
¿Este tipo de configuración solo funciona en red local? ¿Como puedo montar mi propio servidor DNS publico? ¿Algun enlace donde encuentre documentación en Español y completa para poder entender el funcionamiento de estos servicios? Muchas gracias por el manual.
2 Alberto Castillo 10/28/2016 en 12:19
Hola, este ejemplo es totalmente válido. Simplemente tendrás que utilizar el nombre y la ip pública de los dominios que tengas.
1 Instalar DNS BIND9 en Ubuntu 15.10 | Leonardo J. Caballero G. Trackback en 07/11/2017 en 15:22
RT @FonsiLoaiza: Piqué votando en un referéndum en Cataluña les molesta más que CR7 sentado en un juzgado por defraudar 14,7M€. Y dicen que… 2 weeks ago
RT @ierrejon: La puerta del Sol en Madrid: "Catalunya: no estás sola". https://t.co/Yc9tJ5JjtA 2 weeks ago
RT @EscritorCritico: Primero cantan "no somos fachas, somos españoles". Minutos después cantan el Cara al Sol con el brazo en alto. Todo mu… 2 weeks ago
RT @Mr_Marzo: Menos "Cara al Sol" y brazo en alto y más leer, niñatos. 2 weeks ago
RT @criss_tm21: En Cibeles cantando el "cara al sol". Luego les llamas fascistas y salen los ofendiditos. Sin despeinarse. 2 weeks ago
472,271 Visitas

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución