Diferencia entre revisiones de «Usuario:ManuelRomero/modulo DNS»
De WikiEducator
(→Fichero named.conf) |
(→Componentes y configuración 2) |
||
(31 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 5: | Línea 5: | ||
<div class="slide"> | <div class="slide"> | ||
− | = | + | <div class="slide"> |
− | + | ||
− | + | ||
− | + | ||
− | </div> | + | === 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) | ||
+ | |||
+ | |||
+ | |||
+ | </div> | ||
− | |||
=== Formas de gestionar la resolución de nombres En Local === | === Formas de gestionar la resolución de nombres En Local === | ||
*Gestion local | *Gestion local | ||
Línea 18: | Línea 22: | ||
** En windows '''…/system32/drivers/etc/hosts''' | ** En windows '''…/system32/drivers/etc/hosts''' | ||
direccion ip - Nombre de máquina - aliases | direccion ip - Nombre de máquina - aliases | ||
− | 172.16.139.1- | + | 172.16.139.1- rebecca- AdminWeb |
− | 172.16.139.2- | + | 172.16.139.2- ulises- AdminCorreo |
− | 172.16.139.3- | + | 172.16.139.3- raul - AdminDNS |
172.16.139.4- elena - Admin | 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 | *Gestión global | ||
**Usando el protocolo DNS | **Usando el protocolo DNS | ||
Línea 28: | Línea 38: | ||
*En una máquina se pueden combinar ambos | *En una máquina se pueden combinar ambos | ||
**En ficheros /etc/host.conf o /etcnsswitch.conf | **En ficheros /etc/host.conf o /etcnsswitch.conf | ||
+ | order hosts,bind | ||
+ | multi on | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
=== Funcionamiento del dns === | === Funcionamiento del dns === | ||
*DNS Es un protocolo de nivel de aplicación de TCP/IP | *DNS Es un protocolo de nivel de aplicación de TCP/IP | ||
*DNS o ''''sistema de nombres de dominio''' se basa en | *DNS o ''''sistema de nombres de dominio''' se basa en | ||
− | *** un esquema jerárquizado (dominios y subdominios separados por .) | + | ***un esquema jerárquizado (dominios y subdominios separados por .) |
− | *** distribuido | + | ***distribuido |
− | *** su función es resolver nombres | + | ***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 | + | ****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 | ***Se basa en el concepto de dominio, utilizando para su gestión una base de datos (BBDD) distribuida | ||
+ | *El servidor raíz es el último punto (También conocido como dominio raíz, que no tiene ningún nombre asociado) | ||
+ | *Después de él viene el TLD (Top Level Domain), o dominio de más alto nivel.''.es,.com,.org'' | ||
+ | *Los dominios y subdominios que preceden en el nombre se van conociendo como dominios de segundo nivel, de tercer nivel,... | ||
*La administración de los dominios lo realizan las organizaciones responsables. | *La administración de los dominios lo realizan las organizaciones responsables. | ||
+ | ;ICANN (''Internet Corporation Assigned Names and Number'') organización responsable | ||
+ | : posee 13 servidores repartidos por todo el mundo, | ||
+ | :ellos se les denomina servidores raiz o Top Name Servers (TNS). | ||
+ | :Todos ellos tienen la misma información | ||
+ | *Se pueden ver en http://en.wikipedia.org/wiki/Root_nameserver, | ||
Evitamos posibilidad de duplicidad de nombres | Evitamos posibilidad de duplicidad de nombres | ||
*Los clientes con sus librerías pueden obtener información de los servidores | *Los clientes con sus librerías pueden obtener información de los servidores | ||
Línea 47: | Línea 68: | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
=== Funcionamiento del dns 2=== | === 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. | *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''' | *DNS funciona por defecto en el puerto '''53''' | ||
*usa UDP ''''TCP para comunicarse los servidores primarios y secundarios''' | *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. | + | *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. | + | 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.''' | No lo se pregunta a '''es.''' | ||
**En este caso es. nos dirá | **En este caso es. nos dirá | ||
− | La ip de www. | + | La ip de www.cpilosenlaces.com no la se, pregunta a edu.es. |
**El servidor del dominio edu.es. nos dirá | **El servidor del dominio edu.es. nos dirá | ||
− | La ip de www. | + | La ip de www.cpilosenlaces.edu.es no la se, pregunta a cpilosenlaces.edu.es |
− | **El servidor del dominio | + | **El servidor del dominio cpilosenlaces.edu.es. nos dirá |
− | La ip de www. | + | 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 ''' | + | Este servidor seguro que lo sabe, ya que él es el responsable del dominio '''cpilosenlaces.edu.es''' |
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
=== Componentes y configuración === | === Componentes y configuración === | ||
*Sintaxis de los nombres | *Sintaxis de los nombres | ||
**Nos referimos al nombre completo de una máquina dentro de un dominio | **Nos referimos al nombre completo de una máquina dentro de un dominio | ||
− | www. | + | www.daw2.informatica.cpilosenlaces.edu.es |
**Cadena de hasta 255 caracteres | **Cadena de hasta 255 caracteres | ||
**formado por etiquetas (recurso,dominio o subdominios), separados por puntos | **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 | **Las etiquetas mantienen una relación de jerárquica, de nivel superior a inferior en orden de derecha a izquierda | ||
− | [[Archivo: | + | [[Archivo:Dns_nombre2.JPG]] |
*No es sensible a mayúsculas y minúsculas | *No es sensible a mayúsculas y minúsculas | ||
*''''muy importante el punto final'''' | *''''muy importante el punto final'''' | ||
Línea 83: | Línea 106: | ||
***Si es relativo quiere decir que le falta algo que hay que añadir | ***Si es relativo quiere decir que le falta algo que hay que añadir | ||
Ejemplo | Ejemplo | ||
− | *Si estoy administrando el | + | *Si estoy administrando el dominio |
− | + | cpilosenlaces.edu.es. | |
− | *y quiero añadir un | + | *y quiero añadir un subdominio por ejemplo daw2.informatica, añadiré |
− | + | daw2.informática | |
*y en realidad estoy creando | *y en realidad estoy creando | ||
− | + | daw2.informática.cpilosenlaces.edu.es. | |
*pero si añado | *pero si añado | ||
− | + | daw2.informática.cpilosenlaces.edu.es | |
*en realidad estoy añadiendo | *en realidad estoy añadiendo | ||
− | + | daw2.informática.cpilosenlaces.edu.es.cpilosenlaces.edu.es. | |
[[Archivo:Dns_tipos.JPG|300px]] | [[Archivo:Dns_tipos.JPG|300px]] | ||
Línea 106: | Línea 129: | ||
*Servidor de nombres | *Servidor de nombres | ||
− | + | demonio named | |
+ | *Instalacion | ||
+ | apt-get install bind9 dnsutils | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | ===Fichero de configuración '''''named.conf'''''=== | ||
+ | ===Zona=== | ||
+ | [[Definicion|un dominio es el nombre que identifica de forma única un ente (organización, empresa, ...) en internet]] | ||
+ | Una zona es el conjunto de recursos (servicios, dispositivos y subdominios) de un dominio que un servidor gestiona de forma directa es la parte de un dominio que queda. | ||
+ | *Se dice entonces que el servidor tiene autoridad sobre esa zona | ||
+ | La información de una zona se almacena en un fichero. | ||
+ | Ese fichero contiene dos tipos de elementos | ||
+ | #directivas | ||
+ | #registros de recursos RR | ||
+ | {{Asignacion||'''''RR''''' Son '''''Registros de recursos''''' que usan la siguiente sintaxis | ||
+ | [domain] [ttl] [class] type rdata | ||
+ | }} | ||
− | === | + | {{Asignacion|Variables globales. Pueden ser una de las siguientes |
− | *Es el fichero de configuración de bind | + | $ORIGIN $INCLUDE $TTL, $GENERATE |
+ | }} | ||
+ | ====DIRECTIVAS==== | ||
+ | $TTL | ||
+ | $TTL tiempo_por_defecto [unidades]. | ||
+ | 1w 1 semanas | ||
+ | 1d 1 días | ||
+ | 1h 1 horas | ||
+ | 1m 1 minutos | ||
+ | 1 1 segundos | ||
+ | Directiva obligatoria a partir de BIND v.9. | ||
+ | Es el tiempo de vida (Time To Live), de la validez de la información que el fichero aporta. Una vez pasado este tiempo, l ainfomración deberá ser validada o refrescada. | ||
+ | Si no se especifican unidades se entenderá segundos. | ||
+ | Para cada RR se puede especificar de forma explícita su TTL. Si no se hace se tomará el especificado en esta directiva, o el especificado en el RR anterior en el campo minimun. | ||
+ | $INCLUDE | ||
+ | $INCLUDE nombre_fichero | ||
+ | Que hace que named incluya el contenido del fichero nombre_fichero en el lugar donde se use la directiva | ||
+ | $ORIGIN | ||
+ | $ORIGIN nombre_DE_DOMINIO | ||
+ | Establece el dominio por omisión; es decir indica el nombre de dominio que será añadido a los nombres de máquinas que acompañan a los registros de recurso que no acaban en punto . | ||
+ | Por ejemplo | ||
+ | $ORIGIN informatica.ieslosenlaces.com. | ||
+ | |||
+ | ...... | ||
+ | |||
+ | ftp IN A 192.168.10.54 | ||
+ | |||
+ | Es lo mismo que escribir | ||
+ | ftp.informatica.ieslosenlaces.com IN A 192.168.10.54 | ||
+ | |||
+ | $GENERATE | ||
+ | $GENERATE inicio-parada/[incremento] lhs type rhs [comment] | ||
+ | En cada valor del intervalo se genera una línea | ||
+ | Cada línea tendrá un valor que irá de forma creciente desde inicio hasta que se alcance el valor de parada, con un incremento en cada línea del valor especificado en incrementeo | ||
+ | Lhs y Rhs son las líneas que se formarán y en lugar donde se quiere que se sustituya por los valores se especificarán con $ | ||
+ | |||
+ | $GENERATE 1-32 puesto$.taller3.informatica.ieslosenlaces.com A 192.168.1.$ | ||
+ | |||
+ | 3.4.3.3. Registro de recursos | ||
+ | A continuación pasaremos a realizar una breve explicación de estas opciones, para a continuación poner un ejemplo. | ||
+ | [nombre][ttl][clase][tipo] | ||
+ | Nombre Aquí va el nombre del dominio (o de host) que el RR describe. Es un campo opción, en caso de que no se incluya, se asume el mismo que se puso para el RR anterior. Es el nombre del dominio que se va a resolver. MRM Si se incluye @ Estamos detallando el actual nombre de dominio | ||
+ | |||
+ | Ttl Con el fin de forzar al sistema DNS a descartar información después de cierto tiempo, cada RR lleva asociado un tiempo de vida o ttl6. El campo ttl especifica, el tiempo de validez de la información desde que se obtiene del servidor. Es un número decimal de hasta ocho dígitos. Si no se especifica ningún valor, tomará uno por defecto del campo minimum del registro SOA precedente. En el caso de la versión 9, se tomaría el de la directiva $TTL . | ||
+ | |||
+ | Class Aquí se indica la clase de dirección | ||
+ | IN para direcciones IP, | ||
+ | HS para objetos de la clase Hesiod. | ||
+ | CH Red de tipo Chaos | ||
+ | Trabajando con redes TCP/IP debe usarse siempre la clase IN. Si no se especifica ningún valor, se toma el valor del RR anterior. | ||
+ | Type Describe el tipo de RR. A continuación se lista una tabla con la información de los tipos que puede haber | ||
+ | | ||
+ | Grupo de RR Tipo NOMBRE FUNCION | ||
+ | Zona: | ||
+ | identifican dominios de zona y sus nombres de servidores | ||
+ | SOA Stara Of Autority Define una zona DNS con autoridad | ||
+ | NS Name Server Identifica zona de servidores y subdominio con delegaciones | ||
+ | Basico | ||
+ | Mapean nombres y direccions y retransmiten correos A Dirección IPv4 Traduca un nombre a ip de 32 bits | ||
+ | AAAA Dirección IPv6 original Ahora no se usa | ||
+ | A6 Dirección IPv6 Traduca un nombre a ip de 128 bits | ||
+ | PTR puntero Traduce ip a nombre | ||
+ | Dname Redirección | ||
+ | MX Mail eXchanger Controla el correo de retransmisión | ||
+ | Seguridad | ||
+ | Añade autentificación y firmas a los ficheros de zona KEY Clave Publica Clave pública para el nombre del DNS | ||
+ | NXT Next Usado con DNSSEC para respuesta negativas | ||
+ | SIG Signature Firma para autentificar la zona | ||
+ | Opcional | ||
+ | Aporta información extra acerca de hosts y dominios CNAME Canonical name Alias para un host | ||
+ | LOC Localizacion Localización geográfica | ||
+ | RP Persona Responsable Especifica información de contacto para un host | ||
+ | SRV servicio Da localizaciones para servicios conocidos MRM | ||
+ | TXT Texto Comentarios | ||
+ | |||
+ | |||
+ | |||
+ | Rdata Contiene los datos asociados al RR. El formato depende del tipo, y se describirán más adelante. | ||
+ | A continuación analizaremos los tipos de registros más utilizados | ||
+ | SOA NS A PTR MX | ||
+ | 3.4.3.3.1. SOA | ||
+ | Describe una zona de autoridad (SOA significa «Start of Authority», es decir, «Comienzo de Autoridad»). Señala que los registros siguientes contienen información autorizada para el dominio. Cada fichero incluido en la opción primary MRMdebe tener un registro SOA para esta zona. Los datos asociados contienen los siguientes campos: | ||
+ | Sintaxis: | ||
+ | SOA servidor responsable (parámetros) | ||
+ | |||
+ | Servidor Nombre de la máquina que hace de DNS Se suele usar ns (name server) seguido del nombre del dominio. Si se usa el mismo dominio que el definido en el fichero named.conf, se puede usar el comodín @. | ||
+ | Si el nombre del dominio no termina en punto, BIND, lo completa con el nombre del dominio | ||
+ | Responsable Cuenta de correo donde se referencia las incidencias | ||
+ | Parámetros Se especificarán los siguientes valores | ||
+ | Numero de serie Se puede especificar la fecha en la que se produjo la última actualización | ||
+ | Se suele expresar como número de versión en el día actual, es decir, en el formato AAAAMMDDnn siendo AAAA el año, MM el mes, DD el día y nn el número de revisión de ese día (01 si no hay más de una). Por ejemplo, | ||
+ | 2001072201 para el 22 de julio de 2001. El número de versión es utilizado por los servidores secundarios para saber cuándo la información de una zona ha cambiado. Para mantenerse actualizados, los servidores secundarios piden cada cierto tiempo el registro SOA del primario, y comparan el número de versión con el que tienen en la cache. Si ha cambiado, el servidor secundario pedirá de nuevo la información de zona al primario. | ||
+ | Periodo de refresco Periodo a partir del cual un servidor secundario realizará una actualización de datos del servidor maestro | ||
+ | No debe ser pequeño ya que un fallo temporal del servidor primario hará que el secundario cargue inútilmente la red. Buenas elecciones son una hora o como poco media hora | ||
+ | Frecuencia de reintentos Tiempo en segundos que debe de esperar un servidor secundario antes de volver a solicitar datos de actualización a un servidor primario | ||
+ | . | ||
+ | Tiempo de expiración Tiempo máximo que será mantenida la información sin actualizar. | ||
+ | Normalmente se pondrá un valor grande, de por lo menos una semana (604800 segundos), aunque si se incrementa a un mes o más será incluso más razonable | ||
+ | TTL minimun Tiempo en el que la información de este recurso es válida. Se pueden usar las mismas unidades que en el $TTL | ||
+ | Un ejemplo de registro SOA podría ser | ||
+ | @ IN SOA ns root.localhost. { | ||
+ | 2008310101 ;Número de serie | ||
+ | 21600; Periodo de refresco en sg. (6h) | ||
+ | 10800; Frecuencia de reintento en sg. (3h) | ||
+ | 604800; tiempo de expiración en sg | ||
+ | 21600; tiempo de vida de los registros en cache | ||
+ | } | ||
+ | 3.4.3.3.2. Registro NS | ||
+ | Este registro sirve para indicar el nombre de los servidores de nombres de dominio que tienen autoridad. Apunta a un servidor de nombres maestro de una zona subordinada. El campo de datos contiene el nombre del servidor. | ||
+ | Para traducir ese nombre debe proporcionarse un registro A adicional, que se conoce como glue, al proporcionar la dirección IP del servidor. | ||
+ | Hay que incluir registros NS en dos casos: | ||
+ | Cuando delegamos la autoridad a una zona subordinada. | ||
+ | En la base de datos del servidor principal de cualquier zona. | ||
+ | Los servidores NS especificados en el fichero de zona deben coincidir exactamente con los que especifica la zona padre que delega. | ||
+ | El registro NS especifica el nombre del servidor de nombres primario y los secundarios para una zona. Estos nombres deben poderse resolver para poderse usar. | ||
+ | A veces los servidores pertenecen al mismo dominio que sirven, lo que ocasiona un problema de el huevo o la gallina: no podemos obtener el servidor de nombres hasta que accedamos al dominio, pero para acceder el dominio hay que conocer la IP del servidor de nombres... Para resolver este problema se crean registros A direectamente en la zona padre, para resolver esas direcciones. Estos son los que ya comentamos antes, los registros glue (podríamos traducirlos como registros-pegamento), puesto que unen o pegan la zona hija a la zona padre. | ||
+ | Sintaxis | ||
+ | Propietario ttl IN NS NombreServidorNombreDominio | ||
+ | Ejemplo | ||
+ | iesenlaces.com IN NS pc10.iesenlaces.com | ||
+ | informatica.desenlaces.com IN NS pc11.informatica.iesenlaces.com | ||
+ | |||
+ | |||
+ | 3.4.3.3.3. Registro A | ||
+ | Asocia direcciones IP con nombres, de modo que los clientes puedan solicitar la dirección IP de un nombre de host dado. | ||
+ | |||
+ | El campo de datos contiene la dirección separando por puntos, como es habitual. | ||
+ | Para cada máquina sólo puede haber un registro A, que se considera nombre oficial | ||
+ | Cualquier otro nombre será un alias y debe ser incluido con registros CNAME. | ||
+ | Ejemplo | ||
+ | Pc10.desenlaces.com. IN A 192.10.15.1 | ||
+ | Pc11.informatica.iesenlaces.com. IN A 192.10.10.10 | ||
+ | 3.4.3.3.4. Registro MX | ||
+ | Es el registro de recurso de intercambio de correo (MX Mail eXchange), y especifica yn servidor de intercambio de correo para un nombre de dominio. | ||
+ | Puesto que un mismo dominio puede contener diferentes servidores de correo, el registro MX puede indicar un valor numérico que permite especificar el orden en que los clientes deben intentar contactar con dichos servidores de correo. | ||
+ | sintáxis | ||
+ | [domain] [ttl] [class] MX preference host | ||
+ | |||
+ | Ejemplo | ||
+ | Desenlaces.com. IN MX 0 pc10.iesenlaces.com. | ||
+ | En este caso estamos definiendo el pc10 como servidor de correo del dominio desenlaces.com. | ||
+ | 3.4.3.3.5. Registro CNAME | ||
+ | El registro de nombre canónico (Canonical NAME) crea un alias o sinónimo para el nombre de domino especificado. | ||
+ | Por ejemplo si queremos asignar al pc10 el alias de ServidorDeCorreo | ||
+ | ServidorDeCorreo.ieslosenlaces.com. IN CNAME pc10.ieslosenlaces.com. | ||
+ | |||
+ | |||
+ | 3.4.3.3.6. PTR | ||
+ | Este registro de recurso (PoinTeR) o puntero, realiza la acción contraira al registro de tipo A, es decir asigna un nombre de dominio a una dirección IP | ||
+ | Es el registro utilizado en la denominada resolución inversa | ||
+ | Ejemplo | ||
+ | 192.10.15.1 IN A Pc10.desenlaces.com. | ||
+ | 192.10.10.10 IN A Pc11.informatica.iesenlaces.com. | ||
+ | |||
+ | |||
+ | # | ||
+ | |||
+ | Ese | ||
+ | |||
+ | ===Tipos de servidores=== | ||
+ | * Los servidores DNS pueden ser | ||
+ | #Primarios | ||
+ | #Secundarios | ||
+ | #Cache-only | ||
+ | *La resolución (dado un nombre obtener una ip o viceversa) puede ser | ||
+ | #Directa IP ==> Nombre | ||
+ | #Inversa Nombre ==> IP | ||
+ | ===Servidor Zonal: primario, secundario=== | ||
+ | *Responder aquellas consultas que recibe sobre zonas que tiene configuradas localmente | ||
+ | Existen dos tipos distintos de servidores zonales | ||
+ | #primarios | ||
+ | #secundarios | ||
+ | *Funcionalmente son idénticos | ||
+ | *Administrativamente sólo en el servidor primario se debe de realizar los cambios del contenido de una zona | ||
+ | *El servidor secundario es la réplica que se actualizará automáticamente | ||
+ | ===Serividor Cache=== | ||
+ | *Responde las consultas que recibe de sus clientes | ||
+ | *Lo hace '''''sin''''' autoridad | ||
+ | *Para obtener la respuesta | ||
+ | #consulta a los servidores zonales adecuados | ||
+ | #consulta en su propia caché (si tiene dicha información ya ha consultado anteriormente y dicha información aún no ha expirado). | ||
+ | ===Resolución Directa / Inversa=== | ||
+ | |||
+ | ===Instalar y configurar DNS=== | ||
+ | ;Instalación | ||
+ | :Paquetes básicos | ||
+ | #bind9; | ||
+ | #dnsutils. | ||
+ | :Utilidades | ||
+ | #bind9-host; | ||
+ | #dns-browse; | ||
+ | #dnscvsutil; | ||
+ | #nslin | ||
+ | :Docuemtación | ||
+ | #bind9-doc. | ||
+ | :Paquetes de desarrollo | ||
+ | #libbind-dev; | ||
+ | #libnet-dns-perl. | ||
+ | :Si configuramos DHCP | ||
+ | #dhcp-dns. | ||
+ | ;Configuración | ||
+ | *Se realiza en el fichero ''''' .named.conf''''' Es el fichero de configuración de bind | ||
*En el realizamos una serie de declaraciones, cada una de las cuales va {} | *En el realizamos una serie de declaraciones, cada una de las cuales va {} | ||
− | + | ;Declaracion include | |
− | :Declaracion options | + | :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 | ||
+ | ::'''directory'''directorio por defecto de trabajo a partir del cual se buscaran ficheros especificados | ||
+ | ::'''forwad'''comportamiento de reenvio de la directiva ''''forwarders'''' | ||
+ | ::'''forwardes'''direcciones 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 | :Declaracion zone | ||
− | :Declaracion acl | + | ;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''' | acl '''nombre_lista''' | ||
{ 192.168.10.1/24 ==>ip 1 | { 192.168.10.1/24 ==>ip 1 | ||
Línea 128: | Línea 416: | ||
;;localnet ==> ip que cuya red coincida con la red de la ip del sistema local | ;;localnet ==> ip que cuya red coincida con la red de la ip del sistema local | ||
;;none ==> no concuerda ninguna direccion ip | ;;none ==> no concuerda ninguna direccion ip | ||
− | ;Una vez creada la lista de acceso hay que otorgarle o quitarle el acceso | + | ;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 key | ||
+ | :Declaracion de claves para llevar a cabo actuaciones que queremos que requiran de seguridad | ||
+ | |||
:Declaracion loggins | :Declaracion loggins | ||
+ | |||
+ | |||
:Declaracion servers | :Declaracion servers | ||
Línea 145: | Línea 436: | ||
=== Configuración del cliente '''resolver'''=== | === 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 | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
=== Configuración del servidor=== | === 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"; | ||
+ | }; | ||
</div> | </div> | ||
Línea 154: | Línea 475: | ||
<div class="slide"> | <div class="slide"> | ||
=== Servidor solo cache=== | === 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 === | === 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 === | === Servidor secundario === | ||
− | + | *type'''slave''' | |
+ | *'''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 === | === Herramientas de DNS === | ||
− | + | *''''dig'''' | |
+ | *''''nslookup''' |