AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 720644
Accepted
Garreth McDaid
Garreth McDaid
Asked: 2015-09-08 07:02:16 +0800 CST2015-09-08 07:02:16 +0800 CST 2015-09-08 07:02:16 +0800 CST

Existe alguma maneira de informar o TTL nos registros DNS do servidor de nomes raiz?

  • 772

No momento, estou migrando uma zona DNS de um provedor de servidor DNS para outro. Estou tentando estimar quanto tempo levará para a alteração se propagar e entender qual pode ser o atraso se eu optar por reverter no meio do fluxo.

Anteriormente, pensei que poderia fazer:

dig example.com ns

Para ver qual era o TTL restante no registro NS, mas agora entendo que esse registro NS é o registro NS para subdomínios na zona, e não o registro NS que emana dos servidores raiz, que é o que determina em última instância qual servidor de nomes a consulta será enviada.

Eu testei isso configurando um registro de teste na zona em cada um dos provedores:

Provider1 test.example.com 10.0.0.1
Provider2 test.example.com 192.168.0.1

Para ambos os provedores, o TTL nos registros NS em 0, enquanto os registros NS no nível TLD Registrar apontam para os servidores de nomes do Provider1.

Quando altero os registros NS na zona em Provider1, posso ver isso refletido nas consultas NS quase imediatamente (usando 'dig example.com ns').

No entanto, quando envio uma consulta para um registro A, ou seja,

test.example.com

sempre volta

10.0.0.1

independentemente de como os registros NS na zona do Provedor 1 estão configurados.

Com base nisso, concluí que os registros NS dentro do arquivo de zona são irrelevantes para a migração e que apenas os registros dos servidores de nomes no nível TLD são importantes.

No entanto, não consigo ler quanto tempo é provável que uma alteração ali se propague, seja para frente ou para trás.

É possível consultar com que TTL estou trabalhando para registros provenientes dos servidores raiz do TLD?

domain-name-system
  • 3 3 respostas
  • 6239 Views

3 respostas

  • Voted
  1. Best Answer
    Andrew B
    2015-09-08T09:09:38+08:002015-09-08T09:09:38+08:00

    Com base nisso, concluí que os registros NS dentro do arquivo de zona são irrelevantes para a migração e que apenas os registros dos servidores de nomes no nível TLD são importantes.

    Esta é uma hipótese incorreta, mas um erro fácil de cometer. Você pode ler um pouco mais sobre o assunto dos registros NS do ápice aqui . A versão curta é que ambos importam, e o que está sendo usado será diferente dependendo se um servidor DNS de cache já consultou seu domínio anteriormente ou não.

    Lembre-se de que a maioria dos servidores DNS recursivos impõe um TTL mínimo, portanto, quaisquer conclusões tiradas de experimentos com um TTL de zero são quase certamente imprecisas. O único caso em que isso não ocorre é quando você controla a política de TTL mínima usada pelo servidor que está consultando.

    No momento, estou migrando uma zona DNS de um provedor de servidor DNS para outro. Estou tentando estimar quanto tempo levará para a alteração se propagar e entender qual pode ser o atraso se eu optar por reverter no meio do fluxo.

    Vou me concentrar neste tópico, pois você teve alguns falsos começos no restante de sua pergunta. Primeiro, é importante lembrar que os TTLs são armazenados em cache em servidores DNS recursivos. Como todos na Internet estão usando diferentes servidores DNS recursivos, a única suposição que você pode fazer é que levará até n segundos, sendo n o valor dos TTLs.

    Isso nos leva a quais TTLs são relevantes aqui:

    • TTLs para registros individuais que estão no cache. Mesmo que os NSregistros expirem, as solicitações de registros individuais que estão no cache não expirarão automaticamente. Exemplo: Se test.example.com IN Aexpira daqui a dez minutos, mas example.com IN NSexpira daqui a cinco minutos, test.example.compermanecerá no cache mesmo após a NSalteração dos registros. Quaisquer problemas relacionados ao valor desse registro nos novos servidores não se tornarão evidentes até que o registro tenha expirado e seja atualizado.
    • TTLs para os NSregistros cola servidos pelos servidores TLD DNS. Eles são usados ​​por servidores recursivos que precisam obter informações sobre seu domínio quando solicitado pela primeira vez. Esses TTLs influenciam quanto tempo leva até que os servidores DNS listados em seu arquivo de zona sejam usados ​​para a próxima atualização. (consulte as perguntas e respostas acima para esclarecimentos sobre isso)
    • TTLs para os NSregistros listados na parte superior do arquivo de zona. Depois que os TTLs do registro cola expirarem, esses TTLs poderão ser usados. As implementações variam neste detalhe. Como você está lidando com uma Internet inteira de diferentes implementações, a única suposição segura é que alguns servidores o estão usando.

    Você não pode presumir que todos os NSTTLs de registro em cache na Internet são de uma fonte ou de outra. Isso o força a planejar o mais alto dos dois, a menos que você realmente não esteja preocupado com servidores DNS recursivos que você não opera.

    Juntando tudo isso, chegamos às seguintes conclusões:

    • A quantidade máxima de tempo necessária para qualquer registro DNS ser atualizado em um novo servidor de nomes é o TTL mais alto entre esse registro, os NSregistros na cola e os NSregistros na zona.
    • Supondo que os TTLs no novo servidor DNS sejam idênticos aos do servidor antigo, o tempo máximo necessário para a reversão é o valor mais alto dos três TTLs, novamente . Todas as consultas que chegaram ao novo servidor entre o momento em que você alterou inicialmente os servidores DNS e reverteu a alteração dependerão dos valores obtidos do novo servidor.
    • É muito importante manter todos os servidores DNS envolvidos na alteração em execução e sincronizados até que todos os TTLs tenham expirado após a NSalteração final do registro. Você não apenas precisa de todos os servidores disponíveis para clientes que não receberam a última alteração, mas qualquer inconsistência nos dados de registro entre os dois pode servir para tornar as coisas ainda mais confusas.
    • 6
  2. joeqwerty
    2015-09-08T07:22:01+08:002015-09-08T07:22:01+08:00

    Você pode fazer isso facilmente com nslookup no Windows, presumo que você possa fazer o mesmo com dig. Com o nslookup, você simplesmente consulta um dos servidores de nomes GTLD para os registros do servidor de nomes do seu domínio usando depuração para obter uma lista de servidores de nomes para o seu domínio com o TTL desses registros do servidor de nomes.

    Microsoft Windows [Version 10.0.10240]
    (c) 2015 Microsoft Corporation. All rights reserved.
    
    C:\Users\Joe>nslookup
    Default Server:  Unknown
    Address:  192.168.1.2
    
    > server f.gtld-servers.net
    Default Server:  f.gtld-servers.net
    Address:  192.35.51.30
    
    > set q=ns
    > set debug
    > crabbygeezer.com
    Server:  f.gtld-servers.net
    Address:  192.35.51.30
    
    ------------
    Got answer:
        HEADER:
            opcode = QUERY, id = 4, rcode = NOERROR
            header flags:  response, want recursion
            questions = 1,  answers = 0,  authority records = 5,  additional = 10
    
        QUESTIONS:
            crabbygeezer.com, type = NS, class = IN
        AUTHORITY RECORDS:
        ->  crabbygeezer.com
            nameserver = freedns1.registrar-servers.com
            ttl = 172800 (2 days)
        ->  crabbygeezer.com
            nameserver = freedns2.registrar-servers.com
            ttl = 172800 (2 days)
        ->  crabbygeezer.com
            nameserver = freedns3.registrar-servers.com
            ttl = 172800 (2 days)
        ->  crabbygeezer.com
            nameserver = freedns4.registrar-servers.com
            ttl = 172800 (2 days)
        ->  crabbygeezer.com
            nameserver = freedns5.registrar-servers.com
            ttl = 172800 (2 days)
        ADDITIONAL RECORDS:
        ->  freedns1.registrar-servers.com
            internet address = 208.64.122.242
            ttl = 172800 (2 days)
        ->  freedns1.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
        ->  freedns2.registrar-servers.com
            internet address = 208.64.122.244
            ttl = 172800 (2 days)
        ->  freedns2.registrar-servers.com
            internet address = 72.20.38.137
            ttl = 172800 (2 days)
        ->  freedns3.registrar-servers.com
            internet address = 5.135.128.216
            ttl = 172800 (2 days)
        ->  freedns3.registrar-servers.com
            internet address = 62.210.149.103
            ttl = 172800 (2 days)
        ->  freedns4.registrar-servers.com
            internet address = 62.210.149.102
            ttl = 172800 (2 days)
        ->  freedns4.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
        ->  freedns5.registrar-servers.com
            internet address = 192.99.40.34
            ttl = 172800 (2 days)
        ->  freedns5.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
    
    ------------
    crabbygeezer.com
            nameserver = freedns1.registrar-servers.com
            ttl = 172800 (2 days)
    crabbygeezer.com
            nameserver = freedns2.registrar-servers.com
            ttl = 172800 (2 days)
    crabbygeezer.com
            nameserver = freedns3.registrar-servers.com
            ttl = 172800 (2 days)
    crabbygeezer.com
            nameserver = freedns4.registrar-servers.com
            ttl = 172800 (2 days)
    crabbygeezer.com
            nameserver = freedns5.registrar-servers.com
            ttl = 172800 (2 days)
    freedns1.registrar-servers.com
            internet address = 208.64.122.242
            ttl = 172800 (2 days)
    freedns1.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
    freedns2.registrar-servers.com
            internet address = 208.64.122.244
            ttl = 172800 (2 days)
    freedns2.registrar-servers.com
            internet address = 72.20.38.137
            ttl = 172800 (2 days)
    freedns3.registrar-servers.com
            internet address = 5.135.128.216
            ttl = 172800 (2 days)
    freedns3.registrar-servers.com
            internet address = 62.210.149.103
            ttl = 172800 (2 days)
    freedns4.registrar-servers.com
            internet address = 62.210.149.102
            ttl = 172800 (2 days)
    freedns4.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
    freedns5.registrar-servers.com
            internet address = 192.99.40.34
            ttl = 172800 (2 days)
    freedns5.registrar-servers.com
            internet address = 72.20.53.50
            ttl = 172800 (2 days)
    >
    

    A sintaxe para executar uma consulta semelhante usando digé:

    $ dig NS crabbygeezer.com @f.gtld-servers.net +trace
    
    • 1
  3. Brandon Xavier
    2015-09-08T07:49:50+08:002015-09-08T07:49:50+08:00

    Costumava ser possível consultar o registro SOA do domínio para obter os valores TTL padrão:

    dig example.com. SOA
    

    Mas isso foi preterido em favor da diretiva $TTL.

    Se você tiver registros específicos nos quais esteja interessado, poderá adicionar o sinalizador +ttlid para cavar:

    dig +ttlid somehost.example.com.
    

    Para obter o TTL exato restante:

    ;; ANSWER SECTION:
    somehost.example.com.      604800  IN      A       192.168.99.5
    

    (o segundo campo é TTL - neste caso 604800)

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve