You are on page 1of 14

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

Servidores DNS
Na Internet, os servidores DNS formam uma gigantesca base de dados distribuda, que possui uma funo crtica no funcionamento da rede. No topo da cadeia, temos os root servers, 14 servidores espalhados pelo mundo que tm como funo responder a todas as requisies de resoluo de domnio. Na verdade, eles no respondem nada, apenas delegam o trabalho para servidores menores, responsveis individuais dos domnios. Um nome de domnio lido da direita para a esquerda. Temos os domnios primrios (top level domains, ou TLD's), como .com, .net, .info, .cc, .biz, etc., e em seguida os domnios secundrios (country code TLD's), que recebem o prefixo de cada pas, como .com.br ou .net.br. Nesse caso, o "com" um subdomnio do domnio "br". A Internic cuida dos registros dos domnios raiz (.com, .org, .info e outros), enquanto o Registro.br (antigamente era a Fapesp) responde pelos domnios com extenso .br (.com.br, .org.br, etc.). O registro de domnios na Internic menos burocrtico, pois voc no precisa ter uma empresa registrada. De qualquer forma, ao registrar seu domnio na Fapesp ou na Internic, voc precisar fornecer dois endereos de DNS, para onde sero enviadas as consultas referentes ao seu domnio. aqui que entra a questo da autoridade. Sempre que necessrio resolver um domnio, o cliente faz uma requisio para o servidor DNS da rede, ou do provedor, informado na configurao da rede. O servidor contata um dos root servers e pergunta sobre o domnio. Se for um domnio .br, eles encaminham a requisio ao servidor da Fapesp, que a autoridade responsvel. Ele, por sua vez, verifica em sua base de dados quem o servidor responsvel pelo domnio e novamente encaminha a requisio para ele. Ao registrar um domnio, voc passa a ter autoridade sobre ele e pode criar subdomnios da forma como quiser, como "fulano.meunome.com.br" ou "vendas.minhaempresa.com". Veja o caso dos servidores de hospedagem gratuita, como o HPG e Geocities, que criam milhes de subdomnios para as pginas hospedadas. Resolver um nome de domnio uma operao que pode demorar vrios segundos, por isso os servidores DNS armazenam um cache de domnios j resolvidos, minimizando o nmero de requisies. por isso que quando voc faz alguma mudana na configurao do domnio, demora algumas horas para que ela se replique. Isso explica tambm casos onde voc no consegue acessar um determinado site usando o DNS do provedor (que est desatualizado), mas consegue usando um DNS local, ou outro servidor qualquer. Na configurao do Apache, especificamos o domnio e o diretrio local correspondente a cada

Curso Redes e Servidores Linux site, como em:

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

<VirtualHost *> ServerAdmin webmaster@kurmin.com.br ServerName www.kurumin.com.br ServerAlias kurumin.com.br DocumentRoot /var/www/kurumin </VirtualHost> A idia aqui que o visitante digita o nome de domnio do site no navegador e o Apache se encarrega de envi-lo ao diretrio correto. Mas, para que o cliente chegue at o servidor, faltam mais duas peas importantes. A primeira o registro do domnio, que pode ser feito na Fapesp, Internic ou outro rgo responsvel. Ao registrar, voc precisa fornecer dois endereos de DNS. Em muitos casos, o segundo DNS no obrigatrio, ele apenas uma segurana para o caso do primeiro sair fora do ar. Uma opo muito usada para o segundo DNS pedir para que algum amigo, que tambm possua um servidor dedicado, seja seu DNS secundrio. Ele precisar apenas adicionar a configurao do seu domnio na configurao do DNS, o que rpido e indolor. Ao alugar um servidor dedicado, comum que voc receba dois ou mais endereos IP's vlidos. Originalmente, seu servidor vai estar configurado para usar apenas um deles, mas voc pode ativar o segundo (mesmo que o servidor possua apenas uma placa de rede) usando o ifconfig. Se o segundo IP o "64.234.23.13" e a placa de rede a eth0, o comando seria: # ifconfig eth0:1 64.234.23.13 A partir da, seu servidor passa a responder pelos dois endereos IP, e voc pode us-lo simultaneamente como DNS primrio e secundrio. Em casos onde o sistema de registro no permite continuar sem fornecer o segundo endereo, e voc realmente no tem um segundo IP, nem nenhum amigo que possa ser o secundrio, existe mais um pequeno truque: conecte-se via modem na hora de fazer o registro, assim voc ter dois endereos (o do link e o do modem) e conseguir concluir o registro. Naturalmente, nesse caso, voc perde a redundncia: se o seu DNS principal cair, seu site ficar fora do ar. Note que nem sempre esta questo da redundncia realmente um problema, pois se o servidor DNS est hospedado no mesmo servidor que seu site, no faz muita diferena ter dois servidores DNS, pois se o servidor principal cair, o site ficar fora do ar de qualquer forma. Sites maiores possuem sistemas de redundncia e, muitas vezes, servidores DNS separados, o que cria uma malha de segurana. por isso que muito raro a pgina de um portal ficar fora do ar, por exemplo. aqui que acaba o trabalho deles e comea o seu. Ao acessar o domnio, o visitante direcionado para o seu servidor DNS, que precisa responder por ele. Se seu servidor estiver hospedando subdomnios, ou seja, endereos como "www.fulano.guiadohardware.net", "www.ciclano.guiadohardware.net", etc., como fazem servios como o hpg, a configurao continua basicamente a mesma. Voc especifica o subdomnio do cliente na configurao do VirtualHost do Apache e tambm no servidor de DNS. Uma observao importante que, para o Apache, o domnio "www.fulano.guiadohardware.net" diferente de apenas "fulano.guiadohardware.net". Para que o site possa ser acessado tanto com o www quanto sem ele, necessrio incluir um "ServerAlias" na configurao de cada site, como vimos h pouco, na configurao do Apache. Como no caso anterior, voc deve informar o endereo do seu servidor de DNS no registro do domnio. Como os servidores de registro de domnio lem as URLs de trs para a frente, todos os acessos a subdomnios dentro do "guiadohardware.net" sero enviados para o nosso servidor DNS

Curso Redes e Servidores Linux e da para o servidor Apache.

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

O servidor DNS mais usado no Linux o Bind, que aprenderemos a configurar aqui. No existe problema em instal-lo no mesmo servidor onde foi instalado o Apache e o Proftpd, embora do ponto de vista da segurana o ideal seja utilizar servidores separados ou um chroot. Para instalar o Bind, procure pelo pacote "bind" ou "bind9" no gerenciador de pacotes da distribuio usada. No Debian ou Kurumin voc faz a instalao com um "apt-get install bind", no Fedora com um "yum install bind" e no Mandriva com um "urpmi bind". No Slackware voc encontra o pacote dentro da pasta "n" do primeiro CD. Ao instalar, verifique a verso includa na distribuio. Use sempre o Bind 8 ou 9; nunca o Bind 4, que est em desuso. O arquivo de configurao principal o "/etc/bind/named.conf". Em verses antigas, o arquivo pode ser simplesmente "/etc/named.conf". Por padro, o Bind j vem configurado para trabalhar como um servidor DNS de cache para a rede local. Inicie o servio com o comando "/etc/init.d/bind start" ou "service bind start", configure os micros da rede interna para utilizarem o endereo IP do servidor onde foi instalado o bind como DNS (192.168.0.1, por exemplo) e voc ver que eles j sero capazes de navegar normalmente, sem precisar mais do DNS do provedor. O prximo passo configurar o Bind para responder pelos domnios que voc registrou. Vamos usar como exemplo o domnio "kurumin.com.br". Como um domnio .br, ele registrado na Fapesp, atravs do http://registro.br. Depois de pagar e fornecer os dados da empresa e do responsvel pelo domnio, necessrio fornecer os endereos dos dois endereos de DNS responsveis pelo seu domnio:

Naturalmente, voc vai precisar de um endereo IP vlido e fixo, seja com um servidor "in house", com um link dedicado ou um servidor dedicado hospedado em um datacenter. Depois de se decidir sobre onde hospedar e concluir o registro do domnio, falta configurar o Bind para responder pelo domnio registrado. Vou usar como exemplo o domnio "kurumin.com.br". Comece adicionando as seguintes linhas no final do arquivo "/etc/bind/named.conf" do servidor primrio (sem modificar as demais):

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

zone "kurumin.com.br" IN { type master; file "/etc/bind/db.kurumin"; }; Ao usar um servidor DNS secundrio, inclua (ainda na configurao do servidor DNS primrio) a linha "allow-transfer", especificando o endereo IP do segundo servidor, como em: zone "kurumin.com.br" IN { type master; file "/etc/bind/db.kurumin"; allow-transfer { 64.234.23.13; }; }; Na configurao do servidor DNS secundrio, mudam duas linhas, onde voc especifica a posio hierrquica do servidor ("type slave" ao invs de "type master") e o endereo IP do servidor configurado como master. Esta configurao s se aplica ao usar duas mquinas diferentes como DNS primrio e secundrio, e no ao usar um servidor com dois IP's para ambos. A configurao no named.conf do servidor secundrio fica: zone "kurumin.com.br" IN { type slave; file "/etc/bind/bk.db.kurumin"; masters { 64.234.23.12; }; }; No caso do Debian, recomendado que voc use o arquivo "/etc/bind/named.conf.local" (que processado como se fosse parte do named.conf principal). A existncia desse arquivo separado, visa separar a configurao geral do servidor, da configurao dos domnios, minimizando a possibilidade de erros. Mas, na verdade, o efeito de editar qualquer um dos dois arquivos o mesmo. O "zone "kurumin.com.br" na primeira linha indica o domnio que estamos configurando, como registrado na Fapesp. O "file "/etc/bind/db.kurumin" especifica o arquivo onde vai a configurao desse domnio. Na verdade, voc pode salvar esse arquivo em qualquer lugar, muita gente usa a pasta "/var/named". Aqui estou seguindo o padro do Debian, colocando os arquivos dentro da pasta "/etc/bind", junto com os demais arquivos de configurao do Bind. Essas linhas dizem que o servidor o responsvel pelo domnio "kurumin.com.br" (type master;), que sempre que receber uma requisio vai responder de acordo com o especificado no arquivo db.kurumin (file "/etc/bind/db.kurumin";) e que o servidor "64.234.23.13" (o DNS secundrio) pode assumir a responsabilidade sobre o domnio em caso de problemas com o titular (allow-transfer). Em seguida voc precisa adicionar a configurao do domnio no "/etc/bind/db.kurumin", que foi citado na configurao. O contedo do arquivo fica:
@ IN SOA servidor.kurumin.com.br. hostmaster.kurumin.com.br. ( 2006040645 3H 15M 1W 1D ) NS servidor.kurumin.com.br. IN MX 10 servidor.kurumin.com.br. kurumin.com.br. A 64.234.23.12 www A 64.234.23.12 ftp A 64.234.23.12 smtp A 64.234.23.12

arquivo

Nesse arquivo, a formatao importante. Voc pode usar espaos e tabs (ambos tm o mesmo efeito) para organizar as opes, mas existem algumas regras. As linhas "IN SOA" at "IN MX" precisam ficar justificadas (como no exemplo) e voc no pode esquecer dos espaos entre as opes. Caso queira incluir comentrios, use ";" ao invs de "#", como em outros arquivos. Voc

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

pode baixar o exemplo, como digitado aqui no: http://www.guiadohardware.net/kurumin/modelos/bind/db.exemplo Pesquisando no Google, voc pode encontrar inmeros templates como esse, mas difcil encontrar alguma explicao clara de cada uma das opes. Isso faz com que configurar um servidor DNS parea muito mais complicado do que realmente . Vamos ento a uma descrio detalhada de cada um dos campos:
@ IN SOA servidor.kurumin.com.br. hostmaster.kurumin.com.br. (

A "@" na primeira linha indica a origem do domnio e, ao mesmo tempo, o incio da configurao. Ela sempre usada, assim como em um endereo de e-mail. O "IN" abreviao de "internet" e o "SOA" de "Start of autority". Em seguida vem o nome do seu servidor (que voc checa usando o comando "hostname"), seguido do e-mail de contato do administrador. Note que, no caso do e-mail, temos a conta separada do domnio por um ponto, e no por uma "@". O mais comum criar uma conta chamada "hostmaster", mas isso no uma regra. Voc poderia usar "fulaninho.meudominio.com.br", por exemplo. Note tambm que existe um ponto depois do "servidor.kurumin.com.br" "hostmaster.kurumin.com.br", que faz parte da configurao. e do

O ponto se refere ao domnio raiz, de responsabilidade dos rootservers. No exemplo, nosso servidor o responsvel pelo domnio "kurumin", que faz parte do domnio ".com.br", que, por sua vez, faz parte do domnio raiz. Lembre-se que os domnios so lidos da direita para a esquerda, de forma que, ao resolver o domnio, o cliente leria: raiz . br . com . kurumin. A linha diz algo como "Na internet, o servidor "servidor" responde pelo domnio "kurumin.com.br" e o e-mail do responsvel pelo domnio "hostmaster.kurumin.com.br". A primeira linha termina com um parnteses, que indica o incio da configurao do domnio. Temos ento:
2006061645 8H 2H 1W 1D )

O "2006061645" o valor de sincronismo, que permite que o servidor DNS secundrio se mantenha sincronizado com o principal, detectando alteraes na configurao. Esse nmero composto da data da ltima alterao (como em: 20060616) e um nmero de dois dgitos qualquer que voc escolhe. Sempre que editar a configurao ou sempre que configurar um servidor DNS a partir de um template qualquer, lembre-se de atualizar a data e mudar os dois dgitos. Os quatro campos seguintes orientam o servidor DNS secundrio (caso voc tenha um). O primeiro campo indica o tempo que o servidor aguarda entre as atualizaes (8 horas). Caso ele perceba que o servidor principal est fora do ar, ele tenta fazer uma transferncia de zona, ou seja, tenta assumir a responsabilidade sob o domnio. Caso a transferncia falhe e o servidor principal continue fora do ar, ele aguarda o tempo especificado no segundo campo (2 horas) e tenta novamente. O terceiro campo indica o tempo mximo que ele pode responder pelo domnio, antes que as informaes expirem (1 semana, tempo mais do que suficiente para voc arrumar o servidor principal ;) e o tempo mnimo antes de devolver o domnio para o servidor principal quando ele retornar (1 dia). Esses so os valores padro, por isso no existem muitos motivos para alter-los. A transferncia do domnio para o DNS secundrio sempre uma operao demorada, por causa do cache feito pelos diversos servidores DNS espalhados pelo mundo: demora de um a dois dias at que todos atualizem suas tabelas de endereos. A principal prioridade deve ser evitar que o servidor

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

principal fique indisponvel em primeiro lugar. Muita gente prefere especificar esses valores em segundos. Uma configurao muito comum separar os valores por linha, incluindo comentrios, como em:
2006061645; serial 28800; refresh, seconds 7200; retry, seconds 604800; expire, seconds 86400 ); minimum, seconds

O resultado exatamente o mesmo. A nica diferena que voc vai acabar digitando vrias linhas a mais ;). As duas linhas a seguir concluem a seo inicial:
NS servidor.kurumin.com.br. IN MX 10 servidor.kurumin.com.br.

A primeira diz quem so as mquinas responsveis pelo domnio. Ao usar apenas um servidor DNS, voc simplesmente repete o nome do servidor, seguido pelo domnio, como adicionamos na primeira linha. Caso voc esteja usando dois servidores, ento voc precisa declarar ambos, como em:
NS servidor.kurumin.com.br. NS ns2.kurumin.com.br.

A linha "IN MX" necessria sempre que voc pretende usar um servidor de e-mails (voc pode escolher entre usar o Postfix, Qmail, Sendmail ou outro MTA). Aqui estou simplesmente usando a mesma mquina para tudo, por isso novamente citei o "servidor.kurumin.com.br", que acumula mais esta funo. Assim como no caso do DNS, voc pode especificar um servidor de e-mails secundrio, que passa a receber os e-mails caso seu servidor principal saia fora do ar. Nesse caso, voc adiciona uma segunda linha, como em:
IN MX 10 servidor.kurumin.com.br. IN MX 20 outroservidor.outrodominio.com.br.

Os nmeros indicam a prioridade de cada servidor. O servidor da primeira linha tem prioridade 10, por isso o primrio. O segundo tem prioridade 20 e por isso s assume em casos de problemas com o primrio. Usar um segundo servidor de e-mails, em um domnio separado, adiciona uma camada extra de redundncia e evita que voc perca e-mails caso seu servidor fique temporariamente fora do ar. Depois dessas linhas iniciais, temos a parte mais importante, em que voc especifica o IP do servidor e pode cadastrar subdomnios, como em:
kurumin.com.br. www ftp smtp A A A A 64.234.23.12 64.234.23.12 64.234.23.12 64.234.23.12

Nesse exemplo, inclu tambm trs subdomnios, o "www", "ftp" e "smtp", ambos relacionados ao IP do servidor. Isso permite que os visitantes digitem "www.kurumin.com.br" ou "ftp.kurumin.com.br" no navegador. Ao trabalhar com subdomnios, voc pode relacion-los com IP's ou domnios diferentes. Por exemplo, muitos portais possuem vrios subdomnios, como "www1", "www2" e "www3", onde cada um um servidor diferente, configurados para dividir os acessos. Existem ainda sites como o http://no-ip.com, que oferecem "domnios virtuais", que apontam para seu endereo IP atual. Eles so, na verdade, grandes bases de dados, atualizadas automaticamente, onde cada subdomnio aponta para o IP atual do dono.

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

Ao trabalhar com dois servidores DNS, adicione tambm uma entrada para ele, especificando o nome do segundo servidor (ns2 no exemplo) e o IP, como em:
kurumin.com.br. www ftp smtp ns2 A A A A A 64.234.23.12 64.234.23.12 64.234.23.12 64.234.23.12 64.234.23.13

Note o segundo DNS usa o IP .13, enquanto o servidor principal usa o .12, mas ambos esto dentro da mesma faixa de endereos. Em casos em que o mesmo servidor dedicado responde pelos dois endereos IP, ou seja, se voc est usando a mesma mquina como DNS primrio e secundrio, pode simplesmente inventar um nome fictcio para o segundo IP. Voc pode tambm usar a diretiva "IN CNAME" para criar aliases, ou seja, subdomnos que atuam como apelidos para outros. Veja um exemplo:
kurumin.com.br. A www A ftp A smtp A ns2 A joao A maria IN CNAME 64.234.23.12 64.234.23.12 64.234.23.12 64.234.23.12 64.234.23.13 200.123.23.2 joao

Nesse caso, o subdomnio "maria" simplesmente um alias para o "joao", que aponta para um IP externo. Voc pode criar quantos subdomnios de aliases precisar. Para especificar endereos IPV6, voc usa a diretiva "AAAA" no lugar de "A", como em:
isac AAAA 2001:bce4:5641:3412:341:45ae:fe32:65

Ao terminar, voc pode testar a configurao do seu servidor DNS usando o comando dig. No Debian ele instalado juntamente com o pacote "dnsutils". Faa uma busca pelo domnio, especificando o endereo IP do DNS que acabou de configurar, como em: $ dig kurumin.com.br @64.234.23.12 Isso faz com que ele pergunte diretamente ao seu servidor, o que permite testar a configurao imediatamente, sem precisar esperar pela propagao do registro do domnio. Se tudo estiver correto, voc ver algo como:
;; ANSWER SECTION: kurumin.com.br. ;; AUTHORITY SECTION: kurumin.com.br. kurumin.com.br. 86400 86400 IN IN NS NS servidor.kurumin.com.br. ns2.kurumin.com.br. 86400 IN A 64.234.23.12

Faa o mesmo com o IP do DNS secundrio, como em: $ dig kurumin.com.br @64.234.23.13 Ambos devem devolver a mesma resposta.

DNS Reverso
O DNS reverso um recurso que permite que outros servidores verifiquem a autenticidade do seu

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

servidor, checando se o endereo IP atual bate com o endereo IP informado pelo servidor DNS. Isso evita que algum utilize um domnio que no lhe pertence para enviar spam, por exemplo. Qualquer um pode enviar e-mails colocando no campo do remetente o servidor do seu domnio, mas um servidor configurado para checar o DNS reverso vai descobrir a farsa e classificar os emails forjados como spam. O problema que os mesmos servidores vo recusar seus e-mails, ou classific-los como spam, caso voc no configure seu servidor DNS corretamente para responder s checagens de DNS reverso. Chegamos a um ponto em que o problema do spam to severo que quase todos os servidores importantes fazem esta checagem, fazendo com que, sem a configurao, literalmente metade dos seus e-mails no seja entregue. O primeiro passo checar os arquivos "/etc/hostname" e "/etc/hosts" (no servidor), que devem conter o nome da mquina e o domnio registrado. O arquivo "/etc/hostname" deve conter apenas o nome da mquina, como em:
servidor

No Fedora e em algumas outras distribuies, o nome da mquina vai dentro do arquivo "/etc/sysconfig/network". O arquivo "/etc/hosts" deve conter duas entradas, uma para a interface de loopback, o 127.0.0.1 e outra para o IP de internet do seu servidor, que est vinculado ao domnio, como em:
127.0.0.1 64.234.23.12 localhost.localdomain servidor.kurumin.com.br localhost servidor

A partir da, falta adicionar a zona reversa no bind complementando a configurao do domnio, que j fizemos. Comeamos adicionando a entrada no "/etc/bind/named.conf" ou "/etc/bind/named.conf.local":
zone "23.234.64.in-addr.arpa" { type master; file "/etc/bind/db.kurumin.rev"; };

No nosso exemplo, o endereo IP do servidor 64.234.23.12. Se retiramos o ltimo octeto e escrevemos o restante do endereo de trs pra frente, temos justamente o "23.234.64" que usamos no registro reverso. A terceira linha indica o arquivo em que a configurao do domnio reverso ser salva. Nesse caso, indiquei o arquivo "db.kurumin.rev", mas voc pode usar qualquer nome de arquivo. Este arquivo "db.kurumin.rev" bem similar ao arquivo com a configurao do domnio, que acabamos de configurar. As trs linhas iniciais so idnticas (incluindo o nmero de sincronismo), mas ao invs de usar o "A" para relacionar o domnio e cada subdomnio ao IP correspondente, usamos a diretiva "PTR" para relacionar o endereo IP de cada servidor ao domnio ( justamente por isso que chamamos de DNS reverso ;). No primeiro arquivo, usamos apenas os trs primeiros octetos do endereo (a parte referente rede), removendo o octeto final (o endereo do servidor dentro da rede). Agora, usamos apenas o nmero omitido da primeira vez. O IP do servidor "64.234.23.12"; removendo os trs primeiros octetos, ficamos apenas com o "12". Temos tambm o endereo do DNS secundrio, que 64.234.23.13, de onde usamos apenas o "13". Relacionando os dois a seus respectivos domnios, o arquivo fica:
@ IN SOA servidor.kurumin.com.br. hostmaster.kurumin.com.br. ( 2006040645 3H 15M 1W 1D ) NS servidor.kurumin.com.br.

Curso Redes e Servidores Linux 12 13

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

NS ns1.kurumin.com.br. PTR kurumin.com.br. PTR ns1.kurumin.com.br.

Caso voc no esteja usando um DNS secundrio, s omitir as linhas referentes a ele, como em:
@ 12 IN SOA servidor.kurumin.com.br. hostmaster.kurumin.com.br. ( 2006040645 3H 15M 1W 1D ) NS servidor.kurumin.com.br. PTR kurumin.com.br.

Depois de terminar, reinicie o Bind e verifique usando o dig. Comece checando o domnio, como em: # dig kurumin.com.br Na resposta, procure pela seo "ANSWER SECTION", que dever conter o IP do servidor, como configurado no bind:
;; ANSWER SECTION: kurumin.com.br. 86400 IN A 64.234.23.12

Faa agora uma busca reversa pelo endereo IP, adicionando o parmetro "-x", como em: # dig -x 64.234.23.12 Na resposta voc ver:
;; ANSWER SECTION: 12.23.234.64.in-addr.arpa. 86400 IN PTR kurumin.com.br.

Ou seja, com o DNS reverso funcionando, o domnio aponta para o IP do servidor e o IP aponta para o domnio, permitindo que os outros servidores verifiquem a autenticidade do seu na hora de receber e-mails provenientes do seu domnio. Lembre-se que seus e-mails podem ser classificados como spam tambm se seu IP estiver marcado em alguma blacklist. Voc pode verificar isso rapidamente no http://rbls.org/. Voc vai notar, por exemplo, que praticamente qualquer endereo IP de uma conexo via ADSL ou modem vai estar listado, muitas vezes "preventivamente", j que muito comum que conexes domsticas sejam usadas para enviar spam. recomendvel verificar periodicamente os IP's usados pelo seu servidor, alm de verificar qualquer novo IP ou link antes de contratar o servio. Mais uma considerao importante sobre a configurao do DNS reverso que voc precisa ter autoridade sobre a faixa de IP's para que a configurao funcione. Quando voc aluga um servidor dedicado, de praxe que receba uma pequena faixa de endereos IP, configurada usando uma mscara complexa, como a "255.255.255.248", onde voc fica com uma faixa de 5 IP's diferentes (na verdade so 8, mas destes apenas 6 so vlidos e um usado como default gateway, para que seu servidor possa acessar a internet atravs da rede do datacenter) como, por exemplo, do "72.213.43.106" at o "72.213.43.110". Isso tambm comum ao alugar um link dedicado, onde (dependendo do plano) voc recebe uma faixa completa, com 254 IP's, ou uma faixa reduzida, com mscara "255.255.255.240" (14 IP's), "255.255.255.248" (6 IP's) ou "255.255.255.252" (2 IP's). Em qualquer um dos casos, o fornecedor deve delegar a autoridade sobre a sua faixa de endereos, para que a configurao que vimos aqui funcione. Sem isto, o servidor deles quem responde pela sua faixa, retornando um erro qualquer, sem que seu servidor DNS tenha chance de fazer seu trabalho.

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

Se voc alugou um servidor ou um link dedicado e percebeu que a autoridade sobre a faixa no foi delegada, minha primeira sugesto que voc troque de fornecedor, pois essa uma configurao bsica. Se no fazem nem a delegao corretamente, provvel que o servio deixe a desejar em outros aspectos. Se isso no for possvel, entre em contato com eles cobrando a configurao. Alguns provedores preferem configurar eles mesmos o DNS reverso para seu domnio. Nesse caso, vo apenas lhe pedir a configurao e ativar o reverso no DNS deles. Essa soluo no ideal, pois voc vai precisar entrar em contato com o suporte cada vez que precisar fazer uma alterao, mas melhor do que nada. Essa tambm a nica opo em planos em que voc recebe um nico IP fixo, ao invs de uma faixa de endereos. No caso de planos de acesso domstico, onde voc recebe um nico IP, quase sempre impossvel configurar o DNS reverso, pois voc no tem autoridade sobre a faixa de IP's e a operadora no vai querer fazer a configurao para voc sem que voc pague mais um um plano empresarial.

Configurando um DNS para a intranet


Essa mesma configurao pode ser usada para criar um servidor DNS particular, para a sua rede local. Com isso voc poder acessar todos os micros atravs de nomes de domnio, como na internet, ao invs de ficar decorando endereos IP. Isso pode ser um grande facilitador em redes de mdio porte, onde j no prtico saber de cor os endereos de todos os micros. Nesse caso, voc pode "registrar" seus domnios da forma como quiser, seja criando um domnio fictcio, ou usando um domnio registrado e atribuindo subdomnios aos micros da rede. Seu domnio principal pode ser, por exemplo, "gdh" com cada micro recebendo um subdomnio, como em "administracao.gdh", "contabilidade.gdh" e "vendas.gdh". Desse modo, ao rodar o comando "ssh vendas.gdh", por exemplo, voc se conecta ao PC especificado, a partir de qualquer um dos outros micros da rede, sem precisar especificar o IP. Para isso, voc comea instalando o Bind no servidor da rede ou (no caso de uma rede domstica) em algum PC que ficar sempre ligado. Voc pode usar o prprio gateway/firewall para mais esta tarefa. Configure todos os micros da rede interna para utilizarem o IP deste servidor como DNS primrio e adicione a configurao dos domnios no Bind. Se, por exemplo, os endereos dos trs micros so respectivamente 192.168.0.2, 192.168.0.3 e 192.168.0.4 e o servidor o 192.168.0.1, a configurao ficaria como no exemplo abaixo. No final do arquivo "/etc/bind/named.conf" vai a configurao do domnio principal, ou seja, "gdh". Como estamos trabalhando dentro da rede local, voc pode utilizar qualquer nome, no necessrio seguir o padro usado na Internet:
zone "gdh" IN { type master; file "/etc/bind/db.gdh"; };

Falta agora a configurao dos subdomnios, que vai dentro do arquivo db.gdh:
@ IN SOA servidor.gdh. hostmaster.gdh. ( 2006040656 3H 15M 1W 1D ) NS servidor.gdh. gdh. A 192.168.0.1 administracao A 192.168.0.2 vendas A 192.168.0.3

Curso Redes e Servidores Linux contabilidade A

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/


192.168.0.4

Temos aqui o "gdh", que o prprio servidor, alm do "administracao.gdh", "vendas.gdh" e "contabilidade.gdh", respondendo pelos endereos especificados. Note que exclu a linha "IN MX", pois ela necessria apenas ao incluir um servidor de e-mails.

Servios de DNS Dinmico


O grande obstculo para rodar servidores ou programas de acesso remoto em uma conexo com IP dinmico justamente o fato de que o endereo muda constantemente. Voc poderia muito bem instalar um servidor web, configurado para usar a porta 8080 e dizer para para um amigo acess-lo atravs do http://seu-endereo-ip:8080 (voc pode checar o IP atual atravs de sites como o http://myipaddress.com e o http://www.whatismyip.com), mas ele precisaria perguntar o endereo novamente cada vez que fosse acessar seu servidor, j que o endereo seria diferente. A situao seria ainda mais complicada se voc precisasse acessar seu micro via SSH (ou qualquer programa de acesso remoto), j que se voc no est em casa, no h como saber o endereo corrente. A soluo para o problema utilizar um servio de DNS Dinmico (Dynamic DNS), onde voc pode registrar um endereo de acesso como "meu-nome.no-ip.org" ou "fulano.dyndns.com", que passa a apontar para seu endereo IP corrente. Normalmente, para registrar um domnio necessrio ter um servidor com dois IPs fixos (ou dois servidores, com um IP cada), de forma a configurar os dois servidores DNS necessrios. Os servidores do registro.br ou da entidade responsvel pelo seu domnio passam ento a redirecionar as requisies para o seu servidor DNS primrio, que responde com o endereo IP do servidor. Um exemplo de configurao para um servidor DNS rodando o Bind seria:
@ IN SOA servidor.gdhn.com.br. hostmaster.gdhn.com.br. ( 2008040645 3H 15M 1W 1D ) NS servidor.gdhn.com.br. IN MX 10 servidor.gdhn.com.br. gdhn.com.br. A 64.234.23.12 www A 64.234.23.12 ftp A 64.234.23.12

Como voc pode ver, as trs ltimas linhas do arquivo relacionam o domnio e mais dois subdomnios com o endereo IP do servidor, de forma que ao acessar os endereos "gdhn.com.br" "www.gdhn.com.br" ou "ftp.gdhn.com.br" o cliente seria encaminhado para o endereo "64.234.23.12", que o endereo IP do servidor no exemplo. impossvel registrar um domnio usando uma conexo com IP dinmico, mas nada impediria que o seu amigo, que administra o servidor, criasse um subdomnio apontando para o seu IP corrente. Ele precisaria apenas inserir uma nova linha na configurao do servidor DNS, como em:
@ IN SOA servidor.gdhn.com.br. hostmaster.gdhn.com.br. ( 2008040645 3H 15M 1W 1D ) NS servidor.gdhn.com.br. IN MX 10 servidor.gdhn.com.br. gdhn.com.br. A 64.234.23.12 www A 64.234.23.12 ftp A 64.234.23.12 fulano A 200.26.242.123

Com isso, qualquer um que tentasse acessar o "fulano.gdhn.com.br" seria encaminhado para o endereo "200.26.242.123", que o endereo IP da sua mquina.

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

Naturalmente, isso no resolve o problema, j que o endereo IP includo no arquivo ficaria logo desatualizado. Mas, imagine que seu amigo foi um passo alm e desenvolveu um pequeno programa (executado na sua mquina) que envia um pacote de atualizao a cada 5 minutos, contendo seu endereo IP corrente. Esse programa trabalha em conjunto com um script, ativo no servidor, que se encarrega de ler os pacotes e atualizar a linha no arquivo. Mesmo que seu endereo IP mudasse, ou que voc precisasse reiniciar o modem (o que tambm mudaria o endereo), o sub-domnio ficaria apenas 5 minutos fora do ar, o tempo do programa instalado na sua mquina enviar o prximo pacote de atualizao. Esta justamente a idia por trs dos diversos servios de DNS dinmico. Depois de se cadastrar e registrar seu subdomnio, voc instala um programa "dedo-duro" no seu micro, que periodicamente entra em contato com os servidores do servio e atualiza automaticamente o redirecionamento. Voc recebe um endereo no estilo "seu-nome.alguma-coisa.com" que aponta sempre para seu endereo IP corrente. Existem diversos servios de DNS dinmico, a maioria deles gratuitos. Fornecer domnios virtuais um servio muito menos custoso do que fornecer webmails, por exemplo, por isso, muitas empresas oferecem o servio gratuitamente, como uma forma de divulgao ou buscando cobrir os custos com anncios. Alguns exemplos so: http://www.no-ip.com http://www.dyndns.com http://www.da.ru http://www.dtdns.com/ http://dns2go.com Um dos que tenho usado sem problemas ao longo dos anos o http://www.no-ip.com. Depois de criar o login de acesso, voc pode cadastrar os domnios (voc pode criar vrios) usando a opo "Hosts / Redirects > Add":

As opes disponveis so: DNS Host (A): cria o domnio apontando para seu endereo IP corrente. Esta a opo que voc vai usar na maioria dos casos. DNS Host (Round Robing): Cria um domnio que divide as requisies entre vrios endereos cadastrados, fazendo com que cada um atenda parte das requisies. Pode ser usado para dividir a carga entre mltiplos servidores disponibilizando o mesmo arquivo, por exemplo. DNS Alias | CNAME |: Cria um redirecionamento para outro domnio especificado por voc. Port 80 Redirect: Redireciona a porta 80 do domnio para uma porta diferente da sua

Curso Redes e Servidores Linux -

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

mquina, permitindo burlar o bloqueio da porta 80 imposto pelas operadoras. O visitante pode acessar ento o "http://fulano.no-ip.org" e cair na porta 8080 no seu endereo IP corrente. Web Redirect: Um domnio que direciona para uma URL especfica. Usado como um atalho para outro endereo, no para acessar sua mquina remotamente. Depois de cadastrar o domnio s ir na seo de downloads e baixar o update cliente. Esto disponveis verses para Windows, Linux e OS X. A verso Windows um programa bastante simples, que mostra os domnios cadastrados e fica ativo ao lado do relgio fazendo a atualizao peridica:

A verso Linux, por outro lado, desenvolvida para rodar em servidores, por isso um daemon em modo texto, que configurado atravs de um arquivo de configurao. Para instal-lo, comece baixando o arquivo no http://www.no-ip.com/downloads.php. Depois de descompact-lo, voc encontrar o arquivo "noip2-Linux" dentro da pasta "binaries". Este o executvel que faz a atualizao do endereo. Para us-lo, copie-o para a pasta "/usr/local/bin": # # # # tar -zxvf noip-duc-linux.tar.gz cd noip-2.1.1/ cd binaries/ cp -a noip2-Linux /usr/local/bin/

O prximo passo executar o "noip2-Linux", usando a opo "-C -c" (create config), que cria o arquivo de configurao. Voc pode indicar onde o arquivo ser criado, basta indic-lo no comando. Nesta etapa ele pedir o login de usurio e a senha, que sero gravados de forma encriptada dentro do arquivo: # noip2-Linux -C -c /etc/noip.conf Com o arquivo de configurao criado, inicie o noip2-Linux usando o comando abaixo. Inclua o comando no final do arquivo "/etc/rc.d/rc.local" ou outro arquivo de inicializao para que ele seja executado durante o boot. No se esquea de adicionar o "&" no final do comando, ele faz o programa rodar em background. Sem ele, o comando bloqueia o terminal, paralisando a inicializao do sistema. Note que agora usamos apenas o segundo "c", que indica que ele deve usar o arquivo de configurao anteriormente criado: # noip2-Linux -c /etc/noip.conf & Se voc compartilha a conexo entre vrios micros, no necessrio manter o cliente instalado no servidor, basta mant-lo ativo em qualquer um dos micros da rede interna. Como todos acessam a web usando o mesmo endereo IP, o cliente no tem problemas para enviar os pacotes

Curso Redes e Servidores Linux de atualizao.

2008 Carlos E. Morimoto - http://guiadohardware.net/cursos/

Outra dica que muitos modems ADSL incluem clientes de atualizao para vrios servios de domnios virtuais. Voc pode ento especificar uma conta dyndns, no-ip ou outro servio suportado e o prprio modem se encarrega das atualizaes, sem que voc precise deixar o cliente ativo em algum dos PCs da rede Procure pela opo "Dynamic DNS", "DDNS" ou similar dentro da seo "Tools" ou "Advanced" dentro da interface de configurao. Aqui temos um exemplo em um modem/roteador US Robotics USR9108:

Usar um DNS dinmico abre um grande volume de possibilidades, pois com um endereo fixo voc passa a poder acessar os micros da sua rede de qualquer lugar. Voc pode ento transferir arquivos que esto no seu micro de trabalho ou mesmo rodar aplicativos instalados nele remotamente. Normalmente, as pessoas associam o uso de um DNS dinmico com disponibilizar um servidor web ou FTP, mas na prtica os usos mais comuns so o acesso remoto e a disponibilizao de servidores de jogos multiplayer. Ter um endereo fixo e manter servidores ativos parece uma brecha de segurana, mas com um firewall bem configurado no existem grandes riscos. Como veremos no captulo 6, possvel fazer muita coisa deixando apenas um servidor SSH aberto. O SSH usa uma nica porta, a 22; voc pode ento usar um firewall para bloquear todas as demais portas ou, simplesmente, redirecionar apenas a porta 22 (para o micro da rede interna rodando o SSH) na configurao do modem, deixando que ele bloqueie as demais. Com acesso apenas porta 22, a nica forma de obter acesso ao seu micro atravs do SSH. Como brechas de segurana no SSH so extremamente raras (afinal, ele usado na grande maioria dos servidores Linux do mundo), o nico risco real seria algum conseguir adivinhar sua senha de acesso, o que matematicamente impossvel usando uma boa senha, de 8 caracteres ou mais.