Atualização de IP do Bind9

Atualização de IP do Bind9

Tenho 2 servidores DNS (BIND9) (primário, secundário) e 1 domínio. Eu tenho um servidor web com IP dinâmico. Portanto, se meu IP mudou, não consigo acessar meu site pelo domínio, porque nos servidores DNS o berço IP da zona de domínio mudou.

Minha pergunta é: Como posso atualizar minha zona do meu servidor com meu endereço IP público a cada x vez? Alguém pode me fornecer um script de atualização no Linux (Debian 9)?

Obrigado

Responder1

Você pode usar RFC 2136 "DNS UPDATE", criando scripts para a nsupdateferramenta ou usando um cliente de terceiros compatível:

Chave secreta compartilhada (TSIG)

  1. 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.

  2. Copie o texto impresso em seu arquivo named.conf. (Você pode ter diversas chaves para hosts diferentes, cada uma com um nome exclusivo no key "…"campo.)

  3. Habilite 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 utilizadas; por exemplo, zonesubpermite atualizar ointeirozona, e subdomain dyn.example.comtem o significado óbvio.

  4. 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 capazes de atualizações automáticas.

Chave pública/privada (SIG(0))

  1. 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
    
  2. O *.keyarquivo contém a chave pública – adicione-a à sua zona DNS.

    O *.privatearquivo contém a chave privada – copie-a para o computador cliente. (Na verdade, copieambosarquivos para o computador cliente.)

  3. Configure update-policy { }exatamente da mesma maneira que o TSIG.

  4. Execute atualizações também da mesma maneira usando nsupdate -k <filename>.private.

(Observação: 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 chavenãoprecisa corresponder ao nome do host que você está atualizando.)

Kerberos (GSS-TSIG)

Um pouco fora do escopo, mas o BIND9 também suporta isso (principalmente para uso com o Active Directory).

informação relacionada