DNS

DNS, dúvidas quando precisa hospedar uma aplicação? – Parte 2

Confira a segunda parte do artigo sobre DNS. Escrito por Flávio Rescia. DNS, você sabe o que é, mas sempre tem dúvidas quando precisa hospedar uma aplicação? Até então falamos apenas de solução de nomes para IP, porém não existe apenas esse tipo de resposta, essa é a principal função do DNS, porém não é a única. Agora vamos entender as entradas DNS que podem ser utilizadas e quando utilizamos: Entrada Tipo A É a que falamos até agora, serve para resolver um nome como www.xpto.com.br para um IP como 200.200.200.1 Entrada do Tipo CNAME Para facilitar a configuração são usadas entradas CNAME (do inglês Canonical Name, Apelido), que são entradas que apontam nomes DNS como www.xpto.com.br para outro nome como www.darede.com.br. (Ferrou, agora babei!) A sacada aqui é evitar a necessidade de mudar o DNS de www.xpto.com.br sempre que o IP mudar. Imagina que o site www.xpto.com.br esteja no mesmo servidor que o www.darede.com.br que aponta para 200.1.1.1, caso tenhamos que mudar nosso provedor e trocar o IP 200.1.1.1 para outro IP, como 202.1.1.1, precisaremos trocar apenas a entrada www.darede.com.br e não o www.xpto.com.br. Uma vez que www.xpto.com.br continuará apontando para www.darede.com.br. Parece bobagem? Imagina que você tenha 1000 sites apontando para www.darede.com.br e mude a operadora ! A desvantagem no uso de CNAME é que será necessário o cliente resolver duas vezes: • www.xpto.com.br > www.darede.com.br • www.darede.com.br > 200.1.1.1 Entradas CNAME hoje são muito utilizadas por serviços gerenciados (como AWS CloudFront, AWS ELB), uma vez que o serviço lhe oferece um nome e você cria um CNAME de seu domínio (como www.darede.com.br) e aponta para o nome oferecido pelo provedor do serviço. Caso os IPs da AWS mudem, nós não precisamos nos preocupar. DICA: De acordo com a RFC não é possível criar entradas do tipo CNAME para ‘naked domain’ (exemplo darede.com.br). Nesse caso temos que configurar uma entrada ‘A’ direto para o IP. Quando precisamos apontar o ‘naked domain’ para um serviço gerenciado (que não há IP fixo), temos duas opções: 1. Apontar para um servidor (esse sim com um IP fixo), e fazer um redirecionamento HTTP 301 para ele; 2. Para AWS, podemos usar uma entrada A com Alias. Alias é um recurso da AWS para criar entradas ‘A’ para serviços gerenciados AWS (como Elastic LoadBalancer, S3, CloudFront, API Gateway, etc). O AWS Route53 garante que a entrada sempre aponte para os IPs atuais do serviço gerenciado. Entrada Tipo MX Um e-mail é enviado para voce@seudominio.com.br certo? Qual o nome DNS do seu servidor de RECEBIMENTO de e-mails? seudominio.com.br? NÃO. Geralmente seudominio.com.br aponta para seu site e não para seu servidor de recebimento de e-mail. E agora? Para isso existe a entrada do tipo MX, que vem de Mail eXchange (também acho bizarro devia ser ME, kk!). O MX aponta para nossos servidores de recebimento de e-mails (SMTP/S). Esse tipo de entrada pode apontar tanto para IP quanto para nomes, e possui uma particularidade, cada entrada possui dois valores: • Nome ou IP do servidor de recebimento de e-mail; • Prioridade, que é usada para redundância de servidores; Entradas do tipo TXT Para muitos serviços que surgiram anos após a primeira versão do protocolo HYPERLINK “https://www.ietf.org/rfc/rfc1034.txt”DNSs era preciso validar se um domínio é mesmo de propriedade de determinada pessoa/empresa. Como fazer isso? Simples, lhe faço um desafio ao mantenedor do domínio. Crio um código de teste (como 123codigo) e peço para o mantenedor configurar uma entrada 123codigo.dominio.com.br, se essa entrada for criada, significa que realmente ele tem acesso ao SOA, logo posso confiar que ele é responsável por esse domínio. Mas criar uma entrada ‘perdida’ para isso, parece uma gambiarra né? Como tudo em tecnologia que parece gambiara vira padrão. As entradas do tipo TXT surgiram para isso. É possível atribuir um texto qualquer (não apenas um nome ou IP) a essa entrada, que funciona como uma variável para qualquer finalidade. O SPF que surgiu anos depois, é um exemplo de utilização de entrada TXT. Como o serviço de e-mail, que foi criado HYPERLINK “https://tools.ietf.org/html/rfc821” à HYPERLINK “https://tools.ietf.org/html/rfc821” HYPERLINK “https://tools.ietf.org/html/rfc821″décadas atrás, não possuía uma validação da origem do e-mail, qualquer um podia (e ainda pode) enviar e-mails em nome qualquer domínio. O SPF surgiu como um padrão para garantir o dono do domínio de origem possa informar ao servidor de recebimento (destino) os IPs que podem enviar e-mail em nome de @dominiodeorigem.com.br. Para isso era/é usada uma entrada TXT. Em 2014 foi criado um outro tipo de entrada DNS dedicada a SPF. Um uso típico de entradas TXT é a validação de serviços cloud, como Google, AWS e Azure se você pode mesmo usar seu domínio. Entrada Tipo PTR É o contrário de entradas do Tipo ‘A’, usada para apontar um IP (200.1.1.1) para um nome (www.xpto.com.br). Essa entrada causa muita confusão, uma vez que ela só pode ser usada pelo mantenedor do IP e não do domínio. Em geral o mantenedor do IP é o provedor de seu Link de Internet ou serviço na nuvem. Assim somente o provedor poderá configurar o reverso de seu IP, caso precise, a única forma é abrir um chamado com eles. Os usos práticos desse tipo de entrada são poucos, mas importantes: • Identificação em caso de testes como traceroute por exemplo: • Velocidade de algumas aplicações, como SSH e traceroute, uma vez que essas aplicações, de forma nativa, resolve o Reverso do IP, o que causa lentidão quando a entrada não existe por ficar tentando resolver; • Controle SPAM, novamente o e-mail kkk! Como o SMTP foi inventado antes da invenção do SPAM, ele não previu seu uso, uma das técnicas para evitar SPAM é garantir que haja um vínculo entre o mantenedor do IP e seu utilizador, a técnica é simples. Se você está em uma LAN House, não vai conseguir pedir para configurar o reverso nele, então o servidor SMTP de recebimento espera que o IP aponte para um nome, e que esse nome aponte para o próprio IP. Caso isso não aconteça, o

DNS e as dúvidas quando precisa hospedar uma aplicação – Parte 1

Será que agora vou saber o que estou fazendo quando crio aquela entrada TXT, ou CNAME quando sigo um procedimento? Se você está lendo esse nosso primeiro artigo, deve estar com aquela pulga atrás da orelha, aquele sentimento de: “Será que agora vou saber o que estou fazendo quando crio aquela entrada TXT, ou CNAME quando sigo um procedimento?”. Fique tranquilo, após a leitura, terá todos os conceitos práticos necessários para saber exatamente o que está fazendo quando tiver que realizar qualquer mudança no DNS. E provavelmente você deve ter tido aula (ou apenas passou na prova) em seu curso técnico ou universitário, mas na hora de pôr a mão na massa no DNS, prefere pedir para alguém ou seguir aquela ‘receitinha’. Vamos acabar com isso hoje! Todos que estão lendo devem saber para que serve DNS: traduzir nome para IP, para que usemos nomes e não IP em uma aplicação como browser, shell, cliente de e-mail ou qualquer outro software. Você verá que é muito mais que isso. E muitos devem ter visto (na apresentação do professor) o desenho abaixo: Esqueça ele, por enquanto. Provavelmente você nunca terá que se preocupar com esse conceito, para 99% dos profissionais de TI são dispensáveis, mesmo sendo o único que todo professor ensina =D! Primeiro, é importante entender a realidade em que o DNS foi feito e quais problemas ele tenta resolver. Abaixo uma lista de verdades que explicam muita coisa: DNS foi criado na década de 1980, quando os recursos computacionais eram muito mais limitados que hoje; Foi criado para o controle ser centralizado; E a carga maior ser descentralizada. O segundo conceito, importante, é: Existem dois tipos de servidores DNS: O que todos usam sempre, o DNS ‘Resolver’ e O que temos medo de mexer, o ‘SOA’. O Servidor Resolver (do inglês “Resolvedor”) é aquele que configuramos em nossa placa de rede (ou recebemos via DHCP). Usamos para resolver/consultar nomes DNS de qualquer domínio, para que possamos navegar na Internet ou fazer uso das nossas aplicações. Subir um servidor DNS é muito simples, o roteador WIFI que temos em casa quase sempre faz essa função de servidor DNS para nós. A nossa operadora sempre nos oferece ao menos 2 servidores DNS de consulta, para nosso uso da Internet contratada. Quando configuramos um Servidor Resolver? No roteador da nossa casa; Quando vamos compartilhar Internet em nossas impressoras (isso pode inclusive ajudar no desempenho quando fazemos cache, pois evita consulta na Internet de requisições repetidas). Já os servidores SOA são os servidores responsáveis por responder para Internet (para os servidores de Resolver) cada nome de nosso domínio para IPs. Por exemplo, o domínio darede.com.br que temos registrado para nosso uso, precisa de servidores SOA, também ao menos dois, para que possamos apontar entradas DNS como www, mail, smtp, etc, para os IPs onde essas aplicações rodam. Mas por que sempre ao menos dois? Nem vou responder Nosso servidor DNS de consulta pode verificar algum outro DNS de consulta, como os do provedor, ou resolver diretamente usando o protocolo WHOIS. Esse ai (WHOIS) foi outro que dá aquela dor no estômago quando vê né? Saaaabe o que é…. mas não sabe explicar? 😉 WHOIS é um protocolo utilizado principalmente para: “Informar aos servidores DNS Resolvers quem são os SOA de determinado domínio”. Aqui vem a sacada do DNS. Existem bilhares de entradas nos milhares de SOA, a IANA que controla a internet precisa apenas ter o controle de qual SOA reponde por cada domínio, enquanto nós ficamos responsáveis pelo SOA e suas centenas de entradas. Muitos devem conhecer, mas usando serviços como os abaixo, conseguimos saber quem (who is) o servidor SOA do domínio xpto.com.br, além de outras informações do mantenedor do domínio: registro.br who.is Comando Whois que pode ser instalado no Linux e Windows: Uma vez que o Servidor Resolver sabe quem manda no domínio (xpto.com.br), ele faz a consulta diretamente para o SOA. E agora a pergunta é: “Eu sei que você manda no domínio xpto.com.br. Quem é o www?” Então, o fluxo de uma consulta DNS no dia a dia da Internet fica o seguinte: Cliente pergunta a seu servidor DNS Resolver: “Qual IP de www.darede.com.br?” Servidor DNS Resolver 1, que tem encaminhamento para outro Servidor DNS Resolver (2), pergunta: “Qual IP de www.darede.com.br?” Servidor DNS Resolver 2, que não faz encaminhamento, utiliza o protocolo WHOIS para questionar: “Quem é o SOA de darede.com.br?” Com os IPs do SOA, o Servidor DNS Resolver 2 pergunta à um dos SOAs: Eu sei que você é SOA de darede.com.br, qual o IP de www?” Agora que o Servidor DNS Resolver 2 sabe o IP de www.darede.com.br, ele informa o cliente (ou ao Servidor DNS Resolver 1) qual é o IP e pode ou não configurar para cachear esse nome” Registrar: O Registrar é o órgão responsável por manter a concessão dos domínios usados na Internet. É ele quem configura o WHOIS Server de modo que os servidores DNS Resolvers possam ‘descobrir’ os SOAs de cada domínio. No Brasil, possuímos apenas um registrar, o registro.br, é nele que registramos o domínio para podermos usá-lo. Em outros países podem existir diversos Registrars, nos EUA, por exemplo, os provedores de hospedagem de sites são os próprios registrar. Já por aqui, no Brasil, os provedores de hospedagem de site fazem apenas o papel de SOA, servidor de e-mail, servidor de páginas web, etc. Agora que entendemos o fluxo das consultas DNS na Internet, sabemos que funciona assim, como abaixo: Os clientes consultam seu DNS Resolver procurando pelo IP de www.xpto.com.br; O WHOIS mantém os SOAs que respondem para cada domínio; O SOA mantém a tabela de nomes e IPs do domínio xpto.com.br; Os Servidores DNS Resolvers consultam WHOIS (Quem é) SOA de xpto.com.br; Os Servidores DNS Resolvers consultam ao SOA qual o IP de www.xpto.com.br; Cliente faz a requisição (HTTP, POP, SMTP, etc) ao IP de www.xpto.com.br Até então, falamos apenas de solução de nomes para IP, mas não existe apenas esse tipo de resposta.

Nós usamos cookies para garantir e oferecer a melhor experiência de navegação em nosso site! Mais informações