Configuração de rede: resolv.conf e hosts

4

Eu li o manual e estou um pouco confuso. Isso é o que eu não entendo:

When your system tries to resolve a hostname to an IP address or determine the
ostname for an IP address, it refers to the /etc/hosts file before using the
name servers

Então:

1) Quando o sistema tenta resolver um hostname? Para meu entendimento, quando o cabeçalho de um datagrama especifica um nome de host, estou certo?

2) Por que se refere a hosts antes de resolv.conf ?

3) Depois que o nome do host é resolvido, o sistema muda para a tabela de roteamento?

    
por yotamoo 06.10.2011 / 12:11

2 respostas

13

1) Normalmente, o seu sistema usaria o servidor DNS no seu 'resolv.conf'. Se você visitar www.yahoo.com, seu sistema entrará em contato com o DNS, o DNS retornará o endereço IP desse endereço e seus sistemas saberão qual endereço IP corresponde ao endereço www.yahoo.com.

2) Ele usa hosts antes de tentar resolver um endereço porque hosts file é usado para substituir qualquer endereço que você esteja tentando resolver. ou seja: você já tem provavelmente uma entrada lá, 127.0.0.1 localhost diz ao sistema que se você está tentando entrar em contato com o host com o nome "localhost" ele irá fazê-lo usando o endereço 127.0.0.1, neste caso sua interface lopback na sua eth0.

3) Depois que o sistema souber que um endereço de um host está procurando diretamente em seu hosts ou entrando em contato com os servidores DNS em 'resolv.conf', ele examinará a tabela de roteamento para ver qual das regras explica o que fazer com o tráfego com destino para o endereço IP obtido.

Ie: Imagine que você tenha 2 computadores em sua rede com nomes de host de "Ubuntu-One" e "Ubuntu-Two", cada computador provavelmente terá isso atribuído no arquivo host :

127.0.0.1 localhost Ubuntu-One para o computador Ubuntu-One 127.0.0.1 localhost Ubuntu-Two para o computador Ubuntu-Two

Isso é feito automaticamente e é a razão pela qual você pode resolver 'localhost' e 'Ubuntu-One "e" Ubuntu-Two "em cada terminal respectivo.

Tente executar ping no Ubuntu-Two do Ubuntu-One e o Ubuntu-One entrará em contato com os servidores DNS no seu arquivo resolv.conf , os servidores dirão "não conheço nenhum IP relacionado a esse endereço" e seu PC responderá " Nome do host desconhecido ". Adicione a linha <IPADDRESSFROMUBUNTU-TWO Ubuntu-Two ao arquivo hosts do Ubuntu-One e tente voltar a pingar o sistema verá que no arquivo hosts o endereço IP do Ubuntu-Two é xxxx, então verificará sua tabela de roteamento para ver qual regra se aplica a esse intervalo de IP ou IP e entrará em contato com o host usando o gateway especificado (ou nenhum). É por isso que hosts é sempre resolv.conf .

    
por Bruno Pereira 06.10.2011 / 12:35
0

Ele precisa pelo menos resolver o nome do host para um IP sempre que você quiser se conectar a qualquer coisa. Ele usa as configurações de / etc / hosts primeiro porque é local para o seu sistema. Se você não tiver fornecido, ele procurará pelos seus servidores DNS, que estão definidos no resolv.conf.

    
por Jo-Erlend Schinstad 06.10.2011 / 12:35