Por que preciso definir um nome de host?

6

Eu sei que há algumas perguntas sobre nomes de host. Mas mesmo depois de lê-los, eu realmente não entendi completamente o conceito de nomes de host. Então aqui está a minha pergunta:

Estou seguindo este guia para configurar um VPS com Linode.

O primeiro passo é definir um nome de host. Pelo que entendi, um nome de host é apenas um nome arbitrário que você pode definir para identificar sua máquina em uma rede. Além disso, o FQDN é o nome do host mais o nome do domínio (que pode ou não estar relacionado a domínios da Web hospedados no servidor). Por favor, corrija-me se estiver errado.

Em seguida, ele me instrui a modificar o / etc / hosts e adicionar algo como:

12.34.56.78    plato.example.com    plato

Então, minha pergunta é: o que exatamente essa linha realiza? Já fiz isso antes, mas nunca entendi o que ele fez. Além disso, se o nome do host e o nome de domínio usados no FQDN forem apenas arbitrários, onde eles poderão ser usados? Os casos de uso reais seriam muito úteis e a explicação detalhada seria ótima. Obrigado!

    
por gerky 20.08.2013 / 16:05

2 respostas

10

Certos aplicativos usarão o nome do host para determinados parâmetros, a menos que sejam explicitamente definidos. O postfix, por exemplo, se identificará usando o nome do host da máquina, a menos que você especifique o contrário no arquivo de configuração.

O arquivo de hosts é usado para resolução de nomes. Ao resolver nomes de domínio, seu servidor verificará seu arquivo de hosts antes de fazer uma solicitação de DNS.

Essa linha que você postou essencialmente fará com que seu servidor resolva "plato.example.com" e "plato" para esse endereço IP. É por isso que você geralmente verá a primeira linha com 127.0.0.1 localhost localhost.localdomain .... para que o servidor sempre resolva seu nome de host para si mesmo.

    
por 20.08.2013 / 16:08
7

Isso torna o sistema capaz de resolver seu próprio nome, mesmo se o DNS estiver offline. Há muito tempo atrás não havia DNS, todos compartilhavam arquivos hosts com os pares nome / IP para cada máquina que eles precisavam se conectar neles.

Se você olhar no /etc/nsswitch.conf, verá que para hosts ele (por padrão, de qualquer maneira) tem uma linha que diz     hosts: arquivos dns

Isso significa que primeiro ele verificará o arquivo hosts e, se ele não encontrar o nome, ele irá para o DNS. Isso pode economizar muito tráfego de rede se você tiver um aplicativo que pesquise com frequência o nome dos hosts locais ou o IP (bem, e você não está armazenando em cache as pesquisas de nomes que você normalmente faz).

    
por 20.08.2013 / 16:10