AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 421491
Accepted
MikiBelavista
MikiBelavista
Asked: 2018-02-03 09:52:50 +0800 CST2018-02-03 09:52:50 +0800 CST 2018-02-03 09:52:50 +0800 CST

Qual é o propósito de /etc/hosts?

  • 772

Pelo que entendi, o hostsarquivo é um dos vários recursos do sistema que auxiliam no endereçamento de nós de rede em uma rede de computadores. Mas o que deve estar dentro dele? Quando eu instalo o Ubuntu por padrão

127.0.0.1 localhost 

estarei lá. Por quê?

  • Como /etc/hostsfunciona no caso de sistemas JVM como Cassandra?
  • Quando é a alternativa DNS, acho que não em um único computador?
dns hosts
  • 3 3 respostas
  • 39513 Views

3 respostas

  • Voted
  1. Best Answer
    user232326
    2018-02-03T10:16:59+08:002018-02-03T10:16:59+08:00

    O arquivo /etc/hostscomeç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 este arquivo é preferido antes de qualquer outro sistema de nomes. 1

    No entanto, como um único arquivo, ele não é bem dimensionado: o tamanho do arquivo torna-se 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 algum outro host de forma eficiente.

    O conceito muito/etc/hosts antigo do arquivo é muito simples, apenas um endereço e um nome de host:

    127.0.0.1      localhost
    

    para cada linha. Essa é uma lista simples de pares de endereço-host. 2

    Seu principal uso atual é contornar a resolução de DNS. Uma correspondência encontrada no /etc/hostsarquivo será usada antes de qualquer entrada de DNS. De fato, se o nome pesquisado (como localhost) for encontrado no arquivo, nenhuma resolução de DNS será executada.


    1 Bem, a ordem de resolução de nomes é realmente definida em /etc/nsswitch.conf, que geralmente tem esta entrada:

    hosts:          files dns
    

    que significa "tente os arquivos ( /etc/hosts); e se falhar, tente o DNS".

    Mas essa ordem pode ser alterada ou ampliada.


    2 (nos dias atuais) 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 um espaço em branco – as guias geralmente são preferidas por razões históricas, mas os espaços também são usados. Linhas de comentário podem ser incluídas; eles são indicados por um octothorpe (#) na primeira posição de tais linhas. Linhas totalmente em branco no arquivo são ignoradas. Por exemplo, um arquivo típico de hosts pode conter o seguinte:

    127.0.0.1   localhost loopback
    ::1         localhost localhost6 ipv6-localhost ipv6-loopback mycomputer.local
    192.168.0.8 mycomputer.lan
    10.0.0.27   mycomputer.lan
    

    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 hosts. A segunda linha tem 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 (localhost e loopback) e que um nome de host pode ser mapeado para 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.

    • 64
  2. francois P
    2018-02-03T09:58:54+08:002018-02-03T09:58:54+08:00

    Usar o arquivo /etc/hosts para dar um nome legível para um sistema local dentro de um ambiente de desktop é perfeitamente razoável. O arquivo hosts é ótimo para usar em uma rede doméstica ou mesmo em um ambiente de pequena empresa. Isso não pode ser público, como o endereçamento da Internet - então você precisa do DNS. Se a rede local for grande o suficiente, ou simplesmente cortada em diferentes sub-redes, ou qualquer outro motivo útil, o DNS é o preferido.

    O arquivo de hosts locais e o DNS são gerenciados com prioridades diferentes, portanto, nunca há conflitos.

    • 5
  3. ron
    2018-02-03T10:43:36+08:002018-02-03T10:43:36+08:00

    no linux, ouso dizer que sempre deve haver pelo menos 127.0.0.1 localhostdentro do arquivo /etc/hosts , bem como o endereço IPv6 correspondente para localhost .

    É simplesmente resolução de nome de host para um endereço IPv4 ou IPv6 numérico. Quando você tenta se conectar a (a) unix.stackexchange.com em algum lugar na terra que provavelmente não esteja perto de você, ou (b) myotherpc na rede local em sua casa, é um /etc/hostsou algum servidor de nome de domínio (DNS) que está fazendo a resolução do host, então quando você digita unix.stackexchage.com que, como humano, é o que importa, você não precisa se lembrar de 185.53.179.7 para isso, que é o que o computador realmente precisa saber.

    Como foi apontado, no linux /etc/nsswitchnormalmente há que define a ordem de resolução do nome do host, o que significa verificar o DNS primeiro antes de verificar o NIS e, por último, verificar o arquivo , /etc/hostscaso contrário , o host não foi encontrado

    Como 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/hostse nunca verificar com DNS ou NIS ou...

    Para uma rede doméstica simples de poucos computadores, digamos 2 para N, um administrador simplesmente editaria /etc/hostsem cada computador para estar correto, seria mais fácil, rápido e barato do que configurar um Servidor de Nome de Domínio ou algum outro serviço para ter um local mestre ou autoridade para fazer a resolução do nome do host para o endereço IP.

    para linux web, pesquise a história e a razão por trás localhost. Muitas coisas no linux dependem do nome localhost resolvendo para 127.0.0.1 e se isso não acontecer causará problemas, e esta definição de localhost iria/deveria acontecer em um arquivo de sistema local como /etc/hosts.

    /etc/hostsé, por padrão, geralmente a palavra final e a última coisa para o sistema operacional linux recorrer para a resolução do nome do host. no Windows XP e 7, o arquivo correspondente é C:\Windows\System32\drivers\etc\lmhosts Não sei sobre o Windows 8 ou 10.

    • 3

relate perguntas

  • O que é domínio raiz? [fechado]

  • Como posso resolver o nome do host para ip usando diferentes servidores DNS?

  • /etc/hosts não bloqueando nada

  • problema de resolução reversa do bind9

  • Como faço para verificar se estou usando 9.9.9.9 para DNS?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como exportar uma chave privada GPG e uma chave pública para um arquivo

    • 4 respostas
  • Marko Smith

    ssh Não é possível negociar: "nenhuma cifra correspondente encontrada", está rejeitando o cbc

    • 4 respostas
  • Marko Smith

    Como podemos executar um comando armazenado em uma variável?

    • 5 respostas
  • Marko Smith

    Como configurar o systemd-resolved e o systemd-networkd para usar o servidor DNS local para resolver domínios locais e o servidor DNS remoto para domínios remotos?

    • 3 respostas
  • Marko Smith

    Como descarregar o módulo do kernel 'nvidia-drm'?

    • 13 respostas
  • Marko Smith

    apt-get update error no Kali Linux após a atualização do dist [duplicado]

    • 2 respostas
  • Marko Smith

    Como ver as últimas linhas x do log de serviço systemctl

    • 5 respostas
  • Marko Smith

    Nano - pule para o final do arquivo

    • 8 respostas
  • Marko Smith

    erro grub: você precisa carregar o kernel primeiro

    • 4 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Martin Hope
    rocky Como exportar uma chave privada GPG e uma chave pública para um arquivo 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add retorna com: "Erro ao conectar ao agente: nenhum arquivo ou diretório" 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll status systemctl mostra: "Estado: degradado" 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim Como podemos executar um comando armazenado em uma variável? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S Por que /dev/null é um arquivo? Por que sua função não é implementada como um programa simples? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 Como ver as últimas linhas x do log de serviço systemctl 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - pule para o final do arquivo 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla Por que verdadeiro e falso são tão grandes? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve