Documente Academic
Documente Profesional
Documente Cultură
DNS Parte 1
DNS a abreviatura de Domain Name System. O DNS um servio de resoluo de nomes. Toda comunicao entre os computadores e demais equipamentos de uma rede baseada no protocolo TCP/IP feita atravs do nmero IP, porm no seria nada produtivo se os usurios tivessem que decorar/consultar uma tabela de nmeros IP toda vez que tivessem que acessar um recurso da rede. Por exemplo, voc digita http://www.linux.com/, sem ter que se preocupar e nem saber qual o nmero IP do servidor onde est hospedado o site. Mas algum tem que fazer este servio, pois quando voc digita http://www.linux.com, o protocolo TCP/IP precisa descobrir (o termo tcnico resolver o nome) qual o nmero IP est associado com o endereo digitado. Se no for possvel descobrir o nmero IP associado ao nome, no ser possvel acessar o recurso desejado. O papel do DNS exatamente este, descobrir, ou usando o termo tcnico, resolver um determinado nome, como por exemplo www.linux.com. Resolver um nome significa, descobrir e retornar o nmero IP associado com o nome. Em palavras mais simples, o DNS um servio de resoluo de nomes, ou seja, quando o usurio tenta acessar um determinado recurso da rede usando o nome de um determinado servidor, o DNS o responsvel por localizar e retornar o nmero IP associado com o nome utilizado. Durante os anos 70, Arpanet era uma pequena comunidade de algumas centenas de hosts. Um nico arquivo, o HOSTS.TXT, continha toda a informao necessria sobre os hosts. Com o crescimento da ARPANET, entretanto, este esquema tornou-se invivel. O tamanho do arquivo HOST.TXT crescia na proporo em que crescia o nmero de hosts. Alm disso, o trfego gerado com o processo de atualizao crescia em propores ainda maiores uma vez que cada host que era includo no s significava uma linha a mais no arquivo HOST.TXT, mas um outro host atualizando a partir do SRI-NIC. Principais problemas que passaram a existir com o HOST.TXT: * Trfego e Carga: os problemas com trfego na rede e carga do processador tornaram-se insuportveis.
1
Se voc colocar no seu navegador http://216.34.181.51 acessar o site corretamente. Mas como o comando dig fez para conseguir o IP 216.34.181.51? Nosso sistema faz as seguintes etapas: primeiro verifica se o www.linux.com existe no /etc/hosts. Se no, ele usar um dos name servers em /etc/resolv.conf e ir perguntar para eles. Agora que comea a ficar interessante. Os IPs que colocamos no /etc/resolv.conf chamamos de servidores de cache ou simplesmente "resolvers" (resolvedores). Eles buscam os nomes na internet e armazenam uma cpia em memria (cache). A pergunta chega para o nosso DNS cache vindo de nossa mquina.
2
O DNS hierrquico pois baseado em conceitos tais como espao de nomes e rvore de domnios. Assim existe isolamento de nomes e delegao de autoridade. Nesta Figura apresentada uma viso abreviada da estrutura do DNS definida para a Internet. O principal domnio, o domnio root, o domnio de mais alto nvel foi nomeado como sendo um ponto (.). No segundo nvel foram definidos os chamados "Top-level-domains" TLD. Estes domnios so bastante conhecidos, sendo os principais: * * * * * com: Organizaes comerciais gov: Organizaes governamentais edu: Instituies educacionais org: Organizaes no comerciais net: Servios de rede e comunicao
O DNS cache recebe a pergunta do cliente por www.linux.com, ele no tem a resposta. Ento inicia-se uma jornada para descobrir.
Devemos ler um endereo da direita para a esquerda. Todo endereo comea com um ponto. Coloque no seu navegador www.linux.com. <-- com um ponto no final mesmo, veja que funciona. Bem, o DNS cache no sabe a resposta, ento ele vai comear a procurar pela raz. Os servidores da raiz so chamamos de ROOT servers.
* DNS cache: Oi root server, por acaso voc sabe qual o IP de www.linux.com.? * ROOT SERVER: No sei. Porm eu sei quem responde pelo .com, ele deve saber. Pergunte para ele.
* DNS cache: Oi .com, voc conhece www.linux.com.? * .com: No sei. Porm eu sei quem responde por linux.com., ele deve saber. Pergunte para ele.
Temos nossa resposta. A pergunta : devemos guard-la para sempre? No, existe o TTL. Endereos mudam. Vamos tambm conhecer melhor o dig. O comando dig o acrnimo para "domain information groper", que significa algo como "aquele que busca por informaes de domnio no escuro", e ao mesmo tempo, a palavra dig em ingls significa literalmente "escavar". Acho que mencionar estas curiosidades demonstra o esforo de imaginao dos criadores do dig, e no toa, ele o comando de pesquisa mais poderoso no pacote de utilitrios BIND.
10
* Address - A - Mapeia um hostname para um endereo * Mail Exchanger - MX - Identifica o servidor de correio para um domnio
dig -t mx uol.com.br
* Canonical Name - CNAME - Define uma alias para um hostname No exemplo anterior, o www.linux.com. um CNAME para linux.com. E o IP de linux.com. 216.34.181.51. Conceitos que temos saber at aqui: * Domnio: um nome que serve para localizar e identificar conjuntos de computadores na Internet. * Top Level Domain: primeiro domnio aps a raz.
11
O arquivo de configurao principal do BIND9 chama-se named.conf, e nas distribuies Red Hat e Suse ele fica exatamente no diretrio /etc. No Debian, entretanto, este arquivo foi fragmentado em trs. O arquivo principal ainda chama-se named.conf mas contm apenas configuraes estticas. Ele utiliza a clusula **include** para anexar os arquivos named.conf.options e named.conf.local. Sendo que desses dois, o primeiro serve para personalizar todas opes referentes ao funcionamento do prprio BIND, enquanto que o segundo serve para declarar todas as zonas pelas quais este servidor deve responder.
12
O arquivo db.root (/var/named/named.ca no RedHat) relaciona os endereos dos 13 servidores raiz, e lido como zona hint, que ser explicada adiante. O BIND vai utilizar a porta 53/UDP para receber consultas, a porta 53/TCP para transferir zonas para servidores escravos, a porta 953/TCP para receber comandos via rndc (que dependem de chaves criptografadas), e portas udp altas podem ser dinamicamente atribudas para efetuar consultas em outros servidores. * Abra o arquivo /etc/bind/named.conf.local
13
A diretiva $TTL Define a TTL default para registros de recurso que no especificam um tempo explcito para serem considerados vlidos. O valor de TTL pode ser especificado como um nmero de segundos ou como uma combinao de nmeros e letras. Usando o formato alfanumrico, uma semana pode ser definido como: $TTL 1w Os valores de letra que podem ser usados com o formato alfanumrico so: w - para semana d - para dia h - para hora m - para minuto s - para segundo Sobre o registro SOA, vo algumas explicaes: Todos os arquivos de zona comeam com um registro SOA. O @ no campo de nome do registro SOA recorre origem atual, que neste caso ns.testeht.com.br. O IN abreviao de Internet e SOA de Start of autority. root.teste-ht.com.br. Indica um endereo de e-mail do administrador do DNS.
14
15
* Podemos usar o dig tambm: dig @127.0.0.1 www.teste-ht.com.br dig @127.0.0.1 -t mx teste-ht.com.br
16