Linux Hosting: Qual é o propósito de configurar o hostname / FQDN no arquivo hosts?

4

Acabei de comprar um plano de hospedagem VPS Linode e estava seguindo esta guia para configurar. Na seção "Configurando o nome do host" e "Atualizar / etc / hosts "seção, ele diz que o FQDN / hostname a ser definido aqui não precisa estar relacionado com os sites que estou prestes a hospedar, o que me deixa confuso.

Eu fiz minha própria pesquisa lendo muitos artigos, mas ainda não tenho muita certeza do papel que o hostname / FQDN está desempenhando no meu negócio de hospedagem na web. Aqui estão alguns fatos básicos que consegui descobrir, sinta-se à vontade para me corrigir se algo estiver errado:

  1. O FQDN deve ser algo como xxx.somedomain.com, se "xxx". é omitido, então não é um FQDN.
  2. o xxx , que eu acho que poderia ser vagamente chamado de subdomínio, também pode ser chamado de "hostname", de acordo com link .
  3. Na minha máquina local, adicionando a seguinte linha ao arquivo hosts

    63.117.14.58 www.yahoo.com seja qual for

todas as solicitações de rede para "www.yahoo.com" ou "whatever" serão redirecionadas para o endereço IP 63.117.14.58 (que é o IP do google.com). É uma maneira de bloquear sites indesejáveis na máquina local.

Agora o tutorial sugere adicionar essa linha ao arquivo "hosts" no meu servidor

12.34.56.78(//my server's IP) myhostname.anything.com myhostname

Ele menciona que, na linha acima, o nome de domínio pode ou não ser o domínio que estou prestes a hospedar, mas o nome do host deve ser o que eu já defini durante as etapas anteriores. Minhas perguntas são:

1) Com base nos Fatos # 3, acho que essa linha redireciona todas as solicitações no servidor para myhostname.anything.com ou myhostname para meu endereço IP, mas o que isso significa? Não deve haver qualquer solicitação para myhostname.anything.com do computador de um usuário para um determinado endereço IP (seja meu endereço IP ou não)? Por que preciso redirecioná-lo no meu servidor? Meu entendimento sobre como uma solicitação HTTP funciona é quando o usuário digita o nome do domínio no navegador, o navegador entrará em contato com o servidor de domínio e o servidor de domínio o direcionará para um servidor DNS com base no registro DNS do domínio. O servidor resolverá o endereço IP e, em seguida, o navegador buscará os dados desse endereço IP. Este procedimento do meu entendimento parece não ter nada a ver com o arquivo "hosts" no meu servidor.

2) A. Em relação ao FQDN, por que o nome do host tem que ser o mesmo com o nome do host que eu configurei no meu servidor e o nome do domínio não?

B. O que acontecerá se eu definir um hostname diferente aqui?

C.E qual é o propósito de definir ou não definir meu nome de domínio como o FQDN aqui?

D. E o que acontecerá se eu definir apenas um FQDN, mas não o nome do host? assim

12.34.56.78(//my server's IP) myhostname.anything.com

Muitas perguntas, mas eu acredito que as respostas para algumas delas são sobrepostas, e no geral eu acho que a grande questão é "Qual é o papel da configuração hostname / editting hosts no meu negócio de webhosting?"

Obrigado pelo seu tempo de antecedência.

    
por shenkwen 04.01.2016 / 23:26

1 resposta

12
Será difícil para as pessoas responderem a essa pergunta, porque ela começa com uma premissa mais simples e passa por um profundo buraco de coelho a partir daí. Vamos começar do começo.

Arquivo host x DNS

Eu não acho que isso precise de muita explicação, então vou ser breve. O objetivo do arquivo hosts é definir os mapeamentos do host para o endereço IP que não dependem do DNS. O mais importante para um servidor é o próprio nome do dispositivo, porque é tolice que um problema com o seu servidor DNS impeça que o seu dispositivo seja capaz de se referir a si mesmo pelo nome.

Desde que usemos apenas arquivos host, não precisamos usar domínios. DNS não está envolvido, então quem se importa? Infelizmente, à medida que nossa rede cresce, torna-se menos sustentável ter cada dispositivo rastreando independentemente o nome de todos os dispositivos em nossa rede. Isso nos leva a usar o DNS e introduz alguns novos obstáculos logísticos.

Nome do host vs. FQDN

Nomes de host são nomes de dispositivos ou nomes de nós, se você preferir. É um nome de identificação exclusivo que é significativo para o proprietário do dispositivo e não necessariamente significativo ou até mesmo exposto a pessoas que consomem os serviços no dispositivo. Isso é o que a Linode quer dizer quando diz que o nome não precisa ter nada a ver com os serviços que você está hospedando.

Por exemplo, digamos que você tenha uma empresa chamada Contoso e opere um site chamado example.com . O site está hospedado em seis máquinas, denominadas dalek01 a dalek06 . Tudo o que o mundo exterior precisa saber é que eles podem obter o site que desejam se conectarem www.example.com em seu navegador da web. Os Lordes de Tempo excessivamente inquisitivos não precisam se preocupar com o fato de que o pedido deles para www.example.com foi atendido por dalek03 .

Por si só, um nome de host não tem necessariamente qualquer coisa para fazer com o DNS. É apenas o nome do dispositivo e nem tem necessariamente um sufixo de domínio associado a ele. Até agora é simples!

Agora, tornamos as coisas um pouco mais complicadas. Hora da história!

  • Sua empresa, a Contoso, possui muitas máquinas de área de trabalho que se comunicam com o cluster dalek em uma rede privada.
  • Quando há um problema em um dos servidores, você precisa fazer login no dispositivo específico com o problema. Não podemos nos conectar ao www.example.com , porque ele é hospedado por várias máquinas diferentes. Ainda bem que temos um nome exclusivo para o servidor com um problema!
  • Como temos uma grande rede de dispositivos, é mais comum querermos gerenciá-los com o DNS. Isso significa que precisamos colocar os nomes de host dalek01 a dalek06 em um domínio DNS em algum lugar. Felizmente, possuímos contoso.com (em homenagem a nossa empresa), completamente separados de www.example.com , que pode ser um de nossos clientes.
  • Como a Internet não precisa conhecer nossos endereços IP internos, mantemos um domínio DNS privado chamado corp.contoso.com . Todas as nossas máquinas desktop são configuradas com um sufixo de pesquisa DNS de corp.contoso.com . Isso significa que, se criarmos uma entrada de DNS chamada dalek01.corp.contoso.com , qualquer pessoa em nossa rede poderá acessar essa máquina simplesmente conectando-se a dalek01 com seu cliente SSH. Conveniente!
  • dalek01 sabe que é chamado dalek01 porque nós o colocamos no arquivo hosts. Queremos que ele saiba que também é chamado dalek01.corp.contoso.com , mas não queremos que ele dependa do DNS para saber seu próprio nome. Isso seria bobo. Portanto, definimos um alias para dalek01.corp.contoso.com no arquivo de hosts em dalek01 para que ele conheça todos os seus nomes.
  • Enquanto isso, as pessoas continuam a usar www.example.com , alheio ao fato de que você tem seis servidores denominados dalek01 a dalek06 , o fato de sua empresa ser chamada Contoso (seus clientes à parte) ou de fazer coisas práticas para seus funcionários, você criou registros DNS para dalek01 a dalek06.corp.contoso.com .

Colocando tudo junto

  • Seu nome de host é significativo para você e para as pessoas que executam o servidor, não necessariamente para as pessoas que usam seus serviços.
  • Os nomes de host não precisam ser armazenados no DNS (ou ter um domínio DNS), a menos que você tenha vários dispositivos compartilhando uma rede privada.
  • É bobo que um servidor dependa do DNS para falar consigo mesmo.
  • Colocar seus nomes de host no DNS cria a necessidade de definir também esse FQDN em seu arquivo host, para que ele não dependa do DNS para se comunicar usando o FQDN. (como dito, seria bobo)

Espero que isso cubra todas as bases.

    
por 05.01.2016 / 00:52