Conheça o arquivo hosts do Linux e como usá-lo

Nota: O seguinte artigo irá ajudá-lo com: Conheça o arquivo hosts do Linux e como usá-lo

Se você é novo no Linux, há um arquivo muito útil que você vai querer aprender imediatamente. Jack Wallen apresenta o arquivo hosts e como adicionar entradas a ele.

Regularmente, faço referência ao arquivo hosts no Linux e suponho que todos saibam o que é. Mas de vez em quando recebo uma pergunta que me lembra que alguns são novos no Linux e precisam de ajuda com o básico.

VEJO: Mais de 40 termos de código aberto e Linux que você precisa conhecer (TechRepublic )

O arquivo hosts é um ótimo lugar para começar, pois além de ser muito útil, pode ajudar os usuários novatos no Linux a se familiarizarem com alguns conceitos importantes. Com isso em mente, vou apresentá-lo ao arquivo hosts e orientá-lo em todas as etapas da edição.

Você está pronto para isso? Vamos fazer isso.

O que você precisará

Para trabalhar com o arquivo hosts, você precisará de uma instância do Linux em execução (não importa qual distribuição) e um usuário com privilégios sudo.

O que é o arquivo hosts no Linux?

Simplificando, o arquivo hosts é uma maneira de mapear nomes de host para endereços IP. Isso é muito importante com certas configurações e para tornar a rede no Linux um pouco mais fácil. De certa forma, o arquivo hosts atua como um servidor DNS local.

Digamos que você tenha implantado o sistema de gerenciamento de faturas InvoicePlane em uma máquina Linux em sua LAN local. O endereço IP da máquina que hospeda o InvoicePlane é 192.168.1.11, e para ar o serviço, os usuários devem digitar 192.168.1.11/invoiceplane. Agora, e se você pudesse mapear esse endereço IP para um endereço mais padrão (digamos www.invoiceplane.net), para que seus usuários não precisem digitar o endereço IP (que a maioria das pessoas tem dificuldade em lembrar)?

Ou digamos que você esteja implantando um cluster Kubernetes. Parte do processo de implantação desse cluster é mapear o controlador e os nós no arquivo de hosts.

Vamos explorar o arquivo hosts para ver como ele funciona.

Como abrir o arquivo hosts para edição no Linux

A primeira coisa a fazer é abrir o arquivo hosts para edição. Faremos isso a partir da linha de comando, portanto, faça em seu servidor Linux ou abra uma janela de terminal em sua área de trabalho Linux. Usaremos o editor nano (por ser a ferramenta mais simples para esse fim). Como o arquivo hosts está no diretório /etc/, ele é protegido, portanto, devemos elevar o privilégio de nosso usuário com o comando sudo. Para abrir o arquivo para edição emita o comando:

sudo nano /etc/hosts

Você será solicitado a fornecer sua senha de usuário. Ao digitar com sucesso sua senha de usuário, você verá o arquivo hosts aberto e pronto para edição (Figura A).

Figura A

As primeiras entradas no arquivo hosts são sempre dedicadas ao localhost, que é a máquina local. No meu exemplo, localhost é representado de duas maneiras diferentes:

127.0.0.1 colmeia

::1 localhost

127.0.0.1 é chamado de localhost ou endereço de loopback e é usado em todos os computadores (Linux, macOS e Windows). A primeira linha (127.0.0.1 localhost) mapeia o endereço de loopback para o nome localhost. Por causa disso, você pode executar ping na máquina local com ping 127.0.0.1 ou ping localhost. Como mapeamos o endereço em hosts, ambos os comandos fariam ping na máquina local. E como mapeamos o endereço IPv6 ::1 para localhost, a mesma coisa é válida.

Agora, vamos criar uma nova entrada. Usaremos um dos exemplos mencionados acima. O que faremos é mapear o endereço IP 192.168.1.11 para o nome do host invoiceplane e o FQDN www.invoiceplane.net. Deve-se notar que não possuo o domínio invoiceplane.net, nem resolve nada. Você pode usar o invoiceplane.lan, mas isso causa problemas com os navegadores da web.

Na parte inferior do arquivo hosts, adicione a seguinte linha (modificando para um endereço/servidor IP que você possui em sua LAN):

192.168.1.11 invoiceplane www.invoiceplane.net

O arquivo finalizado ficará assim em Figura B.

Figura B

Para salvar e fechar o arquivo, pressione a combinação de teclado Ctrl+X e responda y para salvar.

Vamos testar nossas mudanças. A partir do terminal, execute ping no servidor com o seguinte (modificando para um endereço/servidor IP que você possui em sua LAN):

ping 192.168.1.11

pingar fatura do avião

ping www.invoiceplane.net

Os resultados devem ser os mesmos e sua máquina local deve ser capaz de alcançar a máquina remota em sua rede local, independentemente do endereço usado.

Você também pode abrir seu navegador da web e, em vez de digitar o endereço IP, digite o endereço mapeado www.invoiceplane.net (modificando de acordo com o que você adicionou ao arquivo hosts). No meu caso, eu poderia inserir www.invoiceplane.net/invoiceplane (porque minha instância de InvoicePlane está sendo atendida a partir do diretório invoiceplane na raiz de documentos do Apache) na barra de endereços do meu navegador e ar minha instância de InvoicePlane. Uma coisa a notar é que uma vez que você pressionar Enter no seu teclado, você provavelmente verá o endereço mudar automaticamente de www.invoiceplane.net/invoiceplane para 192.168.1.11/invoiceplane. Esse é o comportamento esperado. O único ponto do arquivo hosts é mapear nomes de host/domínio para endereços IP. Depois que o endereço for resolvido, ele mudará na barra de endereços.

Você pode adicionar quantos mapeamentos de endereço forem necessários no arquivo de hosts do Linux. Contanto que você siga a fórmula, tudo deve funcionar bem.

E é assim que você trabalha com o arquivo hosts do Linux. Bom mapeamento!