DNS LSUB, GYSC, URJC
Qué es Las máquinas tienen direcciones 193.147.49.23 Los humanos usan nombres: google.es Quien traduce?
Por qué? Para una varias ip puedo tener el mismo nombre Si se cae una máquina, otra la reemplaza Cuantas máquinas son google.es?
DNS Protocolo para pedir traducciones entre nombres y direcciones IP Protocolo de nivel de aplicación UDP y TCP
Historia de DNS Años 70 un fichero HOSTS.TXT con las traducciones (gestión manual) Crece ARPANET: inmanejable 1983: Paul Mockapetris publica las primeras RFCs 1987 las revisa en RFC 1034 y 1035, más tarde ampliadas con muchas otras
DNS DNS: base de datos de traducciones Distribuida, clientes/servidores Nombres agrupados en dominio (.com) Dominios organizados en árbol
DNS El dominio de una máquina: concatenación de dominios hasta la raíz Separada por puntos: epsilon05.aulas.gsyc.es. Nombre completo (FQDN, Fully Qualified domain name): - máquina (epsilon05) - dominio en el que está (aulas.gysc.es)
DNS FQDN acaba estrictamente en. Puede omitirse salvo en mapas de dns (las tablas con las traducciones)
Dominios DNS Dominio raíz (root domain o dominio.) Gestionado por ICANN (Internet Corporation for Assigned Names and Numbers) Lo sirven los root nameservers
Dominios DNS Dominios de primer nivel (TLD, Top Level Domains): - - - - Dominios genériocos originales: com, edu, gov, mil, org, net, int Dominios genéricos modernos: aero, biz, coop, info, museum, name, pro, jobs, mobi, tel, travel, cat, asia Dominio infraestructura DNS: arpa Dominios código ISO del pais: uk, mx, ar, de, es, jp...
Dominios DNS. Dominio raíz Dominios com edu gov org es primer nivel Dominios sun mit lsub urjc segundo nivel etsii
Dominios DNS Los TLDs (top level, ej:.com) los asigna la ICANN Los de segundo nivel los gestionan organismos: registrars Algunos, varios registrars que compiten entre sí
Dominios y Zonas de DNS Organización o autoridad puede dividir un dominio en subdominios Los subdominios se pueden delegar (algunos, todos, ninguno) Zona: Subárbol de DNS administrado por una organización diferente del padre
Dominios y Zonas. es Zona Universidad urjc Zona Etsii escet etsii etsii ordenador0 ordenador0 ordenador0 ordenador0 ordenador0
Dominio Directo e Inverso Dominio in Directo: Nombre IP Inverso: IP Nombre
Dominio Inverso Hecho para que sea similar una petición directa in-addr.arpa 148.126.0.0 es el dominio inverso 126.148.in-addr.arpa Al invertir, igual estructura en árbol
Resolución de nombres 1. En Unix, /etc/nsswitch.conf qué fichero y en qué orden 2. Se consulta en la máquina local (en unix /etc/hosts) 3. Se habla con el DNS (en unix en /etc/resolv.conf)
Resolución de nombres, Windows 7 1. Se consulta el registro para ver en qué orden 2. Se consulta en la máquina local (%systemroot%\system32\drivers\etc\hosts) 3. Se habla con el DNS para el adaptador (en el registro, configuración del interfaz, registro)
Resolución de nombre: Windows 7 Inicio - Panel de Control - Redes e internet - Centro de Redes y Recursos compartidos - Cambiar la configuración del adaptador Doble click en el adaptador Propiedades - Propiedades TCP/IP v4 DNS, propiedades avanzadas
Resolución de nombres: Windows 7 Se pueden configurar: Obtener DNS por DHCP Primario y secundario Lista de DNSs Sufijos
Resolución de nombres: sufijos Cuando pongo un nombre como epsilon08 Se puede hacer que el sistema intente varios sufijos, ej. aulas.gsyc.es, gsyc.es: epsilon08.aulas.gsyc.es, epsilon08.gsyc.es
Resolución de nombres: sufijos En UNIX: /etc/resolv.conf search lsub.org En Windows, registro (configurado en propiedades avanzadas TCP/IP v4)
Edición de hosts en Windows Puede ser necesario desocultar el fichero Panel de Control - Apariencia y Personalización - Mostrar todos los archivos y carpetas ocultos Hay que editarlo como administrador Inicio, notepad, ctrl-shift-enter
Ejemplo de fichero hosts 193.128.5.42 maqmolona #maquinas de las aulas 193.128.4.19 epsilon03.aulas.gsyc.es epsilon03 193.128.4.20 epsilon04.aulas.gsyc.es epsilon04
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS ethernet IP UDP DNS Query:
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS ethernet IP UDP DNS Query:
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS ethernet IP UDP DNS Response:
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS ethernet IP UDP DNS Response:
Consulta DNS Usuario teclea http://www.google.es En su navegador Servidor DNS
Servidor DNS N servidores, sirve M dominios Un servidor puede no servir ningún dominio (pide a otros) Fichero: mapa del dominio Relación nombre-ip Subdominios y DNS de subdominios Todos saben las direcciones de los raíz
Servidor DNS Recibe una petición Sirve el dominio: contesta Si no: pregunta al raíz le da el DNS del TLD del FQDN (.es para www.google.es) Pregunta al DNS del TLD, le da el de segundo nivel (google.es) Pregunta al de último nivel, le da la IP contesta
Servidor DNS Se apunta todo lo que no sabía para contestar directamente Esto se llama caching, y dónde lo guarda, caché Lo guarda un tiempo y lo tira (ttl, en el mapa y en la respuesta) El navegador y otras aplicaciones tienen otra caché
Consultas Recursiva: como en el ejemplo anterior Iterativa: dame lo que sepas sin preguntar a nadie Típicamente un servidor DNS a otro Siempre que se puede, caché (atajo)
Servidores, maestro/ esclavo Suele haber varios servidores por dominio maestro tiene el mapa Hay un maestro primario (sólo uno) puede haber otros, se actualizan usando algo fuera de DNS esclavo se lo pide al maestro arrancar con transferencias de zona (mensajes de DNS)
Autoridad Respuesta del propio servidor del dominio: authoritative De otro: non authoritative Se suele ignorar
Root nameservers Hay 13 nombres, unas 200 máquinas: A.root-servers.net, B.root-servers.net... Se habla con ellos usando anycast Los mapas se transfieren entre ellos por mecanismos externos Su localización está protegida
Root Nameservers
Forwarder Un servidor DNS, que actúa más como un cliente Configurado para hacer todas sus búsquedas recursivas Aprovechamos su caché Por ejemplo, tenemos una mala conexión (una petición de DNS en lugar de muchas)
Mapas de dominio Conjunto de registros de recurso, RR 5 campos - Nombre: puede ser @ o vacío para el raíz del dominio - Tiempo de vida: ttl, tiempo en las cachés - Tipo - Valor
Tipo SOA: State Of Authority, info del dominio, servidores, administrador, etc. NS: Nameserver, identifica un servidor de nombres A: Asocia a un nombre a una IP MX: Define un servidor de correo para el dominio CNAME: Asocia un alias a otro nombre HINFO: Tipo de máquina y sistema operativo de un nombre TXT: Info adicional en formato de texto libre para un nombre SRV: Qué máquina da un servicio (generalización de MX) PTR: Asocia un nombre a una IP en el dominio inverso
2002022401 ; numero de serie, incrementar en cambios $TTL 86400 ; 24 horas en segundos, se puede escribir 24h o 1d $ORIGIN ejemplo.com. ; se pega al final a los nombres no acabados en.! ;nombre TTL Clase Tipo Valor @ 2D IN SOA ns1.ejemplo.com. hostmaster.ejemplo.com. ( ; actualizar esclavos, etc. 3H ; tiempo de refresco 15 ; tiempo de reintento 1w ; tiempo de expiracion 3h ; ttl para respuestas negativas (reintentos) ) IN NS ns1.ejemplo.com. ; en el dominio IN NS ns2.smokeyjoe.com. ; externo al dominio 10 IN MX mail.another.com. ; proveedor de correo externo ; servidores ns1 IN A 192.168.0.1 ;servidor de nombres www IN A 192.168.0.2 ;nombre servidor web ftp IN CNAME www.ejemplo.com. ;servidor ftp ; otras maquinas bill IN A 192.168.0.3 fred IN A 192.168.0.4
Protocolo de DNS Normalmente va sobre UDP, pero puede usar TCP Servidor de DNS escucha en 53 de UDP y 53 de TCP Servidor contesta con el mismo protocolo Si UDP más de 512 bytes (evitar fragmentación), flag y se reconsulta usando TCP Transferencias maestro-esclavo usan TCP
Mensajes DNS 16 bits 16 bits ID #consultas FLAGS #RRs resp. #RRs autor. #RRs adic. Consultas RRs resp. RRs autoridad RRs adicionales QR OPcode AA TC RD RA Zero RCode 1 4 1 1 1 1 3 4
Mensajes de DNS ID: identifica la petición/respuesta FLAGS: - QR: 0 consulta, 1 respuesta - Opcode: 0 estándar, 1 inversa, 2 petición de estado del servidor, 3 NOTIFY, 4 UPDATE - AA: 0 sin autoridad, 1 con autoridad - TC: 1 si se ha truncado - RD: 1 quiero recursión, 0 iterativa - RA: recursion available 1 el serv. acepta recursión - Zero: a cero, no se utilizan - Rcode: 0 no hay error, 1 error consulta, 2 error servidor, 3 error nombre no existe, 4 tipo de consulta no soportada, 5 consulta rechazada
Consultas 16 bits 16 bits ID #consultas FLAGS #RRs resp. #RRs autor. #RRs adic. Consultas RRs resp. RRs autoridad RRs adicionales Qname Qtype Qclass
Consultas Qname: nombre que se consulta Qtype: tipo (A, NS, MX), hay un tipo para solicitar consulta esclavo a maestro Qclass: clase de consulta 1 para IN (internet)
Mensajes DNS 16 bits 16 bits ID #consultas FLAGS #RRs resp. #RRs autor. #RRs adic. Consultas RRs resp. RRs autoridad RRs adicionales Name Type Class TTL RDLength RData
RRs de respuesta Name: nombre del RR Type: tipo (A, NS, MX) Class: clase, 1 para IN (internet) TTL: ttl RDLength: tamaño en bytes de RData RData: datos, depende del tipo
RRs de autoridad y adicionales RRs de autoridad: cero o mas RRs de tipo NS, aquí van también los que permiten seguir la búsqueda iterativa RRs adicionales: RRs extra. Aquí van las IP (RRs de tipo A) de los citados en los de autoridad. Todos los RR tienen el mismo formato descrito para los de respuesta
Notify Mensaje definido en RFC 1996 Maestro para notificar esclavos sin esperar timeout
Update RFC 2136 actualizaciones dinámicas de DNS Cambia el mapa de forma automática cuando se recibe Se les suele llamar DDNS (Dynamic DNS) P. ej. poner nombre a un servidor ADSL cuya ip va cambiando
Ver también RFC 1034: Domain Names: Concepts and Facilities RFC 1035: Domain Names: Implementation and Specification