Você pode usar o "DNS UPDATE" do RFC 2136, seja fazendo o script da ferramenta nsupdate
ou usando um cliente de terceiros compatível:
Chave secreta compartilhada (TSIG)
-
Gere uma chave secreta para autenticar as atualizações:
$ tsig-keygen -r /dev/urandom | tee tsig-key.private key "tsig-key" { algorithm hmac-sha256; secret "7P6HbRZRJCmtauo/lV0jwN9wkMgBTUikhf9JuaTvYT4="; };
Essa chave é conhecida pelo servidor e pelo cliente e por mais ninguém.
-
Copie o texto impresso para o seu
named.conf
. (Você pode ter várias chaves para diferentes hosts, cada um com um nome exclusivo no campokey "…"
). -
Ativar atualizações dinâmicas na configuração da zona:
zone … { … update-policy { /* grant <key_name> <policy> <record_types> */ grant "tsig-key" name myserver.example.com ANY; }; };
Várias políticas diferentes podem ser usadas; por exemplo.
zonesub
permite atualizar a zona inteira esubdomain dyn.example.com
tem o significado óbvio. -
Execute atualizações:
$ nsupdate -k tsig-key.private > zone example.com > del myserver.example.com > add myserver.example.com 3600 A 100.64.1.1 > send
Existem vários clientes com capacidade para atualizações automáticas.
Chave pública / privada (SIG (0))
-
Gere um par de chaves:
$ dnssec-keygen -r /dev/urandom -T KEY -n USER myclient.example.com $ ls K* Kmyclient.example.com.+005+07399.key Kmyclient.example.com.+005+07399.private
-
O arquivo
*.key
contém a chave pública - adicione-o à sua zona DNS.O arquivo
*.private
contém a chave privada - copie-o para o computador cliente. (Na verdade, copie ambos arquivos para o computador cliente.) -
Configure
update-policy { }
exatamente da mesma maneira que com o TSIG. -
Realize as atualizações da mesma forma usando
nsupdate -k <filename>.private
.
(Nota: Embora os nomes das chaves TSIG sejam arbitrários, as chaves SIG (0) são armazenadas no DNS e, portanto, sempre nomeadas como nomes de host / subdomínios. O nome da chave não precisa corresponder ao hostname ' está atualizando, no entanto.)
Kerberos (GSS-TSIG)
Um pouco fora do escopo, mas o BIND9 também suporta isso (principalmente para uso com o Active Directory).