Servidor de DNS dinâmico

Um serviço que é necessário em uma infraestrutura é o DNS, este serviço efetua a tradução de nomes para IP’s e vice-versa.

Para a montagem de um laboratório mais realístico com uma produção, necessitamos ter um serviço como este.

Portanto criei o projetomycloudlab/infra-dynamic-dns que tem como objetivo criar um servidor dns em docker que pudesse ser usado para fazer forward, multiplas zonas, zonas reversas, e atualizações via nsupdate.

Como o objetivo é ter um serviço de dns funcional para laboratórios, foi ignorado a criação de chaves de segurança para a atualização do dns.

O projeto é bem simples, basta executar a imagem docker abaixo:

docker run \
    -e ZONES="example.com" \
    -e REVERSE_ZONES="0.168.192" \
    -e FORWARDERS="8.8.8.8; 8.8.4.4;" \
    --publish 53:53/tcp --publish 53:53/udp \
    -d -t mycloudlab/infra-dynamic-dns 

E você terá um servidor de dns completamente funcional configurado para o dominio example.com com uma zona reversa para a rede 192.168.0.0/24.

A atualização da zona pode ser feita via nsupdate como abaixo:

echo "
server localhost

; atualiza a zona example.com 
; criando o endereço test.example.com para o ip 192.168.0.1
zone example.com
update del test.example.com. A
update add test.example.com 1440 A 192.168.0.1


; atualiza a zona reversa 
; criando um apontamento do ip 192.168.0.1 para o endereço test.example.com
zone 0.168.192.in-addr.arpa
update del 1.0.168.192.in-addr.arpa. PTR
update add 1.0.168.192.in-addr.arpa. 300 PTR test.example.com

show
send
" | nsupdate 

Para testar a atualização usando dig:

dig @localhost test.example.com +short
192.168.0.1

dig @localhost  -x 192.168.0.1 +short
test.example.com.

Tudo isso com uma imagem de apenas 13.1MB.

Written on April 11, 2018