DNS significa Domain Name System (sistema de nomes de domínio). O DNS converte os nomes de máquinas para endereços IPs que todas as máquinas da Internet possuem. Ele faz o mapeamento do nome para o endereço e do endereço para o nome e algumas outras coisas. Um mapeamento é simplesmente uma associação entre duas coisas, neste caso um nome de computador, como www.cipsga.org.br, e o endereço IP desta máquina (ou endereços) como 200.245.157.9.
O DNS foi criado com o objetivo de tornar as coisas mais
fáceis para o usuário, permitindo assim, a identificação de computadores na
Internet ou redes locais através de nomes (é como se tivéssemos apenas que
decorar o nome da pessoa ao invés de um número de telefone). A parte
responsável por traduzir os nomes como www.nome.com.br
em um
endereço IP é chamada de resolvedor de nomes.
O resolvedor de nomes pode ser um banco de dados local (controlador por um arquivo ou programa) que converte automaticamente os nomes em endereços IP ou através de servidores DNS que fazem a busca em um banco de dados na Internet e retornam o endereço IP do computador desejado. Um servidor DNS mais difundido na Internet é o bind.
Através do DNS é necessário apenas decorar o endereço sem precisar se preocupar com o endereço IP (alguns usuários simplesmente não sabem que isto existe...). Se desejar mais detalhes sobre DNS, veja o documento DNS-HOWTO.
Você deve estar acostumado com o uso dos nomes de computadores na Internet, mas pode não entender como eles são organizados. Os nomes de domínio na Internet são uma estrutura hierárquica, ou seja, eles tem uma estrutura semelhante aos diretórios de seu sistema.
Um domínio é uma família ou grupo de nomes. Um domínio pode ser colocado em um sub-domínio. Um domínio principal é um domínio que não é um sub-domínio. Os domínios principais são especificados na RFC-920. Alguns exemplos de domínios principais comuns são:
COM
- Organizações Comerciais
EDU
- Organizações Educacionais
GOV
- Organizações Governamentais
MIL
- Organizações Militares
ORG
- Outras Organizações
NET
- Organizações relacionadas com a Internet
Identificador do País
- São duas letras que representam um
país em particular.
Cada um dos domínios principais tem sub-domínios. Os domínios principais
baseados no nome do país são freqüentemente divididos em sub-domínios baseado
nos domínios .com
, .edu
,
.gov
, .mil
e .org
.
Assim, por exemplo, você pode finaliza-lo com: com.au
e
gov.au
para organizações comerciais e governamentais na
Austrália; note que isto não é uma regra geral, as organizações de domínio
atuais dependem da autoridade na escolha de nomes de cada domínio. Quando o
endereço não especifica o domínio principal, como o endereço
www.unicamp.br
, isto quer dizer que é uma organização
acadêmica.
O próximo nível da divisão representa o nome da organização. Subdomínios futuros variam em natureza, freqüentemente o próximo nível do sub-domínio é baseado na estrutura departamental da organização mas ela pode ser baseada em qualquer critério considerado razoável e significantes pelos administradores de rede para a organização.
A porção mais a esquerda do nome é sempre o nome único da máquina chamado hostname, a porção do nome a direita do hostname é chamado nome de domínio e o nome completo é chamado nome do domínio completamente qualificado (Fully Qualified Domain Name).
Usando o computador www.debian.org.br
como exemplo:
br
- País onde o computador se encontra
org
- Domínio principal
debian
- Nome de Domínio
www
- Nome do computador
A localização do computador www.debian.org.br
através de
servidores DNS na Internet obedece exatamente a seqüência de procura acima. Os
administradores do domínio debian.org.br
podem cadastrar
quantos sub-domínios e computadores quiserem (como
www.non-us.debian.org.br
ou
cvs.debian.org.br
).
Abaixo a descrição dos arquivos usados no processo de resolver um nome no sistema GNU/Linux.
O /etc/resolv.conf
é o arquivo de configuração principal
do código do resolvedor de nomes. Seu formato é um arquivo texto simples com
um parâmetro por linha e o endereço de servidores DNS externos são
especificados nele. Existem três palavras chaves normalmente usadas que são:
Especifica o nome do domínio local.
Especifica uma lista de nomes de domínio alternativos ao procurar por um computador, separados por espaços. A linha search pode conter no máximo 6 domínios ou 256 caracteres.
Especifica o endereço IP de um servidor de nomes de domínio para resolução de nomes. Pode ser usado várias vezes.
Como exemplo, o /etc/resolv.conf
se parece com isto:
domain maths.wu.edu.au search maths.wu.edu.au wu.edu.au nameserver 192.168.10.1 nameserver 192.168.12.1
Este exemplo especifica que o nome de domínio a adicionar ao nome não
qualificado (i.e. hostnames sem o domínio) é
maths.wu.edu.au
e que se o computador não for encontrado
naquele domínio então a procura segue para o domínio
wu.edu.au
diretamente. Duas linhas de nomes de servidores
foram especificadas, cada uma pode ser chamada pelo código resolvedor de nomes
para resolver o nome.
O arquivo /etc/host.conf
é o local onde é possível
configurar alguns ítens que gerenciam o código do resolvedor de nomes. O
formato deste arquivo é descrito em detalhes na página de manual resolv+. Em
quase todas as situações, o exemplo seguinte funcionará:
order hosts,bind multi on
Este arquivo de configuração diz ao resolvedor de nomes para checar o arquivo
/etc/hosts
(parâmetro hosts
) antes de
tentar verificar um servidor de nomes (parâmetro
bind
) e retornar um endereço IP válido para o computador
procurado e multi on retornará todos os endereços IP
resolvidos no arquivo /etc/hosts
ao invés do primeiro.
Os seguintes parâmetros podem ser adicionados para evitar ataques de IP spoofing:
nospoof on spoofalert on
O parâmetro nospoof on ativa a resolução reversa do nome da biblioteca resolv (para checar se o endereço pertence realmente àquele nome) e o spoofalert on registra falhas desta operação no syslog.
O arquivo /etc/hosts
faz o relacionamento entre um nome de
computador e endereço IP local. Recomendado para IPs constantemente acessados
e para colocação de endereços de virtual hosts (quando deseja referir pelo nome
ao invés de IP). A inclusão de um computador neste arquivo dispenda a consulta
de um servidor de nomes para obter um endereço IP, sendo muito útil para
máquinas que são acessadas frequentemente. A desvantagem de fazer isto é que
você mesmo precisará manter este arquivo atualizado e se o endereço IP de algum
computador for modificado, esta alteração deverá ser feita em cada um dos
arquivos hosts
das máquinas da rede. Em um sistema bem
gerenciado, os únicos endereços de computadores que aparecerão neste arquivo
serão da interface loopback e os nomes de computadores.
# /etc/hosts 127.0.0.1 localhost loopback 192.168.0.1 maquina.dominio.com.br
Você pode especificar mais que um nome de computador por linha como demonstrada pela primeira linha, a que identifica a interface loopback. Certifique-se de que a entrada do nome de domínio neste arquivo aponta para a interface de rede e não para a interface loopback, ou terá problema com o comportamento de alguns serviços.
OBS: Caso encontre problemas de lentidão para resolver nomes e até para executar os aplicativos (como o mc, etc), verifique se existem erros neste arquivo de configuração.
Estes sintomas se confundem com erros de memória ou outro erro qualquer de
configuração de hardware, e somem quando a interface de rede é desativada (a
com o IP não loopback). Isto é causados somente pela má configuração do
arquivo /etc/hosts
. O bom funcionamento do
Unix depende da boa atenção do administrador de sistemas
para configurar os detalhes de seu servidor.
O arquivo /etc/networks
tem uma função similar ao arquivo
/etc/hosts
. Ele contém um banco de dados simples de nomes
de redes contra endereços de redes. Seu formato se difere por dois campos por
linha e seus campos são identificados como:
Nome_da_Rede Endereço_da_Rede
Abaixo um exemplo de como se parece este arquivo:
loopnet 127.0.0.0 localnet 192.168.1.0 amprnet 44.0.0.0
Quando usar comandos como route
, se um destino é uma rede e
esta rede se encontra no arquivo /etc/networks
, então o
comando route
mostrará o nome da rede
ao invés de seu endereço.
Copyright © 1999-2020 - Gleydson Mazioli da Silva