NS consultas no servidor .net

1

Quando eu quero um servidor ns em servidores .NET, as respostas estão sempre na mesma ordem:

dig ns google.net @F.GTLD-SERVERS.net +short
ns1.google.com.
ns2.google.com.
ns3.google.com.
ns4.google.com.

Se eu não usar o Anwser de servidor .net é girado:

dig ns google.net +short
ns4.google.com.
ns1.google.com.
ns2.google.com.
ns3.google.com.
dig ns google.net +short
ns2.google.com.
ns1.google.com.
ns4.google.com.
ns3.google.com.

com. servidores parece funcionar como net. servidores (sem rotação), mas org. servidores e todos os outros que eu tentei parece girar as respostas.

Por que net. e com. servidores não giram suas respostas?

    
por profy 16.02.2010 / 22:38

1 resposta

2

Resposta curta poderia ser "por que eles deveriam?" ou "por que o outro está fazendo isso?", mas qual é a graça de uma resposta curta?

Depende principalmente da configuração do software em execução no servidor, o BIND tem uma diretiva de configuração chamada rrset-order que faz exatamente isso, por exemplo, se você tiver:

rrset-order {order fixed;};

O BIND sempre retornará os registros de recursos na ordem em que estão no arquivo de zona.

Com:

rrset-order {order random;};

os registros serão retornados em uma ordem aleatória.

A coisa com aleatoriedade é que ela não existe em um computador. Os sistemas operacionais fazem um grande esforço para criar pseudo-aleatoriedade ao coletar eventos "aleatórios", como interrupções, tráfego de rede, eventos de teclado ou mouse, e assim por diante.

Mas quanto mais você chama random(3) , menos valores reais são aleatórios e mais os resultados podem ser previstos.

No nosso caso, a aleatoriedade dos resultados para uma consulta DNS, os servidores para com. e net. nunca (bem, eles poderiam, mas você não quer mexer com a cola) ser usado para retornar resultados para, digamos, www.google.com, que é o negócio de servidores de nome do google.com, então, não faz mal a sempre retorna os servidores de nome do google.com na mesma ordem, assim que seu servidor de nomes recursivo os obtiver, eles serão usados em uma ordem de round robin para fazer consultas de qualquer maneira.

    
por 16.02.2010 / 23:11