Como instalar Servidor DNS BIND Ubuntu 16.04 Xenial
Domain Name System o DNS ó Sistema de Nombres de Dominio, es un sistema de traducción de nombres a direcciones IP y viceversa. En otras palabras, en internet no existe google.com (el cual es un nombre, la forma en la que conocemos los sitios), lo que existe es una dirección IP, en donde se encuentra el servidor.
El puerto usado por un servidor DNS es el 53 en TCP y UDP.
BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) es el nombre de aplicativo que me ofrece el servicio de DNS en Linux.
Vamos a crear nuestro servidor DNS con las siguientes características :
IP del servidor | 192.168.20.25 |
Dominio | lilo |
Equipo | cemolina |
IP equipo cemolina | 192.168.20.26 |
Sistema Operativo | Linux Ubuntu 16.04 Xenial Serus |
Aplicativo | BIND |
Servicio | DNS |
1) El primer paso es instalar el servidor dns, en nuestro caso bind9 de la siguiente manera.
# apt-get install bind9
2) Luego de instalar el paquete bind9 procedemos a iniciar el bind9.
#/etc/init.d/bind9 start
El archivo de configuración del DNS es el archivo /etc/bind/named.conf, pero este hace referencia a otros archivos como por ejemplo:
Archivo named.conf: Archivo principal de configuración
Archivo named.conf.options: Opciones genéricas
Archivo named.conf.local: Especificación particular de este servidor DNS
Archivo db.127:Especificación dirección de retorno
Archivo db.root: DNSs de nivel superior
Otros archivos: db.0, db.255, db.empty, db.local, rndc.conf, rndc.key, zones.rfc1918
3) Luego entramos en el directorio bind, localizado en /etc/ para su configuración.
# cd /etct/bind
4) Ahora procedemos a crear nuestra zona DNS.
# vim named.conf.local
Después de abrir este archivo nos mostrara un contenido, lo dejaremos como este:
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include «/etc/bind/zones.rfc1918»;
zone «lilo» {
type master;
file «db.lilo»;
};
zone «20.168.192.in-addr.arpa» {
type master;
file «db.192.168.20»;
};
En donde creamos la zona directa e inversa de nuestro dominio:
La zona lilo es en donde estará la zona directa de nuestro dominio (resolverá de nombre de dominio a ip)
La zona 20.168.192.in-addr.arpa es en donde estará toda la zona inversa de nuestro dominio (resolverá de ip a nombre de dominio). Por eso esta zona se llama 20.168.192.in-addr.arpa que es la dirección ip escrita al revés sin el ultimo numero.
Ahora lo modificamos y ajustamos a nuestras necesidades.
5) Luego de esto nos pasamos al directorio /var/cache/bind, para configurar los registros
# cd /var/cache/bind
En este directorio creamos los archivos db.nombredns y db.inversa.
NOTA:Cambiar estos datos por sus datos reales, no existen los archivos db.nombredns y db.inversa.
Creamos el primer archivo el que tendrá un contenido como este (Descargar):
# vim db.lilo
En este caso, llamaremos a este archivo como db.lilo
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.lilo. root.lilo. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.lilo.
ns IN A 192.168.20.25
;also list other computers
cemolina IN A 192.168.20.26
6) Ahora creamos la resolución inversa.
# vim db.192.168.20
En este archivo hemos colocado (Descargar) :
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA ns.example.com. root.example.com. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
25 IN PTR ns.lilo.
; also list other computers
26 IN PTR cemolina.lilo.
Lo cual indica que:
* La IP del servidor es 192.168.20.25 ( 25 IN PTR ns.lilo.)
* la IP del equipo cemolina es 192.168.20.26 (26 IN PTR cemolina.lilo.)
7) Luego de esto solo nos queda reiniciar el demonio de bind9
# /etc/init.d/bind9 restart
8) En el equipo cliente editamos el archivo en donde están la dirección de los DNS
Editamos el archivo /etc/resolv.conf, en este archivos se encuentran las ips de los servidores DNS que tenemos en nuestro equipo Linux Ubuntu.
Comentamos los otros DNS y ponemos la dirección de nuestro servidor DNS ( 192.168.20.25) de la siguiente manera.
vim /etc/resolv.conf
# Generated by NetworkManager
#nameserver 200.88.127.22
nameserver 192.168.20.25
Probando:
Podemos probar con la instrucción ping y con dig. En este caso lo probamos con la siguiente instrucción :
ping cemolina.lilo
Ahora con la instrucción dig , probando la dirección IP del Servidor:
# dig -x 192.168.20.25
; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> -x 192.168.20.25;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43226;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;25.20.168.192.in-addr.arpa. IN PTR
;; ANSWER SECTION:25.20.168.192.in-addr.arpa. 604800 IN PTR ns.lilo.25.20.168.192.in-addr.arpa. 604800 IN PTR cemolina.lilo.
;; AUTHORITY SECTION:20.168.192.in-addr.arpa. 604800 IN NS ns.
;; Query time: 3 msec;; SERVER: 192.168.20.25#53(192.168.20.25);; WHEN: Tue Jul 26 11:26:05 COT 2016;; MSG SIZE rcvd: 115
Con la instrucción dig , probando el nombre del equipo cliente cemolina.lilo:
# dig -x cemolina.lilo
; <<>> DiG 9.9.5-3ubuntu0.8-Ubuntu <<>> -x cemolina.lilo;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 56447;; flags: qr rd ra ad; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 1
;; OPT PSEUDOSECTION:; EDNS: version: 0, flags:; udp: 4096;; QUESTION SECTION:;lilo.cemolina.in-addr.arpa. IN PTR
;; AUTHORITY SECTION:in-addr.arpa. 1799 IN SOA b.in-addr-servers.arpa. nstld.iana.org. 2015074117 1800 900 604800 3600
;; Query time: 510 msec;; SERVER: 192.168.20.25#53(192.168.20.25);; WHEN: Tue Jul 26 11:26:14 COT 2016;; MSG SIZE rcvd: 123
Ver los registros (log)
watch -n 30 «cat /var/log/syslog | tail -n 20»
Comentarios recientes