{"id":81,"date":"2016-05-03T11:30:00","date_gmt":"2016-05-03T14:30:00","guid":{"rendered":"https:\/\/blog.wieczorek.com.br\/novo\/?p=81"},"modified":"2022-02-24T16:10:09","modified_gmt":"2022-02-24T19:10:09","slug":"configurando-um-servidor-de-dns-no-debian","status":"publish","type":"post","link":"https:\/\/blog.wieczorek.com.br\/index.php\/2016\/05\/03\/configurando-um-servidor-de-dns-no-debian\/","title":{"rendered":"Configurando um servidor de DNS no Debian"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">Antes de mais nada, o que \u00e9 DNS?<\/h2>\n\n\n\n<p>DNS, do ingl\u00eas Domain Name System (Sistema de Nomes de Dom\u00ednios), funciona como um sistema de tradu\u00e7\u00e3o de endere\u00e7os IP para nomes de dom\u00ednios. Na verdade, \u00e9 gra\u00e7as ao DNS que voc\u00ea pode digitar www.wieczorek.com.br na barra de endere\u00e7os do seu navegador para acessar o meu site pessoal, e n\u00e3o um monte de n\u00fameros e pontos.<\/p>\n\n\n\n<p>Agora que j\u00e1 sabemos o que \u00e9 o DNS, vamos botar a m\u00e3o na massa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1- Instalando o servidor DNS<\/h3>\n\n\n\n<p>Para aqueles que j\u00e1 est\u00e3o familiarizados com o Linux, a instala\u00e7\u00e3o \u00e9 um mam\u00e3o com a\u00e7\u00facar. Para aqueles que ainda n\u00e3o conhecem o Linux, ver\u00e3o que realmente a instala\u00e7\u00e3o \u00e9 um mam\u00e3o com a\u00e7\u00facar, principalmente nas distribui\u00e7\u00f5es que utilizam o apt&nbsp;&#8211; Advanced Packaging Tool -, como o Debiam, Ubuntu e por ai vai.<\/p>\n\n\n\n<p>A primeira coisa que devemos fazer \u00e9 nos tornar o usu\u00e1rio root da m\u00e1quina. No caso do Debian o comando \u00e9 o seguinte:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$ su<\/code><\/pre>\n\n\n\n<p>Ap\u00f3s isso, vamos a instala\u00e7\u00e3o do bind<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># apt-get install bind<\/code><\/pre>\n\n\n\n<p>Bind? Mas Emilio, voc\u00ea n\u00e3o tinha dito DNS? Bem,&nbsp;o bind&nbsp;\u00e9 o servidor DNS&nbsp;padr\u00e3o da distribui\u00e7\u00e3o Debian. Poderia ser instalado tamb\u00e9m o named, que pode ser a melhor op\u00e7\u00e3o para outras distribui\u00e7\u00f5es.<\/p>\n\n\n\n<p><strong>Vale a pena resslatar:&nbsp;<\/strong>O&nbsp;<em><strong>servidor<\/strong>&nbsp;<\/em>DNS e o&nbsp;<em><strong>cliente<\/strong>&nbsp;<\/em>DNS s\u00e3o diferentes.<a><\/a><\/p>\n\n\n\n<p>Todo computador Linux habilitado para comunicar-se entre rede possui um software chamado de cliente DNS, tamb\u00e9m conhecido como resolver. O resolver simplesmente consulta um servidor DNS atribu\u00eddo no arquivo \/etc\/resolv.conf. A consulta segue a ordem do arquivo.&nbsp;Servidores DNS retornam os valores consultados ap\u00f3s consultarem o arquivo \/etc\/bind\/named.conf e as refer\u00eancias para as quais ele aponta. Os clientes perguntam e os servidores respondem, muitas vezes ap\u00f3s consultarem outros servidores.<\/p>\n\n\n\n<p>A confus\u00e3o muitas vezes surge quando temos o cliente e o servidor em uma mesma m\u00e1quina, principalmente quando o cliente consulta o servidor da mesma m\u00e1quina. Por isso, sempre devemos lembrar de que o cliente ou resolver utiliza o \/etc\/resolv.conf. Todos os outros como o \/etc\/bind\/named.conf e os arquivos apontados por ele pertencem ao servidor.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2- Configurando o servidor DNS<\/h3>\n\n\n\n<p>O servidor DNS \u00e9 um sistema complexo, configurado por uma s\u00e9rie de arquivos. Esses arquivos s\u00e3o formados por um arquivo de boot e v\u00e1rios arquivos de dados de zona, onde cada arquivo de zona \u00e9 apontado por um registro de zona no arquivo de boot.&nbsp;No Debian, com o&nbsp;<strong>bind<\/strong>&nbsp;instalado, o arquivo de boot DNS \u00e9 o \/etc\/bind\/named.conf.<\/p>\n\n\n\n<p>Ent\u00e3o, m\u00e3os \u00e0 obra. Abra o arquivo\u00a0e inclua o apontamento da zona que corresponde ao seu dom\u00ednio, informando em qual arquivo ele deve procurar a configura\u00e7\u00e3o de zona quando o seu dom\u00ednio for digitado.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zone \"dominio.casa\" { # dom\u00ednio da rede que deseja incluir no DNS\r\n   type master;\r\n   file \"\/etc\/bind\/dominio.casa.zone\";   # arquivo que conter\u00e1 as informa\u00e7\u00f5es para tradu\u00e7\u00e3o do nome\r\n};<\/code><\/pre>\n\n\n\n<p>Inclua o apontamento para o IP reverso. Neste caso, qualquer endere\u00e7o ip na sub-rede especificada ser\u00e1 tratada pelo arquivo apontado por ele.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>zone \"1.168.192.in-addr.arpa\" { # endere\u00e7o da sub-rede\r\n        type master;\r\n        file \"\/etc\/bind\/named.198.168.1\";    # arquivo de configura\u00e7\u00e3o que tratar\u00e1 o IP\r\n};<\/code><\/pre>\n\n\n\n<p>Os arquivos de zona, no nosso caso estar\u00e3o na diret\u00f3rio \/etc\/bind\/. Os arquivos de zona s\u00e3o apontados pela declara\u00e7\u00e3o zone do arquivo de boot.&nbsp;A primeira coisa a entender sobre os arquivos de zona \u00e9 que sua sintaxe \u00e9 totalmente diferente do arquivo de boot named.conf.&nbsp;H\u00e1 10 registros poss\u00edveis:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>SOA &#8211; inicializa\u00e7\u00e3o de autoridade<\/li><li>NS &#8211; nome do servidor<\/li><li>A &#8211; registro de endere\u00e7o<\/li><li>PTR &#8211; registro de ponteiro<\/li><li>MX &#8211; interc\u00e2mbio de carreio<\/li><li>CNAME &#8211; nome can\u00f4nico<\/li><li>RP e TXT &#8211; as entradas de documento<\/li><li>HINFO &#8211; informa\u00e7\u00f5es sobre os host<\/li><li>NULL &#8211; registro de recurso nulo sem formato de dados<\/li><\/ol>\n\n\n\n<p>Supondo que o endere\u00e7o de sua sub-rede seja 192.168.1 e que o servidor \u00e9 192.168.1.1, o computador 1 \u00e9 192.168.1.2 e o computador 3 192.168.1.3, crie o primeiro arquivo, que ser\u00e1 o\u00a0<em>\/etc\/bind\/dominio.casa.zone<\/em>\u00a0e adicione o seguinte c\u00f3digo:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$TTL    604800\r\n@        IN SOA dominio.casa. root.dominio.casa. (  # indica para qual dom\u00ednio o SOA \u00e9 obrigat\u00f3rio\r\n                200007201   ; serial (d. adams)   # Serial que mostra aso DNS secund\u00e1rios como realizar transfer\u00eancia de zona\r\n                28800           ; refresh  # indica o tempo em segundos de intervalo para o servidor DNS secund\u00e1rio consultar o prim\u00e1rio para saber se houve altera\u00e7\u00e3o\r\n                14400           ; retry  # tempo em segundo para conex\u00e3o com o servidor prim\u00e1rio caso a tentativa no tempo de refresh falhe\r\n                3600000       ; expiry # tempo de descarte das informa\u00e7\u00f5es no cache\r\n                84400 )         ; minimum  # indica quanto tempo os dados devem ser guardados no cache antes que expire a validade\r\n;\r\n \r\nwww              IN A    192.168.1.1\r\nwww2            IN A    192.168.1.1\r\nwww3            IN A    192.168.1.1\r\nserv               IN A    192.168.1.1\r\ncomp1           IN A    192.168.1.2\r\ncomp2           IN A    192.168.1.3\r\n \r\n@               IN MX 10 dominio.casa.c\r\n@               IN NS    dominio.casa.\r\n@               IN A    192.168.1.1<\/code><\/pre>\n\n\n\n<p>No exemplo acima,&nbsp;o endere\u00e7o www.dominio.casa, www2.dominio.casa, www3.dominio.casa e serv.dominio.casa se referem ao mesmo IP ao 192.168.1.1. O host comp1.dominio.casa se refere ao IP 192.168.1.2 e comp2.dominio.casa te levar\u00e1 ao micro com IP 192.168.1.3.<\/p>\n\n\n\n<p>Para criar o\u00a0IP reverso, crie o arquivo\u00a0<em>\/etc\/bind\/named.198.168.1<\/em>\u00a0com as seguintes linhas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$TTL    604800\r\n@       IN      SOA     dominio.casa. root.dominio.casa.  (\r\n                        2000072001 ; Serial\r\n                        28800      ; Refresh\r\n                        14400      ; Retry\r\n                        3600000  ; Expire\r\n                        86400 )    ; Minimum\r\n \r\n@       IN      NS      dominio.casa.\r\n10      IN      PTR     dominio.casa.<\/code><\/pre>\n\n\n\n<p>Pronto. Agora seu servidor de DNS est\u00e1 configurado e funcionando.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Terminologia<\/h3>\n\n\n\n<p><strong>Cliente DNS:<\/strong>&nbsp;Componentes de software em todos os computadores da rede que transformam o endere\u00e7o IP em nome e nome em endere\u00e7o IP. Em m\u00e1quinas Debian, o cliente busca informa\u00e7\u00f5es no arquivo \/etc\/resolv.conf.<\/p>\n\n\n\n<p><strong>Resolvedor:<\/strong>&nbsp;Para prop\u00f3sitos pr\u00e1ticos, um sin\u00f4nimo para Cliente DNS.<\/p>\n\n\n\n<p><strong>Servidor DNS:<\/strong>&nbsp;Componente de software que retorna a tradu\u00e7\u00e3o de endere\u00e7o IP em nome e de nome em endere\u00e7o IP ao cliente DNS que solicitou. Em m\u00e1quinas Debian, o servidor DNS busca suas configura\u00e7\u00f5es no arquivo \/etc\/bind\/named.conf.<\/p>\n\n\n\n<p><strong>Resolver:<\/strong>&nbsp;Converte endere\u00e7o IP em um nome e um nome em endere\u00e7o IP. Isso \u00e9 feito pelo DNS e \u00e0s vezes por outro software.<\/p>\n\n\n\n<p><strong>Zona:<\/strong>&nbsp;Um subdom\u00ednio ou sub-rede sobre os quais um servidor DNS possui autoridade.<\/p>\n\n\n\n<p><strong>Mestre:<\/strong>&nbsp;Um servidor DNS com autoridade sobre uma zona cujos dados s\u00e3o derivados dos arquivos de dados local. Assim um servidor de nomes pode ser mestre para algumas zonas e escravo para outras.<\/p>\n\n\n\n<p><strong>Prim\u00e1rio:<\/strong>&nbsp;Sin\u00f4nimo para mestre<\/p>\n\n\n\n<p><strong>Escravo:<\/strong>&nbsp;Um servidor de nomes cuja autoridade sobre uma zona depende de dados derivados de outro servidor de nomes em uma zona de transfer\u00eancia. O outro servidor de nomes tanto pode ser um mestre como um outro escravo. Observe que um servidor de nomes pode ser mestre para algumas zonas e escravo para outras.<\/p>\n\n\n\n<p><strong>Secund\u00e1rio:<\/strong>&nbsp;Sin\u00f4nimo para escravo.<\/p>\n\n\n\n<p><strong>Zona de Transfer\u00eancia:<\/strong>\u00a0Uma transfer\u00eancia feita entre um servidor DNS mestre ou escravo e um servidor DNS escravo. O escravo inicia a zona de transfer\u00eancia ap\u00f3s um tempo de refresh ou ap\u00f3s ser notificado de que os dados no servidor remetente foram alterados.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Antes de mais nada, o que \u00e9 DNS? DNS, do ingl\u00eas Domain Name System (Sistema de Nomes de Dom\u00ednios), funciona como um sistema de tradu\u00e7\u00e3o de endere\u00e7os IP para nomes de dom\u00ednios. Na verdade, \u00e9 gra\u00e7as ao DNS que voc\u00ea pode digitar www.wieczorek.com.br na barra de endere\u00e7os do seu navegador [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[28,84,29,69,4],"tags":[76,77,78,79,82,81,80,83],"class_list":["post-81","post","type-post","status-publish","format-standard","hentry","category-internet","category-linux","category-redes","category-software-livre","category-tecnologia","tag-bind","tag-configurar","tag-debian","tag-dns","tag-internet","tag-ip","tag-linux","tag-tcp-ip"],"_links":{"self":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/81","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/comments?post=81"}],"version-history":[{"count":2,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/81\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/posts\/81\/revisions\/267"}],"wp:attachment":[{"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/media?parent=81"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/categories?post=81"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.wieczorek.com.br\/index.php\/wp-json\/wp\/v2\/tags?post=81"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}