Buenos días, continuamos con la saga de configuración del servidor con Debian, donde la última entrega fue:
Instalación y configuración de un servidor web (IV)
En esta entrada os explicaré como instalar y configurar un servidor DNS para asignar ips a los clientes de nuestra red y a las páginas web.
Instalando un DNS en nuestro servidor, además podremos conseguir aumentar la velocidad de navegación de nuestros clientes. Al tener un servidor DNS en la red local, aumenta considerablemente la velocidad de respuesta de éste hacía las peticiones de nuestros clientes, ya que, esas peticiones tienen un tiempo de vida (TTL) que sirve para cuando otro cliente pida la misma petición, le responda con la información que obtuvo en la primera consulta.
Instalación del servidor DNS
La aplicación que utilizaremos será Bind9. Para instalarlo seguiremos los siguientes pasos:
- Nos logueamos como root.
- Ejecutamos el comando
apt-get install bind9
- Ya tenemos la aplicación, ahora procederemos a configurarla.
Configuración de Bind9
Para realizar su configuración, seguiremos los siguientes pasos:
- Lo primero de todo, será añadir en el fichero de la ruta /etc/bind/named.conf.local las siguientes lineas (en negritas)
// // 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 "spotype.com" { #Tipo de servidor,en nuestro caso el maestro type master; #El archivo que contiene la configuración de resolución directa file "db.spotype"; allow-query {192.168.1.0/24;}; }; zone "1.168.192.in-addr.arpa" { type master; #El archivo que contiene la configuración de resolución inversa file "db.192.168.1"; allow-query {192.168.1.0/24;}; };
- Ahora nos iremos a la ruta /var/cache/bind/ y crearemos dos archivos, db.spotype y db.192.168.1 con el siguiente comando:
touch db.spotype touch db.192.168.1
- Procedemos a editarlos, primero editaremos db.spotype (será el archivo de resolución directa), añadiendo las siguientes lineas
$TTL 86400 ; 1 day @ IN SOA twitter.spotype.com. mail.spotype.com. ( 19423 ; serial 21600 ; refresh (6 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 21600 ; minimum (6 hours) ) spotype.com. IN NS twitter.spotype.com. $ORIGIN spotype.com. twitter IN A 192.168.1.254 tuenti IN A 192.168.1.3 facebook IN A 192.168.1.200 plataforma IN CNAME twitter www IN CNAME twitter revista IN CNAME twitter
- Ahora editaremos db.192.168.1 (será el archivo de resolución inversa), añadiendo las siguientes lineas:
$TTL 86400 ; 1 day @ IN SOA twitter.spotype.com. mail.spotype.com. ( 12998 ; serial 21600 ; refresh (6 hours) 3600 ; retry (1 hour) 604800 ; expire (1 week) 21600 ; minimum (6 hours) ) @ IN NS twitter.spotype.com. $ORIGIN 1.168.192.in-addr.arpa 254 IN PTR twitter.spotype.com. 3 IN PTR tuenti.spotype.com. 200 IN PTR facebook.spotype.com.
NOTA: (debe tener tantos registros PTR como registros A tenga el fichero de la resolución directa)
- Guardamos y reiniciamos el servicio bind9
- En los clientes, deberemos de modificar el fichero hosts para dejarlo de la manera que estaba, es decir, con la configuración inicial:
127.0.0.1 locahost ::1
Modificaciones en el servidor DHCP
Las modificaciones realizadas en dicho servidor son las siguientes:
- En el fichero dhcpd.conf de la ruta /etc/dhcp/ , en la parte de la subnet, cambiamos el dns con la dirección 192.168.2.2 por la de nuestro servidor, para que quede así
subnet 192.168.1.0 netmask 255.255.255.0 { #rango range 192.168.1.3 192.168.1.253; #puerta de enlace option routers 192.168.1.254; #dns option domain-name-servers 192.168.1.254; #broadcast option broadcast-address 192.168.1.255; #nombre de dominio option domain-name "spotype.com"; }
- Y reiniciamos el servicio
service isc-dhcp-server restart
Prueba de funcionamiento: nslookup y dig
Nslookup:
> set q=ns > spotype.com Servidor: twitter.spotype.com Address: 192.168.1.254 spotype.com nameserver = twitter.spotype.com twitter.spotype.com internet address = 192.168.1.254
> set q=a >plataforma.spotype.com Servidor: twitter.spotype.com Address: 192.168.1.254 Nombre: twitter.spotype.com Address: 192.168.1.254 Aliases: plataforma.spotype.com > set q=PTR > 192.168.1.254 Servidor: twitter.spotype.com Address: 192.168.1.254 254.1.168.192.in-addr.arpa name = twitter.spotype.com 1.168.192.in-addr.arpa nameserver = twitter.spotype.com twitter.spotype.com internet address = 192.168.1.254
> www.josedomingo.org Servidor: twitter.spotype.com Address: 192.168.1.254 Respuesta no autoritativa: Nombre: www.josedomingo.org Address: 134.0.11.146
Dig:
root@Facebook:/# dig -t ns spotype.com ; <<>> DiG 9.8.1-P1 <<>> -t ns spotype.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35644 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: ;spotype.com. IN NS ;; ANSWER SECTION: spotype.com. 86400 IN NS twitter.spotype.com. ;; ADDITIONAL SECTION: twitter.spotype.com. 86400 IN A 192.168.1.254 ;; Query time: 11 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Feb 10 09:42:43 2014 ;; MSG SIZE rcvd: 67 root@Facebook:/# dig plataforma.spotype.com ; <<>> DiG 9.8.1-P1 <<>> plataforma.spotype.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18538 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;plataforma.spotype.com. IN A ;; ANSWER SECTION: plataforma.spotype.com. 86400 IN CNAME twitter.spotype.com. twitter.spotype.com. 86400 IN A 192.168.1.254 ;; AUTHORITY SECTION: spotype.com. 86400 IN NS twitter.spotype.com. ;; Query time: 4 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Feb 10 09:34:49 2014 ;; MSG SIZE rcvd: 92 root@Facebook:/# dig -x 192.168.1.254 ; <<>> DiG 9.8.1-P1 <<>> -x 192.168.1.254 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35578 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;254.1.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 254.1.168.192.in-addr.arpa. 86400 IN PTR twitter.spotype.com. ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86400 IN NS twitter.spotype.com. ;; ADDITIONAL SECTION: twitter.spotype.com. 86400 IN A 192.168.1.254 ;; Query time: 13 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Feb 10 09:35:19 2014 ;; MSG SIZE rcvd: 107 root@Facebook:/# dig www.josedoming.org ; <<>> DiG 9.8.1-P1 <<>> www.josedoming.org ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 19135 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.josedoming.org. IN A ;; AUTHORITY SECTION: org. 900 IN SOA a0.org.afilias-nst.info. noc.afilias-nst.info. 2010894054 1800 900 604800 86400 ;; Query time: 693 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: Mon Feb 10 09:35:55 2014 ;; MSG SIZE rcvd: 99