{"id":21547064,"url":"https://github.com/sergioduartte/dns-server","last_synced_at":"2025-07-05T04:39:01.388Z","repository":{"id":67119043,"uuid":"218843763","full_name":"sergioduartte/dns-server","owner":"sergioduartte","description":"Simple configurations to create a dns server.","archived":false,"fork":false,"pushed_at":"2020-10-16T12:31:32.000Z","size":16,"stargazers_count":0,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T01:45:04.345Z","etag":null,"topics":["hacktoberfest","hacktoberfest2019","learning","network"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sergioduartte.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-10-31T19:23:51.000Z","updated_at":"2019-11-01T01:38:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"043b1876-e125-4f4e-b04f-2b60796085ce","html_url":"https://github.com/sergioduartte/dns-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/sergioduartte/dns-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergioduartte%2Fdns-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergioduartte%2Fdns-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergioduartte%2Fdns-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergioduartte%2Fdns-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sergioduartte","download_url":"https://codeload.github.com/sergioduartte/dns-server/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sergioduartte%2Fdns-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263685196,"owners_count":23495816,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacktoberfest","hacktoberfest2019","learning","network"],"created_at":"2024-11-24T06:14:04.457Z","updated_at":"2025-07-05T04:39:01.378Z","avatar_url":"https://github.com/sergioduartte.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Configurando *Domain Name Server* - DNS\n\nEste repositório contém os arquivos **básicos** necessários para a configuração de um serviço DNS utilizando o Bind9.\n \n## Getting started\n\n#### Instalando o bind9 em Sistemas Debian-based\n\n```# apt-get update ; apt-get install bind9 ```\n\nTodos os arquivos de configuração se encontram no diretório `/etc/bind `\n\n```# cd /etc/bind/ ```\n\nNeste repositório, o arquivo `named.conf.local` é utilizado para declarar as zonas direta e reversa. Usar editor de preferencia (nesse exemplo usamos o *vim*).\n\n```# vim named.conf.local```\n\nPara comentar uma linha neste arquivo, usa-se o `//`. Seguem as zonas criadas neste exemplo.\n\n\n```\n// Zona de Pesquisa Direta\n\nzone \"dns.edu.br\" {\n        type master;\n        file \"/etc/bind/zones/dns.edu.br\";\n        };\n\n// Zona de Pesquisa Reversa\n\nzone \"26.168.192.in-addr.arpa\" {\n        type master;\n        file \"/etc/bind/zones/192.rev\";\n        };\n\n// Zona de Pesquisa reversa IPV6\n\nzone    \"9.c.2.1.d.5.d.f.ip6.arpa\" {\n        type master;\n        file    \"/etc/bind/zones/fd5d.12c9.rev\";\n        };\n\n```\n\nPor organização, criei um diretório `/zones` para os arquivos das zonas. \n\n```# cd /etc/bind/zones/ ```\n\nNosso arquivo de zona direta é o `dns.edu.br`. Utilizamos tipo A para os endereços IPv4 e AAAA para os IPv6.\n\n``` \n$TTL    604800\n@       IN      SOA     server.dns.edu.br. root.dns.edu.br. (\n                         2018103101     ; Serial\n                         604800         ; Refresh\n                          86400         ; Retry\n                        2419200         ; Expire\n                         604800 )       ; Negative Cache TTL\n;\n\ndns.edu.br.     IN      NS      server.dns.edu.br.\ndns.edu.br.     IN      A       192.168.26.130\n                IN      AAAA    fd5d:12c9:2201:1::254\n;-----------------------------------------------------------------\nserver          IN      A       192.168.26.130\nserver          IN      AAAA    fd5d:12c9:2201:1::254\n\ncliente         IN      A       192.168.26.139\n                IN      AAAA    fd5d:12c9:2201:1:5191:a00b:d863:9efc\nteste           IN      A       192.168.26.137\n\ndns             IN      AAAA    2001:db8:1ab:16::3\n                IN      A       192.168.26.136\n\n; ----------------    Rede 10.30.0 ----------------------------\n\nhost      IN      A       10.30.0.121\n\n; -----------------   CNAMES   ---------------------------------\n\ncliente-pc      IN      CNAME   cliente\n\n```\n\nZona de pesquisa reversa:\n\n```\n$TTL    604800\n@       IN      SOA     server.dns.edu.br. root.dns.edu.br. (\n                         2018103101     ; Serial\n                         604800         ; Refresh\n                          86400         ; Retry\n                        2419200         ; Expire\n                         604800 )       ; Negative Cache TTL\n;\n@       IN      NS      server.\n\n130     IN      PTR     server.dns.edu.br.\n137     IN      PTR     teste.dns.edu.br.\n139     IN      PTR     cliente.dns.edu.br.\n\n;4.5.2.0.0.0.0.0.0.0.0.0.0.0.0.0.1.0.0.0.1.0.2.2.9.c.2.1.d.5.d.f.ip6.arpa   IN PTR server.dns.edu.br.\n\n ```\nPara finalizar, verifique se o bind9 está executando normalmente\n\n`# service bind9 status`\n\nSe estiver tudo Ok deverá retornar `active (running)` como no exemplo:\n\n```\nroot@teste:/home/server# service bind9 status\n● bind9.service - BIND Domain Name Server\n   Loaded: loaded (/lib/systemd/system/bind9.service; enabled; vendor preset: enabled)\n  Drop-In: /run/systemd/generator/bind9.service.d\n           └─50-insserv.conf-$named.conf\n   Active: active (running) since Wed 2018-11-21 05:22:49 PST; 4h 15min ago\n     Docs: man:named(8)\n Main PID: 1008 (named)\n   CGroup: /system.slice/bind9.service\n           └─1008 /usr/sbin/named -f -u bind\n\nNov 21 05:22:50 teste named[1008]: zone 127.in-addr.arpa/IN: loaded serial 1\nNov 21 05:22:50 teste named[1008]: zone 9.c.2.1.d.5.d.f.ip6.arpa/IN: loaded serial 2018103101\nNov 21 05:22:51 teste named[1008]: zone localhost/IN: loaded serial 2\nNov 21 05:22:51 teste named[1008]: zone 255.in-addr.arpa/IN: loaded serial 1\nNov 21 05:22:51 teste named[1008]: zone 26.168.192.in-addr.arpa/IN: loaded serial 2018103101\nNov 21 05:22:51 teste named[1008]: zone lsd.edu.br/IN: loaded serial 2018103101\nNov 21 05:22:51 teste named[1008]: all zones loaded\nNov 21 05:22:51 teste named[1008]: running\nNov 21 05:22:51 teste named[1008]: zone 26.168.192.in-addr.arpa/IN: sending notifies (serial 2018103101)\nNov 21 05:22:51 teste named[1008]: zone 9.c.2.1.d.5.d.f.ip6.arpa/IN: sending notifies (serial 2018103101)\nroot@teste:/home/server# \n\n\n```\n\nCaso o serviço esteja inativo, tente o seguinte comando:\n\n`# service bind9 start` \n\nOu utilizando o `systemctl` para sistemas com o systemd:\n\n`# systemctl start bind9 ` \n\n`# systemctl enable bind9 `\n\n`# systemctl restart bind9 ` \n\n\n#### Instalação via Ansible\n\nPara instalar o ansible execute o script shell que se encontra no sub-diretório ./ansible/ansible-ubuntu-simple-install.sh\n\nApós a instalação é necessário adicionar uma chave pública para uso do playbook (Via ssh-copy-id ou editando o arquivo authorized_keys dos hosts a serem afetados).\n\nPor fim executar o comando:\n`# ansible-playbook ./ansible/main-playbook.yml -i ./ansible/hosts --become-user root `\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioduartte%2Fdns-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsergioduartte%2Fdns-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsergioduartte%2Fdns-server/lists"}