jueves, 27 de septiembre de 2012

DNS y DHCP Dinámico



INTRODUCCIÓN A SERVICIOS.



DHCP: (protocolo de configuración de host dinámico). Es un protocolo que permite que un equipo conectado a una red pueda obtener su configuración de forma dinámica  solo tiene que especificar el equipo, mediante DHCP, que encuentre una direccion ip de manera independiente. El objetivo principal es simplificar la administración de la red.

Cuando el cliente de DHCP, dhclient, se ejecuta en una máquina cliente, valga la redundancia, comienza a enviar peticiones “broadcast” solicitando información de configuración. Por defecto estas peticiones se realizan contra el puerto UDP 68. El servidor responde a través del puerto UDP 67 proporcionando al cliente una dirección IP junto con otros parámetros relevantes para el correcto funcionamiento del sistema en la red, tales como la máscara de red, el “router” por defecto y los servidores de DNS. Toda esta información se “presta” y es válida sólo durante un determinado período de tiempo (configurado por el administrador del servidor de DHCP). De esta forma direcciones IP asignadas a clientes que ya no se encuentran conectados a la red pueden ser reutilizadas al pasar determinado periodo de tiempo.






 DNS: (Domain Name Service) es un sistema que permite la transformación de nombres de dominio a direcciones ip y viceversa. El DNS  permite  que los humanos usemos nombres de dominio en vez de direcciones, por q es más fácil de recordar un nombre como (www.googles.com ) que (8.8.8.8 o 192.168.1.200). ¿Cuál crees que es más fácil de recordar para ti?

Para ello el servidor DNS dispone de una base de datos en la cual se almacenan todas las direcciones ip y todos los nombres de sus PC’s pertenecientes a su dominio. Este servicio se presta  por el puerto 53.




INICIAMOS CON LA CONFIGURACION DE LOS SERVICIOS


Iniciamos con la configuracion del DHCP

Verificamos que tengamos una direccion ip perteneciente al rango de dirreciones que va a entregar el DHCP
 


Iniciamos definiendo el servidor DNS si esta usando para esto usamos las lineas:
option domain-name "abc.com";
option domain-name-servers 192.168.10.1;

Donde se especifica el dominio que se va a utilizar en este caso "abc.com"
Y la direccion ip que tiene el servidor DNS

Seguidamente configuramos la subred con los comandos siguientes
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.5 192.168.10.40;
option routers 192.168.19.254;
}

Donde se especifica:
la subred y la mascara a utilizar
el rango de direcciones que se va a entregar a los clientes
la puerta de enlace con la que trabaja la red

Continuano con la configuracion es de vital importancia configurar el   tiempo de la consecion y el tiempo maximo para la consecion en segundos para esto usamos los siguientes comando:

default-lease-time 300; (especifica el tiempo de la consecion)
max-lease-time 600; (especifica el tiempo maximo de la consecion)

hasta aqui llega la configuracion basica del DHCP  ahora configuraremos el DHCP para que actualice el DNS con la siguiente configuracion:

ddns-updates on;
Activa la actualización automática al DNS.

ddns-domainname “abc.com”;
Indica el dominio en el que se actualizan los DNS

ddns-rev-domainname “10.168.192.in-addr.arpa”;
Indica la zona inversa que quiero actualizar dinámicamente.

ddns-update-style interim;
Esta línea indica el método de actualización DNS automática.



La configuracion quedaria similar a esta:


Y ya terminamos de configurara el DHCP ahora reiniciamos el servicio 



Iniciamos con el servicio DNS

Iniciamos configurando el directoro principal para los archivos del DNS

Options {
      directory      "/var/named";
      dump-file      "/var/named/data/cache_dump.db";
};

Configuramos la zona principal de la raiz del DNS
zone "." IN {    (establece el nombre de la zona)
type hint;         (establece el timpo de la zona)
file "named.ca"; (establece el nombre del archivo donde estara la configuracion de esta zona)
};



Seguidamente establecemos las zonas del localhost tanto directa como zona inversa
zone "localhost" IN {  (establece el nombre de la zona)
type master;               (establece el timpo de la zona)
file "localhost.db";  (establece el nombre del archivo donde estara la configuracion de esta zona)
};

Continuamos con la configuracion y establecemos la zona inverza par el localhost
zone "0.0.0.127.in-addr.arpa" IN {   (establece el nombre de la zona)
type master;  (establece el timpo de la zona)
file "localhost.rev"; (establece el nombre del archivo donde estara la configuracion de esta zona)
};

Esta zona esta conformada con los tres primeros octetos de la direccion y el prefijo ".in-addr.arpa".

Continuamos la zona directa para el dominio
zone "abc.com" IN { (establece el nombre de la zona)
type master;           (establece el timpo de la zona)
file "abc.com.db";   (establece el nombre del archivo donde estara la configuracion de esta zona)
notify no;     (establece que las notificaciones esten deshabilitadas)
allow-update {  (ordena que se actualice a las direccones ip dentro de las llaves)
127.0.0.1;
192.168.10.1;
};

Seguimos con la configuracion de la zona inverza para el dominio
zone "10.168.192.in-addr.arpa"  IN { (establece el nombre de la zona)
type master;           (establece el timpo de la zona)
file "abc.com.db";   (establece el nombre del archivo donde estara la configuracion de esta zona)
notify no;     (establece que las notificaciones esten deshabilitadas)
allow-update {  (ordena que se actualice a las direccones ip dentro de las llaves)
127.0.0.1;
192.168.10.1;
};


Esta zona esta conformada con los tres primeros octetos de la direccion y el prefijo ".in-addr.arpa".







Este es el archivo de configuracion de la zona directa
 

 Este es el archivo de configuracion de la zona inverza


 Se modifican los permisos para que los usuarios del sistema puedan acceder a modificar los archivos de zona


 Reiniciamos el servicio DNS


 Verificamos que los servicios esten funcionando en otro equipo





 Y asi queda funcionando el servicio DNS dinamico y el DHCP


Errores frecuentes

  • Desactivar el cortafuegos de CentOS (iptables), el servicio iptables utiliza el concepto de direcciones, puertos y protocolos (TCP, UDP, ICMP) por lo que no es necesatio ser un experto  en el tema para gestionarlo.
  • En algunas versiones de las maquinas virtuales del sistema operativo CentOS no soporta las actualizaciones dinamicas del servicio DNS (interim, ad-hoc).
  • Añadir algunas excepciones al SELINUX (seguridad mejorada de Linux).
  • Otro de los errores comunes es que por equivocacion se nos olvida poner algún coma (;) al terminar las diferentes líneas de configuración.
  • El resolv es otro de los errores, de pronto se pasa por alto la configuracion y no funcionaria en DNS. El archivo se encuentra en "/etc/resolv.conf".
  • Algunas interfaces de los clientes pueden estar configuradas estaticamente y no permitiria que el DHCP funcione. (se modifica en el archivo /etc/sysconfig/network-scripts/ifcfg-eth0 "eth0 se modifica por el nombre de la interfaz")
  • No se configura la interfaz por la que se va a prestart el servicio DHCP. (Se configura en /etc/sysconfig/dhcpd, en la linea DHCPARGS=eth0 "eth0 se modifica por el nombre de la interfaz")



GLOSARIO


SOA: autoridad de una ZONA DNS, incluido el servicio de nombres primarios, correos, el número de dominios de serie y temporizadores.

A: devuelve un bit ipv4 dirección, más comúnmente utilizado para asignar nombres de host a una dirección IP de la maquina.

AAAA: devuelve un bit ipv6 dirección, más comúnmente utilizado para asignar nombres de host a una dirección IP de la maquina.

PTR: puntero a un dominio. A diferencia de CNAME, DNS procesamiento NO continuara, solo el nombre es devuelto.

CNAME: alias de los nombres de dominios (por los cuales reconoceremos un nombre de dominio con un nombre más significativo o más corto  todo depende a su necesidad).

MX: asigna un nombre de dominio a una lista de gentes de transferencia de mensajes de ese dominio.

Option domain-name: esta es la opción del nombre del dominio, por la cual lo reconoceremos en las zonas.

Default-lease-time: indica el  tiempo de asignación en segundos.

Max-lease-time: indica el tiempo máximo de asignaciones en segundos.

Range: es en el cual colocaremos una iniciación de direcciones y un tope  para asi obtener un rango dentro de una dirección.


No hay comentarios:

Publicar un comentario