Toda esta dependência traz um inconveniente, que é o fato de que você fica virtualmente desconectado quando os servidores DNS do provedor saem fora do ar. Obviamente, você ainda continua conectado e pode acessar qualquer servidor através do endereço IP, mas você por acaso sabe algum de cor?
Infelizmente os problemas relacionados aos servidores DNS dos provedores de acesso são extremamente comuns. Muitas vezes mudam os endereços sem aviso, em outras o servidor DHCP (do provedor) é configurado incorretamente e fornece endereços errados quando você se conecta, sem falar nos casos em que os servidores simplesmente ficam inacessíveis, sem motivo aparente.
Diz o bom senso que o provedor deveria manter dois servidores DNS em redes separadas, para manter a redundância, mas o fato é que, em muitos provedores, é usado um único servidor, com um simples alias para a placa de rede, que “simula” a existência de um segundo servidor DNS. Desta forma, temos uma única máquina, de forma que quando o servidor cai, você perde simultaneamente tanto o DNS primário quanto o secundário.
Para fugir desta calamidade, você pode passar a usar um servidor DNS local. No Linux você precisa apenas instalar o pacote “bind” ou “named”, usando o gerenciador de pacotes da sua distribuição. Nas derivadas do Debian, você pode usar o apt-get, como em
O Bind pode ser bastante indigesto de configurar, mas no nosso caso não é necessário alterar a configuração padrão, já que queremos apenas acessar a web e não configurá-lo para responder por nenhum domínio registrado; basta manter o serviço ativo.
É recomendável que você mantenha a porta 53 (tanto TCP quanto UDP) bloqueada no firewall, de forma que não consigam usar seu DNS de fora. Deixar o DNS disponível para o mundo não chega a ser uma brecha terrivelmente grave, mas existe a possibilidade de alguém mal intencionado utilizar seu servidor para enviar um grande número de requisições para outra máquina, como parte de um ataque DoS.
Finalizando, abra agora o arquivo “/etc/resolv.conf” e inclua a linha “nameserver 127.0.0.1” antes das outras entradas, como em:
nameserver 208.67.222.222
nameserver 208.67.220.220
Isto faz com que o sistema passe a usar seu servidor DNS local ao invés dos endereços DNS do provedor.
Uma segunda opção é usar o Dnsmasq, um servidor DNS minimalista, que simplesmente cria um cache dos endereços já acessados, evitando usar o DNS do provedor a cada acesso. Ele é uma opção em casos onde os servidores DNS do provedor são estáveis, mas a velocidade do acesso não é das melhores. Um DNS lento faz com que você perca vários segundos no “procurando pelo servidor” ao acessar cada site.
Instalar o Dnsmasq é igualmente simples, basta procurar pelo pacote no gerenciador da distribuição usada. Ao instalar via apt-get, use:
A principal observação é que você não pode usar o Dnsmasq junto com o Bind, já que ambos escutam na mesma porta. Antes de instalar o Dnsmasq você deve desativar e remover o Bind e vice-versa.
Depois de instalar, adicione a linha abaixo no final do arquivo “/etc/dnsmasq.conf“:
Ela faz com que o Dnsmasq responda apenas a requisições da sua própria máquina, ignorando requisições externas, provenientes de outros micros da rede ou da Internet.
Mantenha o arquivo “/etc/resolv.conf” configurado como vimos a pouco, contendo a linha “nameserver 127.0.0.1” (seguida pelos endereços DNS do provedor), o que faz com que o sistema utilize o Dnsmasq como servidor preferencial.
Tente acessar um site qualquer. Você perceberá que o primeiro acesso continuará demorando o tempo normal, mas a partir do segundo o endereço estará no cache do Dnsmasq e a resolução será instantânea.
Se o seu micro usa DHCP para obter a configuração da rede, o arquivo “/etc/resolv.conf” será modificado a cada acesso, voltando à configuração original, fornecida pelo servidor. Ao invés de ter que modificar o arquivo novamente, a cada acesso, adicione a linha abaixo no começo (começo, não final) do arquivo “/etc/dhcp3/dhclient.conf“, onde vai a configuração do cliente DHCP:
Esta linha faz com que ele sempre adicione a linha “nameserver 127.0.0.1” no início do arquivo “/etc/resolv.conf”, substituindo a edição manual.
Deixe seu comentário