Mostrando entradas con la etiqueta dns. Mostrar todas las entradas
Mostrando entradas con la etiqueta dns. Mostrar todas las entradas

jueves, 25 de octubre de 2012

Configurar DNS en Windows Server 2008

Buenos días/tardes/noches:

El tema que vamos a tratar hoy es, como un post anterior, es sobre la configuración del servicio DNS (Domain Name Service) bajo el entorno de Windows Server 2008.

Como es un sistema gráfico, haré muchos pantallazos. Es facilón, y haré la misma configuración que el DNS con BIND.

Empezaremos tomando como punto de partida, las tareas de configuración inicial del servidor 2008. No tenemos promocionado el servidor a controlador de dominio, sólo ejercerá de servidor DNS. En el caso de que ya tengamos instalado el Controlador de Dominio, estos pasos nos los podremos saltar ya que se instalan automaticamente al hacer el dcpromo.exe.

Arrancamos: Agregar funciones.


Leemos las advertencias de costumbre.


Seleccionamos Servidor DNS.


Leemos las consideraciones iniciales que nos aconseja el servidor.


Y confirmamos dando a "Instalar".


Se tirará un ratito (no mucho) y nos informará de que la instalación ha sido correcta.


Primera operación después de la instalación 
Conexiones de red > Propiedades del adaptador.
Hemos de declarar que el server usará de servidor de nombres a sí mismo, luego introduciremos la IP del bucle local (loopback): 127.0.0.1


Una vez hecho esto, procederemos a declarar el sufijo del nombre DNS del equipo. En la ventana de configuración inicial del servidor, pinchamos en "Proporcionar nombre de equipo y dominio"



Describimos el equipo, y damos al botón de "cambiar". 


Definimos el nombre del server, y acto seguido pulsamos "Más..."


Añadimos como sufijo DNS principal de este equipo el nombre que deseemos en nuestro DNS. En este caso, es contador.int.


Aceptamos los cambios y salimos. Nos pedirá reinicio. Adelante, sin miedo.

* Si tu Windows 2008 ya es controlador de dominio, puedes empezar desde aqui.

Una vez reiniciado el equipo, y autenticandonos en el server, vamos a:
Inicio > Herramientas administrativas > DNS


Existe un asistente, pero como somos chul@s y con valor, pasamos de él.
Vamos al menú Acciones > Zona nueva.


Por cojones narices, nos salta el puto simpático asistente, Siguiente. (rima y todo)


Definimos la zona como principal, en este caso.

Declaramos el nombre de la zona, de la cual este servidor será el master o maestro.


Hemos de elegir el nombre del archivo que contendrá la información y autoridad de la zona DNS.


Actualizaciones dinámicas. Al no estar en un dominio, y no tener o ser esclavo, no permitimos tales actualizaciones.


Y por fin, un resumen de lo hecho hasta ahora.


Mu bien, colegas, ahora vamos a proceder a insertar los registros A de nuestra zona, es decir, de los hosts, máquinas o dispositivos que forman parte de nuestra red y queremos nombrarlos. Pinchamos sobre nuestra zona y veremos los primeros registros:
SOA (Start of Authority)
y NAMESERVER (nuestro servidor de nombres)


Bien, pues para agregar estos hosts, vamos al menú "Acciones" > Agregar Host A (Ipv4) o AAAA( Ipv6). Recuerdo que estamos trabajando en direccionamiento IPv4. Ya hablaremos de la v6 en otro post aparte.


Rellenamos los datos de nombre y dirección IP.


Con este mecanismo podemos seguir añadiendo host hasta que pulsemos finalizar. Y tendremos una visión como esta. He agregado 3 host más a la zona.


Ahora crearemos los registros de zona para la búsqueda inversa (si preguntamos por una IP al servidor, que nos devuelva un nombre). Pinchamos en zona de búsqueda inversa > Zona Nueva.


Elegimos la zona principal, ya que residen los registros en nuestro servidor DNS, los acabamos de crear.


Elegimos que direccionamiento tiene la zona. 


Ahora nos pedirá que definamos la zona. La podemos hacer con su ID de red. Es decir, con la IP sin incluir la máscara de red. En este caso como la máscara es de /24, omitimos el último byte y escribimos sólo la parte que corresponde a la red: 10.0.2.


Confirmamos la creación del fichero de búsqueda inversa.


Ahora tendremos que decidir que hacemos con las actualizaciones dinámicas. En este caso, no las admitiremos en principio.


Y para acabar, el asistente, nos arrojará un resumen de lo realizado.


Yupi, al tajo. Vemos que se han creado los dos primeros registros, el SOA y el NS.
Pinchamos sobre nuestra zona inversa > Acciones > Nuevo puntero (PTR)


Bien, añadimos la ip de host y para elegir su nombre, damos a "Examinar"


Navegamos hasta elegir el host que deseamos para esa IP. Aceptamos


Se quedará una cosa así, aceptamos y agregamos los demás punteros PTR.


Epaa que bien. Ahora, al igual que el otro ejemplo en Linux, añadiremos un reenviador, pinchamos en la raíz de nuestro DNS y seleccionaremos el archivo Reenviadores.


"Editar..."


Agregamos 8.8.8.8, la DNS pública de Google. Aceptamos.


El momento de la verdad, pruebas.
Inicio > ejecutar > cmd.
Nos abrirá un símbolo del sistema, y vamos a preguntar al servidor lo que nos dice con el comando nslookup. Hacemos las siguientes consultas de la imagen.


Y Guauu... todas correctas, tanto directas como inversas. 

Ya lo iremos complicando.
Y eso es todo, cualquier pregunta, podeis dejarlas en los comentarios, gracias.

Hasta la próxima dirección de memoria.


lunes, 22 de octubre de 2012

Preparar un servidor DNS en Debian con bind

Buenos días/tardes/noches:

Hoy vamos a hablar de hacer un servidor DNS bajo Debian.
El servicio de nombres de dominio, DNS (Domain Name Service) es el encargado de traducir nombres legibles por humanos a direcciones de red en binario, que es lo que habla la máquina en realidad.

La dirección de mi web es contadordeprograma.blogspot.com, si te dijera que mi dirección es:
173.194.34.234 o 10101101.11000010.00100010. 11101010, seguramente no te quedarías con la copla y nuestra comunicación sería mejor por correo postal. Quizás unas cuantas, puede que si, con buena memoria, y como antaño recordando números de teléfono. Y si hay 1000, ¿podré?. Mejor hacer otra cosa: traducir. Es más fácil recordar nombres que números.
Nosotros no vemos la conversión, y lo que podemos hacer, es aún mejor, crearla y definirla.
Los sistemas tienen programas adecuados para ello. En su versión libre, presentaré BIND9 que es el estándar en esto, y lo instalaré bajo Debian 6.

Instalación:

root@nameserver:~# apt-get install bind9

Y santas pascuas,  ya está listo para empezar a usar. Lo que toca es configurarlo correctamente. 

Nuestra zona se va a llamar contador.int, que será el master de la zona. 
Nuestra red es de tipo 10.0.2.0/24

La primera operación que vamos a realizar es declarar que nuestro servidor, para sí mismo, va a ser el que resuelva los nombres. 
Para ello editaremos el archivo /etc/resolv.conf. Primero hacemos una copia de seguridad del mismo. Usaré el editor nano.

root@nameserver:~# mv /etc/resolv.conf /etc/resolv.conf.bak
root@nameserver:~# nano /etc/resolv.conf

nameserver 127.0.0.1

Guardamos y salimos (ctrl+O y ctrl+X). Con esto diremos que quien va a resolver y reducir los nombres será la misma máquina con la información que disponga.

entraremos al directorio donde trabajaremos que será /etc/bind/

root@nameserver:~# cd /etc/bind/

Si hacemos un ls -l veremos los siguientes archivos:


si hacemos un netstat -lan, veremos que la máquina está "escuchando" en el puerto 53 TCP y UDP. Que es el puerto que usa BIND.

Al lio:

Editamos el archivo named.conf.local y definiremos la zona de resolución directa e inversa. Es decir traducir de nombres a direcciones y de direcciones a nombres.

root@nameserver:/etc/bind# nano named.conf.local

añadimos las siguientes entradas:

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";

//resolución directa
zone "contador.int"
{
        type master;
        file "/etc/bind/db.contador.int";
};
// resolución inversa

zone "2.0.10.in-addr.arpa"
{
        type master;
        file "/etc/bind/db.10.0.2";
};

Guardamos y salimos.

Como podemos observar en los dos casos referenciamos un archivo que aún no existe. Luego tendremos que crearlo. Para no tener que escribirlo del tirón (ya sabemos que los informáticos somos unos vagos) podemos hacer una copia de db.empty y editar.

root@nameserver:/etc/bind# cp db.empty db.contador.int
root@nameserver:/etc/bind# nano db.contador.int


; resolución directa para contador.int
$TTL    86400
@       IN      SOA     ns.contador.int. root.contador.int. (
                      201210221         ; Serial
                         604800         ; Refresh (1 semana)
                          86400         ; Retry (24 horas)
                        2419200         ; Expire (28 días)
                          86400 )       ; Negative Cache TTL (1 semana)
;
@       IN      NS      ns.contador.int.
ns      IN      A       10.0.2.253
router  IN      A       10.0.2.1
pc1     IN      A       10.0.2.2
pc2     IN      A       10.0.2.3

Lo mismo haremos para la configuración de resolución inversa.

root@nameserver:/etc/bind# cp db.empty db.10.0.2
root@nameserver:/etc/bind# nano db.10.0.2


; fichero de resolución inversa para 10.0.2.0
;
$TTL    86400
@       IN      SOA     ns.contador.int. root.contador.int. (
                      201210221         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                          86400 )       ; Negative Cache TTL
;
@       IN      NS      ns.contador.int.
253     IN      PTR     ns.contador.int.
1       IN      PTR     router.contador.int.
2       IN      PTR     pc1.contador.int.
3       IN      PTR     pc2.contador.int.

Como ultimo paso, asumimos que no vamos a ser un ISP, y tendremos que usar un redireccionador. Se puede elegir el servidor DNS más estable que queramos, google (8.8.8.8), el de nuestro ISP, o el que usaré de los chicos de openDNS(208.67.220.220)
Abrimos con nuestro editor /etc/bind/named.conf.options
y descomentamos las líneas que ponen forwaders en adelante hasta que quede así tal cual.

options {
        directory "/var/cache/bind";

        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113

        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.

         forwarders {
                208.67.222.222;208.67.220.220;
         };

        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};
   
Lo que haremos será enviar todas las peticiones que vayan más alla de nuestra red a otro servidor DNS,  que resolverá nuestra petición sin ir preguntando a los servidores raíz tal y como lo hacía con el servidor BIND9 recién instalado.

y ahora, para que todo funcione como es debido,  reiniciamos el servicio BIND

root@nameserver:/etc/bind# service bind9 restart


Ahora para que podamos sacar partido a nuestro servidor DNS, las máquinas de nuestra red, deberán apuntar a 10.0.2.253 como servidor de nombres.

Para testar la velocidad de las consultas a los servidores DNS hay un magnífico programa llamado NameBench. Recomendable para enterarnos que servidores DNS son más rápidos para nosotros y nos pueden ofrecer una experiencia de navegación más rápida.

Un excelente artículo sobre DNS en linuxsilo.net,  aqui lo puedes encontrar
De momento, es todo acerca de este tema hoy.

Espero la siguiente instrucción.