Recentemente, fui "forçado" a executar algum trabalho de administrador de sistemas, embora isso não seja algo que eu absolutamente goste de ler. Estive lendo, experimentando e aprendendo muito.
Há um aspecto fundamental da configuração do servidor que eu não consegui entender - nomes de host .
No Ubuntu, por exemplo, deve-se definir o nome do host assim (de acordo com a Biblioteca Linode ):
echo "plato" > /etc/hostname
hostname -F /etc/hostname
Arquivo: / etc / hosts
127.0.0.1 localhost.localdomain localhost
12.34.56.78 plato.example.com plato
Presumo que plato
seja um nome arbitrário e que plato.example.com
seja o FQDN.
Agora minhas perguntas são:
- Isso é obrigatório?
- Com que finalidade?
- Onde é necessário / usado?
- Por que não consigo definir "localhost" como o nome do host de todas as máquinas?
- Preciso configurar uma entrada DNS para o
plato.example.com
FQDN? - Deve
plato.example.com
ser usado como a entrada DNS reversa para o meu IP?
Além disso, existem "práticas recomendadas" para escolher nomes de host? Vi pessoas usando letras gregas, nomes de planetas e até figuras mitológicas ... O que acontece quando ficamos sem letras / planetas?
Sinto muito se esta é uma pergunta idiota, mas nunca fiquei muito entusiasmado com as configurações de rede.
fonte
Respostas:
Atualmente, um sistema pode ter várias interfaces, cada uma com vários endereços, e cada endereço pode até ter várias entradas de DNS associadas a ele. Então, o que significa um "nome do host do sistema"?
Muitos aplicativos usarão o nome do host do sistema como um identificador padrão quando se comunicarem em outro lugar. Por exemplo, se você estiver coletando mensagens syslog em um servidor central, todas as mensagens serão marcadas com o nome do host do sistema de origem. Em um mundo ideal, você provavelmente ignoraria isso (porque não necessariamente confia no cliente), mas o comportamento padrão - se você nomeou todos os seus sistemas como "localhost" - resultaria em várias mensagens de log que você não seria capaz de se associar a um sistema específico.
Como outras pessoas apontaram, o nome do host do sistema também é um identificador útil se você acessar remotamente vários sistemas. Se você tiver cinco janelas conectadas a um sistema chamado "localhost", será difícil mantê-las em ordem.
Da mesma forma, tentamos fazer com que o nome do host do sistema corresponda ao nome do host que usamos para acesso administrativo a um sistema. Isso ajuda a evitar confusões ao se referir ao sistema (em email, conversas, documentação etc.).
Em relação ao DNS:
Você deseja ter entradas DNS de encaminhamento e reversão adequadas para seus aplicativos, a fim de evitar confusão. Você precisa de alguma entrada de encaminhamento (nome -> endereço IP) para que as pessoas possam acessar seu aplicativo convenientemente. Ter a correspondência de entrada reversa é útil por vários motivos - por exemplo, ajuda a identificar corretamente o aplicativo se você encontrar o endereço IP correspondente em um log.
Observe que aqui estou falando de "aplicativos" e não de "sistemas", porque - principalmente com servidores da Web - é comum ter vários endereços IP em um sistema, associados a diferentes nomes de host e serviços.
Tentar manter os mapeamentos de nome para ip em seu
/etc/hosts
arquivo rapidamente se torna difícil à medida que você gerencia um número crescente de sistemas. É muito fácil para o arquivo de hosts locais ficar fora de sincronia com relação ao DNS, potencialmente causando confusão e, em alguns casos, mau funcionamento (porque algo tenta se vincular a um endereço IP que não existe mais no sistema, por exemplo).fonte
/etc/hosts
em favor do DNS. Isso reduz o número de locais que eu precisava para manter informações sobre o nome -> mapeamento de endereços. Na maioria dos sistemas que mantenho,/etc/hosts
contém apenas uma entrada paralocalhost
.Você pode definir todo nome de host como "localhost", mas é muito útil ter
alix@plato ~ $
no prompt de comando quando você gerencia máquinas através do ssh. Gerenciar servidores remotamente pode se tornar muito confuso se você não o fizer.Ter um FQDN correto é importante para quando você hospeda um servidor web ou servidor de correio. Esses tipos de aplicativos de servidor gostam de saber "em quem" eles estão sendo executados.
Para escolher um bom esquema de nomeação, remeto-o para essa pergunta muito popular .
Um FQDN se torna útil apenas quando é significativo para outro computador. Existem três níveis para isso:
Ao enviar email ou exibir páginas da Web para o mundo exterior, o terceiro é o que você deseja ter. Na maioria dos outros casos, você pode se contentar com um DNS local ou até mesmo editar arquivos de hosts.
Nesse caso, você pode apenas criar um nome de domínio (plato.alixnetwork pode ser bom como um FQDN) para uso em sua rede local. O único valor agregado de ter a parte "alixnetwork" (o nome de domínio) é a conveniência quando você tem outra rede local da qual deseja distingui-la.
fonte
Uma visão geral básica. Nome do host são apenas ponteiros; você pode atribuir um específico ao nome do host referenciado pela máquina, mas pode ter vários. Alguns serviços, correio notável e HTTP contam com nomes de domínio para saber onde os serviços devem estar localizados e como chegar a eles.
Há muito tempo, todos esses nomes (que novamente são apenas indicadores de endereços IP) eram mantidos em um arquivo chamado
hosts
. À medida que o sistema cresceu, eles não conseguiram manter o arquivo sincronizado em todos os computadores relevantes que participavam das várias redes interconectadas. Então o sistema DNS foi inventado. Quando você faz uma pesquisa de nome, ele ainda verifica o arquivo de hosts primeiro e depois o sistema DNS. O Windows também pode verificar outros sistemas como WINS ou NetBIOS.Quando você coloca uma entrada em um
hosts
arquivo, não a está atribuindo ao computador. A atribuição de um nome de host como o usado pelo computador é feita nos arquivos de configuração (nos sistemas * nix) e nas Propriedades do sistema nos sistemas Windows (o sistema Windows também pode ter sufixos específicos da NIC).As entradas no
hosts
arquivo, como o sistema DNS, são apenas um mapeamento de um nome de host para um endereço IP. Para usar o nome do host 'localhost' (não há nada de especial nele, é um nome de host como todo o resto), ele deve ser mapeado para a interface de loopback (para que sempre aponte para o computador local). Para garantir que isso funcione, todos os computadores vêm com esse mapeamento padrão em seushosts
arquivos, mas ele pode ser removido, se você não quiser usar esse nome de host.Além disso, como outros observaram, é muito útil atribuir um nome de host a um computador. Quando conectado ao computador, você pode exibir o nome do host ao fazer login, ou quando solicitado, ou em qualquer outro local. Isso facilita a identificação do computador ao qual você está conectado. Se você configurar esse nome de host no DNS ou colocá-lo em todos os
hosts
arquivos, poderá conectar-se ao computador fazendo referência ao nome do host em vez de precisar saber o endereço IP o tempo todo. (Ainda mais útil se o computador estiver usando DHCP, pois o endereço pode mudar. Se o computador atualizar o DNS, o registro DNS apontará para o novo endereço IP; você ainda poderá se conectar sem conhecer o novo endereço IP porque conhece o nome DNS. )Existem muitos outros usos de
hosts
DNS e de ambos , mas suspeito que você tenha mais perguntas do que respostas se ler tudo isso.fonte
/etc/hosts
não é necessário colocar o FQDN no , ter o nome do host em uma entrada DNS atingiria o mesmo resultado, certo?hosts
arquivo seria redundante. Além disso, a entrada nohosts
arquivo substituirá o DNS (útil para testar algumas vezes, irritante quando você esquece). Observe que isso é tudo em relação aos registros A e AAAA, existem outros tipos de registros para nomes de host, mas eu os deixei de fora para maior clareza.Todo host deve receber um nome significativo. O nome do host pode atender a vários propósitos:
1- Ajuda a reconhecer em que você está trabalhando atualmente.
2- Usar nomes configurados nos
/etc/hosts
registros DNS e / ou é mais fácil do que memorizar muitos endereços IP.3- Localhost é um nome reservado para se referir à máquina atual (endereço 127.0.0.1).
4- Os registros DNS são úteis para tornar seus servidores acessíveis ao público.
Escolher um nome adequado para cada servidor ajuda muito na sua administração. Além disso, ajuda seus clientes a acessar seus servidores.
fonte
Apenas como uma observação lateral: trabalhar adequadamente para frente e para trás na resolução DNS é a pedra angular absoluta de todas as instalações de TI neste planeta. Nunca subestime a necessidade de um DNS bem mantido e a resolução adequada de nome de host!
fonte
Isenção de responsabilidade: a principal questão é sobre os sistemas Linux, portanto, fique à vontade para ignorar esta resposta se você não estiver interessado no lado do Windows da questão.
De qualquer forma, nos sistemas Windows, além de todos os pontos mencionados em outras respostas, o nome do host é realmente usado pelo próprio SO, para fins de rede e autenticação; especificamente:
LocalSystem
e deNetworkService
usuário, que podem ser autenticadas em outros sistemas usando as credenciais do sistema em que estão executando; isso permite que um processo em execuçãoNetworkService
no SystemA acesse uma pasta compartilhada no SystemB concedendo permissões na pasta à conta de usuário do SystemA.fonte
Muitos sites e / ou supostos 'admins' agora estão declarando que o atributo 'hostname' contém o FQDN da instância do SO, que 'quebra' qualquer resolução que acrescente o 'domainname' a ele:
fonte