DNS Zone Transfer PDF

Summary

This document explains the concept of DNS zone transfer. It details how DNS servers manage information within a zone, and differentiates between domains and zones. The document also describes elements like primary and secondary DNS servers, caching DNS servers, and methods like delegation.

Full Transcript

3. Primary and secondary DNS servers. DNS zone transfer We know that the domain name system is based on a client-server architecture. DNS name servers are programs that store and manage information in the database of a part of the namespace called a zone. A zone is part of the domain namespace man...

3. Primary and secondary DNS servers. DNS zone transfer We know that the domain name system is based on a client-server architecture. DNS name servers are programs that store and manage information in the database of a part of the namespace called a zone. A zone is part of the domain namespace managed by one (or more) DNS servers. The servers that manage the zone have complete information about the zone and are said to have authority over it. A domain is divided into subdomains for easy administration, and each part managed by one (or more) DNS servers is a zone. That is, the domain is the namespace tree and the zone is the part of the tree managed by a specific domain name server. The following figure shows a namespace with four zones and fourteen domains. In the figure you can see as many domains as boxes of letters, grouped into four zones. The domain name corresponding to each zone (named after its top node) is A, B.A, C.A, I.C.A. Each of these four zones will have one (or more) DNS servers to manage it. In general, we can say that a zone contains the complete information of the computers that form the domain corresponding to the zone and of the computers of the subdomains that have not been delegated. This information is stored in the zone database. Therefore, it should be clear that domain and zone are not equivalent concepts (although they may coincide): Domain, it is the namespace tree. Zone, it is the part of the tree managed by a specific DNS server. 1 Zone database, it is formed by the files that store the description of the computers that belong to the zone. Delegation, it consists of transferring the management authority of one subdomain to another entity. Thus, delegating the administration of a subdomain is passing the authority over that subdomain to another entity (to other DNS servers). This entity is responsible for the administration of the delegated zone and has all the authority to do and undo at his discretion. The parent zone loses administrative control of the delegated zone and simply points to the delegated zone name servers for information when required. The DNS standard states that two or more authoritative servers must be configured for each zone, called primary server and secondary server. The reason is to provide a mechanism of redundancy, robustness, performance and backup. If the name server fails, and it is unique, the network will possibly crash and become inoperable. Primary and secondary servers are authority. Only the primary server has the zone files. The secondary obtains a copy of the database by zone transfer. In addition to the primary (master) and secondary (slave) servers mentioned above, there is also another type of server, the caching DNS server. Caching DNS servers only handle queries from DNS clients about domain names. They do not contain any information about the zone and their main purpose is to speed up queries. De bon començament sabem que el sistema de noms de domini està basat en una arquitectura client- servidor en què els clients faran preguntes del tipus "quina IP té aquest domini?", i els servidors miraran de contestar-les. Els servidors de noms DNS són els programes que emmagatzemen i gestionen la informació en la base de dades d'una part de l'espai de noms anomenada zona. Una zona és part de l'espai de noms de domini gestionada per un (o més) servidors DNS. Els servidors que gestionen la zona tenen informació completa sobre la zona i es diu que tenen autoritat respecte a ella. De bon principi podríem pensar que un servidor DNS gestiona un domini i que una zona és el mateix que un domini, però això no ha de ser necessàriament així. Un domini es divideix en subdominis per facilitar-ne l'administració, i cada part administrada per un (o més) servidor DNS és una zona. El domini és l'arbre de l'espai de noms i la zona és la part de l'arbre administrada per un servidor de noms de domini concret. En la figura següent es pot veure un espai de noms amb quatre zones i catorze dominis. En la figura es poden veure tants dominis com requadres de lletres agrupats en quatre zones. El nom de domini corresponent a cada zona (s'anomenen segons el seu node superior) és A, B.A, C.A, I.C.A. Cada una d'aquestes quatre zones tindrà un (o més) servidors DNS per gestionar-la. En general, podem dir que una zona conté la informació completa dels equips que formen el domini corresponent a la zona i dels equips dels subdominis que no s'hagin delegat. Aquesta informació s'emmagatzema en la base de dades de zona. Convé tenir clar en tot moment que domini i zona no són equivalents (tot i que poden coincidir). El domini és l'arbre de l'espai de noms. La zona és la part de l'arbre administrada per un servidor DNS concret. La base de dades de zona la formen els fitxers que emmagatzemen la descripció dels equips que pertanyen a la zona. La delegació consisteix a passar l'autoritat de la gestió d'un subdomini a una altra entitat. Delegar l'administració d'un subdomini no és més que passar l'autoritat sobre aquest subdomini a una altra entitat (a uns altres servidors DNS). Aquesta entitat és la responsable de l'administració de la zona delegada. Té tota l'autoritat per fer i desfer al seu criteri. La zona pare perd el control administratiu de la zona delegada i simplement apunta als servidors de noms de la zona delegada per obtenir informació quan la requereix. L'estàndard que defineix el DNS estableix que cal configurar dos o més servidors autoritaris per a cada zona anomenats servidor primari i servidor secundari. El motiu és proporcionar un mecanisme de redundància, 2 robustesa, rendiment i còpia de seguretat. Si el servidor de noms falla i és únic possiblement la xarxa caurà, serà inoperativa. Els servidors primari i secundari són autoritat. Només el primari té els fitxers de zona. El secundari n'obté una còpia per transferència de zona. A banda dels servidors primaris (mestres) i secundaris (esclaus) esmentats anteriorment hi ha també un altre tipus de servidors, els servidors DNS caché (cau). Els servidors DNS caché sols atenen consultes dels clients DNS sobre noms de domini. No conté cap informació sobre la zona i la seua utilitat principal és accelerar les consultes. 4. Name Resolution Very often in user and system applications, resources are accessed by their domain name. For example, a web client that requires a certain web page. In this case it is necessary to answer the question: what IP address does this domain correspond to? This question is not answered by the applications individually, but by using the resolver to do so. The resolver is the client part of the DNS client-server architecture. It has to meet the needs of the applications, make a query, send it to a DNS server, obtain the answer and pass it to the corresponding application. The resolution The DNS name resolution mechanism consists of a client or resolver that will make the queries to be resolved to a DNS server. If the server has the information, because it is part of the database of its zone, it will emit an authoritative response. If it has the response, because it has it temporarily stored (in a process called cache), it will also emit the response, but this time in a non-authoritative way. If the server does not have information on the requested domain, the server may ask other servers for the same query in a process that may be recursive or iterative. There is always a way to find the domain you are looking for, which is to ask the root servers in the domain name space. Starting from the root nodes and going down the tree, you can get to the domain you are looking for, if it exists. Recursive and iterative modes When the client or resolver issues a query to the local DNS server (the name server that the client has configured), it can process the query recursively or iteratively. The difference between one mode and the other is how the DNS server has to act to obtain the answer when it does not have it in its database. In iterative mode the server returns the best possible answer based on its local information, without asking anyone else. In recursive mode the server tries to find the answer, asking as many other servers as necessary in order to get it. Recursion 3 When a server receives a query from a client it looks at the local database in its zone. If the data is not part of its namespace and is not in the cache, the recursive mode instructs the server to recursively query other servers, getting closer to the requested domain at each step. If the server does not know of any server closer to the requested domain to query, it ends up querying the root name servers. If all recursive processes ended up querying the root nodes, they would be saturated. The server that has received the query from the client (resolver) queries the closest node to the searched domain. In this way, if it knows of a name server that is closer, it asks it and avoids going to the root. Another way to avoid overloading the root nodes is to use the information saved from previous queries, which is stored locally in the server cache. Recursive DNS Query Notice that a server that receives a recursive query from the resolver has the task of finding the answer for it. This server could repeat the same query to the nearest server making it recursive. However, this would require the other server to do all the work. Usually the client queries its DNS server recursively, and the servers query each other iteratively. (See figure below) Iteration In iterative mode, a server gives the best possible response based on its own information (local zone database and cache). In no case it consults any other server. If it does not have the answer, it returns a list of the servers closest to the domain being searched. The client (resolver) makes a recursive query to its local DNS server. If the DNS server has the answer, it returns it. It can be from its own zone and will be an authoritative response or it can be cached and will be a non-authoritative response. If local server does not have the answer, it iteratively queries other servers approaching the searched domain. Each server that is queried iteratively can provide the answer 4 (authoritative or not), if it knowns it, or a list of authoritative DNS servers for the indicated domain. Iterative Search Forwarder server We have seen that when a DNS server receives a query about a domain name for which it has no information, it can ask other DNS servers. If the query is forwarded to another DNS server to perform the task of resolving the domain name, the latter is called a forwarder. Therefore, a forwarder is a DNS server that other DNS servers designate to forward queries to. They are used to minimize queries and DNS request traffic from a network to the Internet. In addition, it allows local computers to share the DNS cache of the forwarder, minimizing response times. Thus, unresolved resolution requests on the local DNS server must be forwarded to the forwarder server. Usually, the DNS servers provided by the Internet Service Provider (ISP) are configured to perform this task. Tot sovint en les aplicacions d'usuari i de sistema s'accedeix a recursos pel seu nom de domini. Per exemple, un client web que requereix una determinada pàgina web. En aquest cas caldrà resoldre una pregunta del tipus, aquest domini a quina adreça IP correspon? Aquesta pregunta no la responen les aplicacions individualment, sinó que utilitzen el resolver per fer-ho. El resolver és la part client de l'arquitectura client-servidor del DNS. Ell ha d'atendre les necessitats de les aplicacions, confeccionar una consulta o query, fer-la a un servidor DNS, obtenir la resposta i passar-la a l'aplicació pertinent. La resolució El mecanisme de resolució de noms DNS consta d'un client o resolver que realitzarà les consultes (o querys) a resoldre a uns servidors DNS. Si el servidor disposa de la informació, perquè forma part de la base de dades de la seva zona, emetrà una resposta autoritativa. Si disposa de la resposta, perquè la té emmagatzemada temporalment (en un procés anomenat cache), també emetrà la resposta, però aquest cop de manera no autoritativa. Si no té informació del domini buscat, el servidor pot fer a altres servidors la mateixa consulta en un procés que pot ser recursiu o iteratiu. 5 Sempre existeix un camí per trobar el domini buscat, que és preguntar als nodes arrel (root servers) de l'espai de noms de domini. Partint dels nodes arrel i recorrent l'arbre cap avall, es pot arribar al domini buscat, si és que existeix. Recursió i iteració Quan el client o resolver emet una consulta al servidor DNS local (el servidor de noms que té configurat), aquest la pot tractar de manera recursiva o iterativa. La diferència entre un mode i l'altre és com ha d'actuar el servidor DNS per obtenir la resposta quan no la té en la seva base de dades d'informació. En mode iteratiu el servidor retorna la millor resposta possible basada en la seva informació local, sense preguntar a ningú més. En el mode recursiu el servidor intenta trobar la resposta, preguntant a tants altres servidors com calgui per tal d'obtenir-la. Recursió Quan un servidor rep una consulta del client mira la base de dades local de la seva zona. Si la dada no forma part del seu espai de noms ni es troba en la cache, el mode recursiu mana al servidor anar preguntant recursivament a altres servidors, apropant-se més a cada pas al domini sol·licitat. Si el servidor no coneix cap servidor més proper al domini buscat a qui preguntar, acaba preguntant als servidors de l'arrel (root name servers). Si tots els processos recursius acabaren preguntant als nodes arrel, aquests es saturarien. El servidor que ha rebut la consulta del resolver pregunta al node més proper al domini buscat. Si coneix algun servidor de noms més proper, li ho pregunta i s'evita d'anar a l'arrel. Una altra manera d'evitar la sobrecàrrega dels nodes arrel és l'ús de la informació emmagatzemada de consultes anteriors, que es desa localment en la cache del servidor. Fixeu-vos que un servidor que rep una consulta recursiva del resolver té la feina d'esbrinar per a ell la resposta. Podria repetir la mateixa consulta al servidor més proper fent-la recursiva. Això exigiria a l'altre servidor fer tota la feina. Usualment el client consulta el seu DNS de manera recursiva, i els servidors es consulten entre ells de manera iterativa. Iteració En mode iteratiu, un servidor dóna la millor resposta possible basant-se en la pròpia informació (base de dades de zones locals i del cache). En cap cas consulta cap altre servidor. Si no disposa de la resposta, lliura una llista amb els servidors més propers al domini que es busca. El client resolver fa una consulta recursiva al seu servidor DNS local. Si el servidor DNS disposa de la resposta, la torna. Pot ser de la seva zona i serà una resposta autoritativa o pot tenir-la en cache i serà no autoritativa. Si no disposa de la resposta, consulta iterativament altres servidors apropant-se al domini buscat. Cada servidor que consulta iterativament li pot proporcionar la resposta (autoritativa o no) si la coneix, o una llista de servidors DNS autoritatius per al domini indicat. Servidor reenviador (forwarder) Hem vist que quan un servidor DNS rep una pregunta sobre un nom de domini del que no disposa de informació pot preguntar a altres servidor DNS. Si es reenvia la consulta a un altre servidor DNS per a que s'encarregue de resoldre el nom de domini, aquest últim s'anomena reenviador (forwarder). Per tant, un reenviador (forwarder) és un servidor DNS que altres servidors DNS designen per a reenviar-li consultes. S'utilitzen per a minimitzar les consultes i el tràfic de peticions DNS des d'una xarxa cap a Internet. A més, permet als equips locals compartir la caché DNS del reenviador (forwarder), minimitzant els temps de resposta. Així, les peticions de resolució no solucionades en el servidor DNS local es deurien reenviar al servidor reenviador (forwarder). Habitualment es configuren els servidors DNS proporcionats pel Proveidor d'Internet (ISP) per a fer esta tasca. Reverse Resolution The DNS provides a mechanism to obtain the domain name to which an IP address corresponds. This mechanism, called reverse resolution, is based on a special domain called in-addr.arpa. There are network protocols that require a correct reverse resolution to work properly. It is also often used as a security measure to verify the existence of the IP address in a domain. 6 A domain name in-addr.arpa has been created to represent all possible IP addresses in the form of a domain name. The format uses numeric labels from 0-255, representing each octet of an IP address. These octet labels are concatenated in reverse order and the suffix in-addr.arpa is added. So, a domain name with four octet labels corresponds to a host, while a domain name with fewer labels corresponds to a network. In the following image we can see that the IP address 209.132.177.110 resolves the name rhn.redhat.com. 7 The DNS protocol The domain name service uses the DNS protocol to perform queries and responses. It is an application layer protocol that can use both UDP and TCP at the transport layer. Usually, both client queries and server responses can be placed in a datagram (512 Bytes) and UDP is used, (in fact, DNS is generally said to use UDP). However, if the information to be transmitted is extensive (for example, a response with a list with a lot of information), the communication is automatically switched to TCP. Another case in which the communication is TCP is when a zone transfer is performed between primary and secondary servers. The DNS server uses the privileged port 53. 8 So, the DNS protocol is usually UDP, but can be TCP and UDP. It is an application layer protocol and uses port 53. DNS communication is a query/response mechanism between client and server. DNS messages are composed of several sections: HEADER. The message header indicating whether it is a query or an answer. QUESTION. This section contains the query that has been made. ANSWER. Section containing the answer obtained from the server. (non- authoritative answer) AUTHORITY. This section contains the answers that are authoritative. ADDITIONAL. Contains additional information to complete the answer. Root servers A root name server is a name server that responds directly to requests for records from the root zone, and responds to other queries by returning a list of accredited Top Level Domain (TLD) name servers. Root name servers are a critical part of the Internet infrastructure, as they are the first step in the translation (resolution) of domain names into IP addresses. We currently have 13 root servers. The execution of the command dig without parameters gives us the complete list of root servers. Resolució inversa El DNS proporciona un mecanisme per obtenir el nom de domini a què correspon una adreça IP. Aquest mecanisme, anomenat resolució inversa, es basa en un domini especial anomenat in-addr.arpa. Hi ha protocols de xarxa que requereixen una resolució inversa correcta per funcionar bé i sovint s'utilitza com a mesura de seguretat per verificar l'existència de l'adreça IP en un domini. S'ha ideat un domini de nom in-addr.arpa que permet representar en forma de nom de domini totes les adreces IP possibles. El format són etiquetes numèriques del 0-255 que representen cada octet d'una adreça IP. Les etiquetes dels octets es concatenen en ordre invers i se'ls afegeix el sufix in-addr.arpa. Un nom de domini amb quatre etiquetes d'octets correspon a un node, un nom de domini amb menys etiquetes correspon a una xarxa. En la imatge següent podem observar que l'adreça IP 209.132.177.110 resol el nom rhn.redhat.com. El protocol DNS El servei de noms de domini utilitza el protocol DNS per fer les consultes i les respostes. Es tracta d'un protocol de capa d'aplicació que pot utilitzar tant UDP com TCP en la capa de transport. Usualment, tant les consultes del client com les respostes del servidor es poden encabir en un datagrama (512 bytes) i s'utilitza UDP (de fet, generalment es diu que el DNS usa UDP). Però si la informació a transmetre és àmplia (per exemple, una resposta amb una llista amb molta informació), la comunicació es passa a TCP automàticament. Un altre cas en què la comunicació és TCP és quan es realitza la transferència d'informació d'una zona entre servidors primaris i secundaris. El servidor DNS utilitza el port privilegiat 53. El protocol DNS és usualment UDP, però pot ser TCP i UDP. Es tracta d'un protocol de capa d'aplicació i utilitza el port 53. La comunicació DNS és un mecanisme de consulta/resposta entre el client i el servidor. Els datagrames, doncs, seran de query (consulta) o answer (resposta). Els apartats que componen un missatge DNS són: HEADER. Capçalera del missatge indicant si és una consulta o una resposta. QUESTION. Aquesta secció conté la consulta que s'ha efectuat. ANSWER. Secció que conté la resposta obtinguda del servidor. (resposta no autoritativa) AUTHORITY. Aquesta secció conté les respostes que són autoritatives. ADDITIONAL. Conté informació addicional per completar la resposta. 9 Servidors arrel Un servidor arrel de noms és un servidor de noms que respon directament les peticions de registres de la zona arrel i respon altres consultes tornant una llista de servidors acreditats de noms del domini de primer nivell adient (TLD). Els servidors arrel de noms són una part crítica de la infraestructura de l'Internet, ja que són el primer pas en la traducció (resolució) dels noms de servidors entenedors pels humans en adreces IP que s'utilitzen entre amfitrions d'Internet. Actualment disposem de 13 servidors arrels. L'execució del comandament dig sense paràmetres ens torna la llista completa de servidors arrel. 10

Use Quizgecko on...
Browser
Browser