Pelo que entendi, o hosts
arquivo é um dos vários recursos do sistema que auxilia no endereçamento de nós de rede em uma rede de computadores. Mas o que deveria estar dentro dele? Quando instalo o Ubuntu por padrão
127.0.0.1 localhost
estarei lá. Por quê?
- Como
/etc/hosts
funciona no caso de sistemas JVM como o Cassandra? - Quando o DNS é alternativo, acho que não em um único computador?
/etc/hosts
contém127.0.0.2 mycouchdb bookmarkdb myothercouchapp
e127.0.0.3 myapachi website
eu os uso para me ajudar com o meu desenvolvimento em execução na minha máquina local. Eu tenho 3 serviços escutando na porta 80. Não quero colocá-los no DNS, pois eles são apenas locais.man 5 hosts
?Respostas:
O arquivo
/etc/hosts
começou nos velhos tempos da DARPA como o arquivo de resolução para todos os hosts conectados à Internet (antes da existência do DNS). Ele tem a prioridade máxima, o que significa que esse arquivo é preferido antes de qualquer outro sistema de nomes. 1 1No entanto, como um único arquivo, ele não é dimensionado bem: o tamanho do arquivo se torna muito grande muito em breve. É por isso que o sistema DNS foi desenvolvido, um sistema hierárquico de nomes distribuídos. Ele permite que qualquer host encontre o endereço numérico de outro host com eficiência.
O conceito muito antigo do
/etc/hosts
arquivo é muito simples, apenas um endereço e um nome de host:para cada linha. Essa é uma lista simples de pares de endereço-host. 2
Seu principal uso atual é ignorar a resolução do DNS. Uma correspondência encontrada no
/etc/hosts
arquivo será usada antes de qualquer entrada DNS. De fato, se o nome pesquisado (comolocalhost
) for encontrado no arquivo, nenhuma resolução DNS será executada.1 Bem, a ordem da resolução de nomes é realmente definida em
/etc/nsswitch.conf
, que geralmente possui esta entrada:o que significa "tente arquivos (
/etc/hosts
); e se falhar, tente o DNS".Mas essa ordem pode ser alterada ou expandida.
2 (atualmente) O arquivo hosts contém linhas de texto que consistem em um endereço IP no primeiro campo de texto seguido por um ou mais nomes de host. Cada campo é separado por espaços em branco - as guias geralmente são preferidas por razões históricas, mas também são usados espaços. Linhas de comentário podem ser incluídas; eles são indicados por um octóforo (#) na primeira posição dessas linhas. Linhas totalmente em branco no arquivo são ignoradas. Por exemplo, um arquivo típico de hosts pode conter o seguinte:
Este exemplo contém entradas para os endereços de loopback do sistema e seus nomes de host; a primeira linha é um conteúdo padrão típico do arquivo de hosts. A segunda linha possui vários nomes adicionais (provavelmente válidos apenas em sistemas locais). O exemplo ilustra que um endereço IP pode ter vários nomes de host (host local e loopback) e que um nome de host pode ser mapeado para os endereços IP IPv4 e IPv6, conforme mostrado na primeira e na segunda linhas, respectivamente. Um nome (
mycomputer.lan
) pode resolver para vários endereços (192.168.0.8 10.0.0.27
). No entanto, nesse caso, qual deles é usado depende das rotas (e suas prioridades) definidas para o computador.Alguns sistemas operacionais mais antigos não tinham como relatar uma lista de endereços para um determinado nome.
fonte
Usar o arquivo / etc / hosts para atribuir um nome legível a humanos a um sistema local em um ambiente de área de trabalho é perfeitamente razoável. O arquivo hosts é ótimo para uso em uma rede doméstica ou mesmo em um ambiente de pequenas empresas. Isso não pode ser público, como o endereçamento da Internet - você precisa de DNS. Se a rede local for grande o suficiente, ou simplesmente cortar sub-redes diferentes, ou qualquer outro motivo útil, o DNS será preferido.
O arquivo de hosts locais e o DNS são gerenciados com prioridades diferentes, para que nunca haja conflitos.
fonte
/etc/hosts
entradas obsoletas da provisão de host por grupo A deixaram no futuro falhas nas operações por grupo B (meu grupo) , e acabamos configurando algo para higienizar o conteúdo de/etc/hosts
no linux, ouso dizer que sempre deve haver pelo menos
127.0.0.1 localhost
dentro do arquivo/etc/hosts
, bem como o endereço IPv6 correspondente para o host local .É simplesmente a resolução do nome do host para um endereço IPv4 ou IPv6 numérico. Quando você tenta conectar-se a (a) unix.stackexchange.com em algum lugar do mundo que provavelmente não está perto de você, ou (b) myotherpc na rede local em sua casa, é um
/etc/hosts
ou algum servidor de nome de domínio (DNS) que está executando a resolução do host; portanto, quando você digita unix.stackexchage.com, que é humano com o que você se importa, não precisa se lembrar de 185.53.179.7 , que é o que o computador realmente precisa saber.Como foi apontado, no linux
/etc/nsswitch
normalmente existe uma definição da ordem de resolução do nome do host, ou seja, verifique primeiro o DNS antes de verificar o NIS e, finalmente, verifique o arquivo,/etc/hosts
caso contrário, o host não foi encontradoComo você gerencia a verificação de pedidos e o que / onde / quem gerencia o serviço DNS ou NIS depende de você, ou você pode substituir tudo modificando / etc / nsswitch para apenas fazer check-in
/etc/hosts
e nunca verificar com DNS ou NIS ou ...Para uma rede doméstica simples de poucos computadores, digamos 2 a N, um administrador simplesmente edita
/etc/hosts
em todos os computadores para estar correto, seria mais fácil, mais rápido e mais barato do que configurar um Servidor de Nome de Domínio ou algum outro serviço para ter um local mestre ou autoridade para resolver o nome do host no endereço IP.para pesquisa na web linux, a história e a razão por trás
localhost
. Muitas coisas no linux dependem do nome localhost resolvido para 127.0.0.1 e, se isso não acontecer, causará problemas, e essa definição de host local deve / deve ocorrer em um arquivo de sistema local como / etc / hosts./etc/hosts
normalmente é a palavra final e a última coisa para o sistema operacional linux recorrer à resolução de nomes de host. no Windows XP e 7, o arquivo correspondente éC:\Windows\System32\drivers\etc\lmhosts
Não sei sobre o Windows 8 ou 10.fonte