Administración de servicios: DNS
De WikiEducator
< Usuario:ManuelRomero
Revisión a fecha de 07:07 4 feb 2012; ManuelRomero (Discusión | contribuciones)
Saltar a: navegación, buscar
Contenido
- 1 DNS
- 1.1 Introduccion
- 1.2 Código fuente
- 1.3 Formas de gestionar la resolución de nombres En Local
- 1.4 Funcionamiento del dns
- 1.5 Funcionamiento del dns 2
- 1.6 Componentes y configuración
- 1.7 Componentes y configuración 2
- 1.8 Fichero named.conf
- 1.9 Configuración del cliente resolver
- 1.10 Configuración del servidor
- 1.11 Servidor solo cache
- 1.12 Servidor primario
- 1.13 Servidor secundario
- 1.14 Herramientas de DNS
DNS
Introduccion
- Sistema distribuido básico de gestión de nombres en internet
- A partir del nombre, obtener la IP
- También resolución inversa (Apartir de la IP ==> Nombre)
if a > 10
Formas de gestionar la resolución de nombres En Local
- Gestion local
- El fichero /etc/hosts
- En windows …/system32/drivers/etc/hosts
direccion ip - Nombre de máquina - aliases 172.16.139.1- pedro - AdminWeb 172.16.139.2- marta- AdminCorreo 172.16.139.3- javier - AdminDNS 172.16.139.4- elena - Admin
- Gestión global
- Usando el protocolo DNS
- Sistema distribuido
- Modelo cliente servidor
- Usando el protocolo DNS
- En una máquina se pueden combinar ambos
- En ficheros /etc/host.conf o /etcnsswitch.conf
Funcionamiento del dns
- DNS Es un protocolo de nivel de aplicación de TCP/IP
- DNS o 'sistema de nombres de dominio se basa en
- un esquema jerárquizado (dominios y subdominios separados por .)
- distribuido
- su función es resolver nombres
- dado un nombre de máquina dentro de un subdominio de otro/s subdominios de un determinado dominio encontrar su identificador único de IP
- Se basa en el concepto de dominio, utilizando para su gestión una base de datos (BBDD) distribuida
- La administración de los dominios lo realizan las organizaciones responsables.
Evitamos posibilidad de duplicidad de nombres
- Los clientes con sus librerías pueden obtener información de los servidores
- Implementacion del paquete bind
- Otras implementaciones NSD, unbound, djbdns
Funcionamiento del dns 2
- Las aplicaciones que funcionan en red (Navegador , ping), ejecutan en el host cliente las librerías para poder obtener la ip de una máquina con la que queremos conectar.
- DNS funciona por defecto en el puerto 53
- usa UDP 'TCP para comunicarse los servidores primarios y secundarios
- El host pregunta a su servidor DNS cual es la ip de una máquina ¿Ip de www.emiliojimeno.edu.es?
- Es servidor lo sabe se lo da
La ip de www.emiliojimneo.edu.es es 82.98.144.46
- Este servidor no lo sabe, pues pregunta a otro que lo puede saber
No lo se pregunta a es.
- En este caso es. nos dirá
La ip de www.emilijimeno.edu.es no la se, pregunta a edu.es.
- El servidor del dominio edu.es. nos dirá
La ip de www.emilijimeno.edu.es no la se, pregunta a emiliojimeno.edu.es
- El servidor del dominio emiliojimeno.edu.es. nos dirá
La ip de www.emiliojimneo.edu.es es 82.98.144.46 Este servidor seguro que lo sabe, ya que él es el responsable del dominio emiliojimeno.edu.es
Componentes y configuración
- Sintaxis de los nombres
- Nos referimos al nombre completo de una máquina dentro de un dominio
www.asir2.informatica.emiliojimeno.edu.es
- Cadena de hasta 255 caracteres
- formado por etiquetas (recurso,dominio o subdominios), separados por puntos
- Las etiquetas mantienen una relación de jerárquica, de nivel superior a inferior en orden de derecha a izquierda
- No es sensible a mayúsculas y minúsculas
- 'muy importante el punto final'
normalmente no se pone se sobreentiende
- Para adiministrar
- Un nombre de dominio absoluto termina en punto
- Un nombre de dominio relativo no termina en punto
- Si es relativo quiere decir que le falta algo que hay que añadir
Ejemplo
- Si estoy administrando el domunio
emiliojimeno.edu.es.
- y quiero añadir un sugdominio por ejemplo asir2.informatica, añadiré
asir2.informática
- y en realidad estoy creando
asir2.informatica.emiliojimeno.edu.es.
- pero si añado
asir2.informática.emiliojimeno.edu.es
- en realidad estoy añadiendo
asir2.informática.emiliojimeno.edu.es.emiliojimeno.edu.es.
Componentes y configuración 2
- Paquete 'bind' (Berkeley Internet Name Domain)
- Demonio 'named'
- Fichero de configuracion '/etc/bind/named.conf'
- Responde a peticiones o nombres de máquinas
- Servidor de nombres
deminio named
Fichero named.conf
- Es el fichero de configuración de bind
- En el realizamos una serie de declaraciones, cada una de las cuales va {}
- Declaracion include
- Permite incluir otros ficheros.
- Sirve para organizar y separar conceptos
- Tambien como elementos de seguruidad, puedo incluir ficheros con permisos restringidos
include "file"
- Declaracion options
- Opciones de configuración y declaraciones globales
options { opcion_1, opcion_n };
- Ejemplo de opciones
- allow_query lista de ip's o redes a los que se permite consultar a este servidor. Por defecto todos
acl red_instituto{ 192.168.0.0/18 }; option { allow_query{10.0.0.1;192.168.10.35;red_instituto;}; };
- Indica los host o redes a los que se permite acceso
- allow_recursion
- backlone host que no tienen acceso al servidor de nombres
- directorydirectorio por defecto de trabajo a partir del cual se buscaran ficheros especificados
- forwadcomportamiento de reenvio de la directiva 'forwarders'
- forwardesdirecciones ip donde el servidor puede enviar las consultas para ser resueltas
- liste_on
- notify
- pid-file
- root-delegation-only
- stadistics-file
- consulta en esta dirección para ver todas las opciones
- Declaracion zone
- Define las caracteristicas de una zona concreta
zone <zone-nombre> <zone-class> { <zone-options>; [<zone-options>; ...] };
- zone-nombre Es el nombre de la zona
- zona-options opciones para la zona
- allow-query
- allow-transfer
- allow-update
- Estas directivas pueden resultar peligrosas por seguridad de habilitar. Es mejor actuar sobre los ficheros de las zonas
- file
- master
- notify (yes|no|explicict)
- type (master|slave|hit|forward|delegation-only
- zone-statistics
- Declaracion acl
- Sirve para crear una lista de eqipos a la que se da o niega el acceso al servidor de nombres
acl nombre_lista { 192.168.10.1/24 ==>ip 1 }
- Existen una serie de lista de acceso que ya creadas que se pueden utilizar
- any ==> todas las direcciones ip
- localhost ==> ip que use el equipo local
- localnet ==> ip que cuya red coincida con la red de la ip del sistema local
- none ==> no concuerda ninguna direccion ip
- Una vez creada la lista de acceso hay que otorgarle o quitarle el acceso con la opcion option
- Declaracion controls
- Requerimientos de seguridad
- Declaracion key
- Declaracion de claves para llevar a cabo actuaciones que queremos que requiran de seguridad
- Declaracion loggins
- Declaracion servers
Configuración del cliente resolver
- Configuracion con el fichero /etc/resolv.conf
- Instalando bind y poniendo el equipo como servidor dns en modo cache
- Contenido:
- Definición de los servidores de nombres a los que se les solicita información del DNS.
- Siempre con dirección IP.
- en orden de búsqueda,
- Definición del dominio por defecto que se añade a los nombres de máquinas :
- Definición de los servidores de nombres a los que se les solicita información del DNS.
domain informatica.emiliojimeno.edu.es search informatica.emiliojimeno.edu.es emiliojimneo.edu.es doc.ic.ac.uk
Configuración del servidor
El fichero named.conf ya visto anteriomente
named.conf : options { Directory "/var/cache/bind" query-source address * port 53; Forwarders { 155.210.12.9 155.210.33.4 } zone "." { // prime the server with knowledge of the root servers type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; };
Servidor solo cache
- zone . (punto)
- type hint
- file Es el fichero que contiene las ip's del los serividores top level
- Ejemplo
named.conf : options { Directory "/var/cache/bind" query-source address * port 53; Forwarders { 4.4.4.4 } zone "." { // prime the server with knowledge of the root servers type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; //Para resolución inversa zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; };
- Mirar el contenido de los ficheros
- db.local
@ IN SOA localhost. Root.localhost. ( 1 ; Serial 21600 ; Refresco de 6 horas 1800 ; Reintento de 30 minutos 1209600 ; Expira en 2 semanas 3600 ) ; Cache TTL negativo de 1 hora @ IN NS localhost. @ IN A 127.0.0.1
- db.127
- todo lo contenido en db.local, salvo la ultima línea que se sustituye con una resolución inversa
1.0.0 IN PTR localhost.
Observar que va sde detalla la dirección en orden inverso (peso de bytes)
Servidor primario
- Se pone también como cache
- type master
- zone Creamos la zona en este caso 'emiliojimneo.es.
- named.conf :
zone "emiliojimeno.es." in { type master; file "maestro/directo/db.emiliojimeno"; }; zone "172.139.16.in-addr.arpa" in { type master; file "maestro/inverso/db.172.136.16"; };
Servidor secundario
- typeslave
- Masters => poner la ip del maestro para que el secundario le pida información
- cuidado con los permisos del fichero
- se crea y actualiza por el sistema y lo hace el usuario de bind
named.conf :
// incluido la configuración del cache-only y añadiendo en options
forwarders { 155.210.154.131; }; allow-transfer { none; }; ........ zone "emiliojimeno.es." in { type slave; file "esclavo/directo/db.emiliojimeno"; Masters { ip_equimo_master; }; }; zone "172.16.139.in-addr.arpa" in { type slave; file "esclavo/inverso/db.172.16.139"; Masters { ip_equipo_master_resol_inversa; }; };
Herramientas de DNS
- 'dig'
- 'nslookup