Administración de servicios: DNS

De WikiEducator
Saltar a: navegación, buscar

Introduccion

  1. Sistema distribuido básico de gestión de nombres en internet
  2. A partir del nombre, obtener la IP
  3. También resolución inversa (Apartir de la IP ==> Nombre)


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-  rebecca-  AdminWeb
 172.16.139.2-  ulises-  AdminCorreo
 172.16.139.3-  raul -  AdminDNS
 172.16.139.4-  elena -  Admin
 172.16.139.5-  sergio-  AdminWeb2
 172.16.139.6-  miguel-  AdminCorreo2
 172.16.139.7-  mapi -  AdminDNS2
 172.16.139.8-  cristian -  Admin2
  ....
  • Gestión global
    • Usando el protocolo DNS
      • Sistema distribuido
      • Modelo cliente servidor
  • En una máquina se pueden combinar ambos
    • En ficheros /etc/host.conf o /etcnsswitch.conf
order hosts,bind
multi on


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.cpilossenlaces.edu.es?
    • Si el servidor lo sabe se lo da
La ip de www.cpilosenlaces.edu.es es 194.143.194.106
    • Si 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.cpilosenlaces.com no la se, pregunta a edu.es.
    • El servidor del dominio edu.es. nos dirá
La ip de www.cpilosenlaces.edu.es no la se, pregunta a cpilosenlaces.edu.es
    • El servidor del dominio cpilosenlaces.edu.es. nos dirá
La ip de www.cpilosenlaces.edu.es es 194.143.194.106
Este servidor seguro que lo sabe, ya que él es el responsable del dominio cpilosenlaces.edu.es


Componentes y configuración

  • Sintaxis de los nombres
    • Nos referimos al nombre completo de una máquina dentro de un dominio
www.daw2.informatica.cpilosenlaces.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

Dns nombre2.JPG

  • 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 dominio
cpilosenlaces.edu.es.
  • y quiero añadir un subdominio por ejemplo daw2.informatica, añadiré
daw2.informática 
  • y en realidad estoy creando
asir2.informatica.losenlaces.edu.es.
  • pero si añado
asir2.informática.losenlaces.edu.es
  • en realidad estoy añadiendo
daw2.informática.cpilosenlaces.edu.es.cpilosenlaces.edu.es.

Dns tipos.JPG

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
demonio named
  • Instalacion
apt-get install bind9 dnsutils

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 :
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.losenlaces";
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