Quais são as ramificações da configuração do nome do host?

13

Eu tenho vários servidores Amazon EC2 e estou usando o Chef para gerenciar a configuração. Eu gostaria de definir o nome do host para que o prompt do bash padrão seja mais útil.

Agora mesmo após o lançamento de um novo servidor, ele está definido como:

root@ip-10-123-123-123

Como estou usando o Ubuntu 12 nessas caixas, consultei a página de manual correspondente para o nome do host . Ele contém muitas informações boas sobre como configurá-lo e fala um pouco sobre o nome do host e o fqdn, mas não me diz o que eu quero saber:

Quais são as ramificações da configuração do nome do host?

Gostaria de assumir que definir o nome do host é principalmente um item de conveniência para usuários e administradores de sistemas, fornecendo à caixa um nome de rosto / agradável para que possa ser mais facilmente reconhecido internamente (por meio do prompt de comando, e-mails enviados, etc), mas não sou positivo.

Não vejo o nome do host listado no /etc/hostsarquivo, o que parece ser um bom sinal de que não afetará nada negativamente se alterado:

127.0.0.1 localhost
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Estou no caminho certo? Quais são as ramificações da configuração do nome do host?

Atualizar

Tentei alterar o nome do host na minha instância ec2 de ip-10-123-123-123para webservere hostname --fqdnnão funciona mais. Se eu colocá-lo de volta, ele funciona bem. O Apache também me dá um erro ao iniciar, que não pode determinar com segurança o fqdn. Suponho que deve haver alguma maneira de definir o nome do host sem atrapalhar o fqdn.

cwd
fonte
Também descobri. Podemos definir nomes de host fáceis de lembrar para instâncias do EC2? e postou uma resposta com base no que encontrei, mas ainda há alguns buracos.
Cwd

Respostas:

15

Eu só queria acrescentar que o nome do host deve ser resolvido, através do DNS ou / etc / hosts. Caso contrário, muitas ferramentas podem apresentar atrasos prolongados devido a uma falha na pesquisa do nome do host. Eu tive esse problema com muitos programas GUI.

daniel kullmann
fonte
Este é um ponto muito importante. Eu votaria mais de uma vez, se pudesse. Obrigado!
Cwd
Isso realmente faz responder à pergunta. Se você alterar o nome do host para algo que realmente resolva, ele hostname --fqdnainda funcionará.
Bryant
12

O nome do host (definido e exibido pelo hostnamecomando e normalmente armazenado /etc/hostname) é usado pelos aplicativos locais. Não é conhecido por outras máquinas e não pode ser usado para entrar em contato com o host. O nome do host geralmente aparece em solicitações de shell e vários aplicativos podem usá-lo para fins de registro, por exemplo, pelo software de controle de versão quando você faz uma confirmação.

Não há conexão técnica entre o nome do host e qualquer nome que outras máquinas possam usar para designar sua máquina. O DNS é o que normalmente é usado para nomear uma máquina em um contexto da Internet (ou mais precisamente, em uma interface de rede). É uma boa idéia se o nome do host for idêntico ao primeiro componente do nome DNS da interface de rede da sua máquina que a maioria do mundo vê. Por exemplo, se o servidor estiver conectado ao resto do mundo através da eth0interface Ethernet e o endereço IP de eth0um ou mais nomes foo.example.com, é uma boa ideia escolher foocomo o nome do host. Se você fizer isso, foo.example.comgeralmente é chamado de FQDN(nome de domínio totalmente qualificado) da sua máquina. Mas você é livre para deixá-los incompatíveis; uma discrepância pode ser confusa para o administrador, mas não importa para o software.

O nome do host pode ser usado por alguns protocolos de rede para identificar o host. Nesse caso, ele deve ser enviado por um processo local em execução no host. Por exemplo, em algumas configurações, um cliente DHCP envia o nome do host ao servidor DHCP para obter um endereço IP; o servidor DHCP pode usar o nome do host reivindicado para decidir qual endereço IP atribuir ao cliente. Nessas configurações, é obrigatório que o nome do host corresponda ao nome DNS.

Relacionado: Por que meu nome de host é diferente no Emacs? ; Como tornar uma máquina acessível a partir da LAN usando seu nome de host

Gilles 'SO- parar de ser mau'
fonte
1
Não é verdade que não seja conhecido por outra máquina. Esse nome de host é enviado por muitos sistemas operacionais ao servidor DHCP ao solicitar uma concessão de DHCP, e muitos servidores DHCP / DNS o utilizam para atualizar a zona DNS local. O nome do host é usado pelo mDNS, é usado pelo samba (na maioria das instalações de samba padrão), aparece no servidor HTTP ...
Stéphane Chazelas 12/12
@sch Bom ponto sobre mencionar o DHCP. Não entendi o que é o httpd: é um processo local que pode decidir enviar o nome do host pela rede, mas o nome do host ainda não é conhecido por outras máquinas, a menos que o host o tenha enviado.
Gilles 'SO- stop be evil'
Acho que essa é uma boa resposta, mas depois de brincar um pouco mais, não tenho certeza se está completa. Parece que se eu mudar meu nome de host (ip-10-123-123-123) para qualquer outra coisa, ele hostname --fqdnnão funcionará mais em uma instância do ec2 e o apache emitirá um aviso ao iniciar que não pode determinar o fqdn de maneira confiável. Não sei ao certo onde procurar mais informações sobre como todas essas coisas se encaixam. Obrigado por me ajudar.
Cwd
1
hostname --fqdn(DNS) parece ser usado no log. unix.stackexchange.com/questions/319737/…
sourcejedi