Sidenote: Distingo entre DNS de encaminhamento / recursivo / resolvido e DNS de não encaminhamento / autoritativo. Embora tecnicamente ambos usem o mesmo protocolo, suas ações variam bastante. Como você menciona 8.8.8.8, eu assumo um servidor DNS de encaminhamento.
Normalmente, seus ISPs limitarão os intervalos de endereços IP que podem consultar seus servidores DNS.
Portanto, se você estiver enfrentando inatividade de linha com o ISP A, seus sistemas podem tentar consultar os servidores DNS para o ISP A através de sua linha e endereço IP do ISP B. Se o ISP A gerenciasse bem seus sistemas, eles recusariam o DNS solicitações de qualquer endereço IP "estrangeiro" (não pertencente ao ISP A).
Existem provavelmente apenas três soluções:
- seu roteador pode fazer dinamicamente solicitações DNS de acordo com as linhas conectadas
- execute seu próprio servidor DNS
- consultar um servidor DNS público
Muitos roteadores oferecem um proxy DNS: você usa o endereço IP do seu roteador como "seu servidor DNS" e o roteador encaminha as solicitações de DNS para os ISPs conectados de acordo com as linhas atualmente conectadas. Se você estiver conectado a vários ISPs e um desses ISPs enfrentar o tempo de inatividade do DNS, algumas das suas solicitações de DNS falharão silenciosamente e você provavelmente gastará muito tempo tentando descobrir o que está errado. Se um dos seus ISPs enfrentar o tempo de inatividade do DNS, mas não o tempo de inatividade da linha, todas as suas solicitações DNS precisarão ir para o outro ISP. Nessa situação, você precisa de dois ISPs para acesso total à Internet: um fornece linha e DNS, o outro fornece linha. Eu não recomendo esses proxies DNS quando você está usando várias linhas. Complexidade mata.
A execução do seu próprio servidor DNS tem as seguintes implicações:
- você deve limitar o acesso ao seu servidor DNS. Os servidores DNS de encaminhamento mal geridos tendem a ser abusados por ex. lançando ataques de negação de serviço.
- A resolução de um nome DNS geralmente envolve muitas etapas, que coletam a latência geral: seu servidor DNS solicita um servidor de nomes raiz, que aponta para um servidor DNS específico de tld; seu servidor DNS, em seguida, solicita que o servidor DNS específico de tld, que por sua vez aponta para algum servidor DNS autoritativo de algum provedor de hospedagem. Seu servidor DNS consultará esse servidor DNS e obterá o resultado final. É claro que essas solicitações estão sendo armazenadas em cache por algum tempo, mas, afinal, todas essas solicitações adicionam alguma latência de rede. A resolução completa de um registro DNS "por conta própria" pode levar muito mais tempo do que perguntar a um servidor DNS público (que provavelmente já tem um resultado armazenado em cache).
Portanto, do ponto de vista do desempenho, provavelmente é uma idéia mais sensata usar um servidor DNS público como o já mencionado DNS do Google (8.8.8.8 e 8.8.4.4) ou OpenDNS (consulte opendns.com).