Configurar un servidor de DNS
|
|
|
Los servidores de DNS son los encargados que cuando en el
navegador ponemos "www.hardgame2.com" encuentre la máquina
donde esta alojado ese portal; por así decirlo es como el
intermediario entre nosotros y las páginas web. Sin estos
servidores tendríamos que estar poniendo cada vez que queramos
visitar una página, por ejemplo "192.168.1.50". ¿Más
fácil con las DNS no?.
Otra utilidad puede ser
configurar una intranet en tu casa o trabajo para así agilizar
las labores cotidianas que se suelen hacer con los servidores:
intercambiar ficheros, usos de impresoras, web interna.... Por
ejemplo en mi caso ha sido para poder programar tranquilamente desde
mi casa como si estuviese haciendolo directamente sobre
Internet.
Hay otra forma de "simular" esto que acabo
de decir es modificando el archivo hosts del sistema, en linux está
en "/etc/hosts". Este archivo se lee antes de salir a
Internet y puedes ponerle ciertas reglas para que en lugar de buscar
en los servidores de DNS, se conecte a tu máquina. Lo único
que hay que hacer es decirle que la dirección
"www.webserver.com" apunta a la IP "127.0.0.1"
que es la IP propia de tu ordenador o localhost.
Pero ya que
estamos vamos a hacerlo bien. Para empezar necesitamos descargarnos
el programa BIND9 (gratuito como no) mediante el comando "sudo
aptitude bind9" y ahora procedemos a configurarlo; lo único
es que hay que configurarlo en modo texto, pero es muy
sencillo.
Mediante el comando "sudo gedit
/etc/bind/named.conf.local" entramos en la primera parte de la
configuración que deberemos dejarla más o menos de la
siguiente forma.
zone "webserver.com" {
type
master;
file "/etc/bind/db.webserver";
};
Donde
sustituiremos webserver.com por la dirección que queramos
aplicarle en nuestro caso. Tras esto salvamos y seguimos.
El
siguiente paso es crear el fichero de configuración de la
dirección que hemos creado, en nuestro caso la dirección
es "webserver.com" y su archivo es "db.webserver".
Para ello partimos de un ejemplo que ya esta disponible para hacerlo
más rápido y encima sin posibilidad de
equivocación.
cd /etc/bind/
cp db.local
db.webserver
En este archivo tenemos que sustituir todo donde
figure la palabra localhost por el nombre del dominio que hayamos
puesto al principio y la IP 127.0.0.1 por la que tenga asignada el
servidor donde la montemos, por ejemplo "192.168.1.2". Así
es como quedaría el ejemplo nuestro:
;
; BIND data
file for local loopback interface
;
$TTL 604800
@ IN SOA
webserver.com. root.webserver.com. (
1 ; Serial
604800 ;
Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative
Cache TTL
;
@ IN NS webserver.com.
@ IN A 192.168.1.69
@
IN MX 0 webserver.com.
www IN A 192.168.1.69
hg2blog IN CNAME
webserver.com.
Si os habéis fijado, al final de esa
configuración he añadido tanto "www" como
"hg2blog". La primera la he apuntado a la propia IP de la
máquina porque es el nombre raiz que siempre se usa para
entrar en una dirección y lo segundo para añadir un
subdominio. Esto quiere decir que cuando pongamos en el navegador o
donde sea la dirección "hg2blog.webserver.com" te
llevará donde apunte el dominio "webserver.com".
Con
esto ya hemos terminado la primera parte y realmente ya estará
operativo nuestro servidor de DNS cuando lo reiniciemos.
sudo
/etc/init.d/bind restart
El último paso que hay que
hacer es decirle a todos los ordenadores de nuestra red que uno de
los servidores de DNS es la IP 192.169.0.2 o en la que se encuentre
el servidor.
Con todo lo descrito anteriormente, cuando hagan
un ping a webserver.com o cuando en un navegador accedan a esa
dirección, les estaremos redirigiendo al servidor que nosotros
hemos creado, pero ¿y si hacen un ping al servidor web? con
esta configuración simplemente dirá que la conexión
funciona correctamente y punto.
Aquí es donde entra la
"Resolución inversa de nombres", es decir, tu
preguntas por una IP y te contesta con un nombre. Para que esto
funcione tenemos que volver a editar los archivos de configurador del
servidor de DNS. Para empezar abrimos el archivo llamado
"named.conf.local" y añadir lo siguiente:
zone
"192.in-addr.arpa" {
type master;
file
"/etc/bind/db.192";
};
Guardamos los cambios y
ahora tenemos que generar un archivo similar al "db.127",
para ello hacemos como antes, lo copiamos en la misma carpeta pero
con el nombre que le hemos indicado arriba (db.192). En este archivo
debemos sustituir localhost por webserver.com, con lo que quedaría
algo así:
;
; BIND reverse data file for local
loopback interface
;
$TTL 604800
@ IN SOA webserver.com.
root.webserver.com. (
1 ; Serial
604800 ; Refresh
86400 ;
Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@
IN NS webserver.com.
69.1.168 IN PTR webserver.com.
Ahora
ya si que hemos terminado de configurarlo, por lo menos para lo más
básico y normalmente más utilizado. Sólo queda
reiniciar el servidor DNS y empezar a usarlo.