Você está na página 1de 5

Usando um DNS local - Configurando a rede no ... about:reader?url=http://www.hardware.com.br/...

hardware.com.br

Usando um DNS local - Configurando a


rede no Linux
Carlos E. Morimoto criou 28/mar/2008 às 16h04

4
A Internet como a conhecemos funciona em grande parte graças
aos servidores DNS, que convertem nomes de domínio nos
endereços IP correspondentes. Sem eles, a web seria muito
menos amigável, já que você teria que manter longas listas com
os endereços IP dos sites e servidores que precisa acessar. Sem
o DNS, a web talvez nem tivesse se popularizado tão rápido em
primeiro lugar.
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

1 of 5 10/08/2016 07:06 PM
Usando um DNS local - Configurando a rede no ... about:reader?url=http://www.hardware.com.br/...

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

# apt-get install bind

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

2 of 5 10/08/2016 07:06 PM
Usando um DNS local - Configurando a rede no ... about:reader?url=http://www.hardware.com.br/...

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 127.0.0.1
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:

# apt-get install dnsmasq

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

3 of 5 10/08/2016 07:06 PM
Usando um DNS local - Configurando a rede no ... about:reader?url=http://www.hardware.com.br/...

vice-versa.

Depois de instalar, adicione a linha abaixo no final do arquivo


"/etc/dnsmasq.conf":

listen-address=127.0.0.1

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:

prepend domain-name-servers 127.0.0.1;

4 of 5 10/08/2016 07:06 PM
Usando um DNS local - Configurando a rede no ... about:reader?url=http://www.hardware.com.br/...

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.

Por Carlos E. Morimoto. Revisado 28/mar/2008 às 16h04

5 of 5 10/08/2016 07:06 PM