/etc/resolv.conf

dezembro 6, 2008

Este texto é uma simples forma de me lembrar de como funciona o resolução de nomes em um sistema GNU/Linux.

Resolver é uma biblioteca, uma coleção de funções encontradas na biblioteca padrão do C. Ela lê os arquivos de configuração quando chamados, a partir destes arquivos, determina a ordem e outras configurações relevantes referentes a forma em que você configurou seu ambiente. A versão 2 da glibc, biblioteca padrão da GNU para o C, tem como o arquivo principal o /etc/nsswitch.conf, anterior a essa versão, o arquivo principal para o resolver era o /etc/host.conf.

O arquivo /etc/host.conf contém informações especificas para a biblioteca do resolver, sendo composto de palavras chaves inseridas uma a cada linha. São elas:

order: Define como a procura será executada, sendo seguida por uma ou mais métodos (bind,hosts e nis) separados por vírgula.

trim: Destinado para uso de hosts locais.
multi: Quando definido para on, a biblioteca retorna todos os endereços válidos para o host que existir na tabela /etc/hosts (base de dados local de hosts), para desabilitar basta definir como off.
nospoof: quando on, a biblioteca tenta impedir o spoofing (Tentativas de servidores de nome suprir um falso hostname). Quando off essa verificação não é feita.
spoofalert: quando o nospoof estiver definido como on, informará as falhas por meio do syslog. Por padrão vem como off.
reorder: quando on o resolv+ ( interface para o programador, sendo as rotinas idênticas a do resolver) tentará refazer o pedido de endereço de host, reordenando todos os métodos para o lookup.

Usualmente as configurações de NIS e DNS estão fixa na biblioteca C, assim para que as configurações destes serviços possam ser alteradas a sua ordem, baseado no esquema da biblioteca C do Solaris 2, as fontes de dados e a ordem de procura foram definidas no arquivo /etc/nsswitch.conf. Esse esquema foi chamado então de Name Service Switch (NSS).

O arquivo /etc/nsswitch.conf contém as seguintes especificações:

aliases: Aliases de correio eletrônico.
ethers: Números da Ethernet.
group: Grupo de usuários, utilizado pelas funções getgrent() (função da biblioteca C que retorna uma estrutura com informações do grupo, obtidas do arquivo /etc/group).
hosts: Número e nome das máquinas, utilizado pelas funções gethostbyname() (função da biblioteca C que retorna informações sobre um determinado host).
netgroup: Uma lista mais longa da rede de máquinas e usuários.
network: Número e nomes da rede.

passwd: Senhas dos usuários.
protocols: Protocolos da rede.
publickey: Chaves públicas e privadas para Secure_RPC usado por NFS e NIS+.

rpc: Número e nome para processos de chamada remota.

services: Serviços de rede.

shadown: Senha shadown dos usuários.

Agora que temos a compreensão do caminho que o resolver realiza para converter um nome em um IP, podemos entender melhor a função do arquivo resolv.conf, que quando não existir, a máquina local é utilizada para a resolução de nomes. O arquivo /etc/resolv.conf contém as seguintes chaves:

namseserver: Pode ser listado no máximo 3 vezes, sendo ele responsável pelo endereço de internet ou nome do servidor pela qual o resolver irá interrogar.
domain: Nome do domínio local.
search: Examina a lista de procura de nome de host.
sortlist: Aos dados retornados pelo gethostbyname() permita que sejam ordenados.
options: Permiti que algumas variáveis do resolver possam ser alteradas.

O /etc/resolv.conf é o arquivo principal para o resolver.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: