Hospeda opções de arquivo no Ubuntu. Como configurar hosts virtuais no Ubuntu ou Debian

Um recurso pouco conhecido chamado arquivo hosts pode ser usado para modificar seu sistema para atender às suas necessidades. Se você precisa criar atalhos, bloquear sites ou qualquer outra coisa, você pode fazer tudo isso com o arquivo hosts.

Mas como fazer mudanças nele? Aqui, vamos orientá-lo sobre como e fornecer alguns exemplos de uso para que você possa começar a usar o arquivo imediatamente.

O que é um arquivo hosts?

Em linguagem simples, o arquivo hosts é simples arquivo de texto que é usado por qualquer sistema operacional para traduzir nomes de host em endereços IP. Quando você digita um nome de host - como facebook.com ou myubuntu.ru - seu sistema verifica o arquivo hosts para obter o endereço IP de que precisa para se conectar ao servidor correspondente. Mas se você abrir esse arquivo em seu computador, descobrirá rapidamente que o diretório de todos os sites da Internet não está armazenado lá. Pode haver apenas algumas linhas e nada mais. Seu sistema sempre verifica o arquivo hosts primeiro, e tudo o que não estiver especificado nele será encontrado nos servidores DNS especificados em suas configurações de rede (geralmente seu ISP).


Mas isso também significa que você pode usar o arquivo Hosts para adicionar endereços que não podem ser fornecidos por servidores DNS (por exemplo, podem ser aliases para vários locais em sua rede doméstica, que de outra forma só estariam disponíveis se você tivesse seu próprio servidor DNS instalado e configurado em sua rede local) ou para ignorar os endereços IP fornecidos por seus servidores DNS padrão.

Por exemplo, se você pedir ao seu navegador para abrir o facebook.com, os servidores DNS retornarão o endereço IP do Facebook para o seu computador. Mas se de repente você quiser bloquear o Facebook em seu computador, você pode adicionar uma entrada ao arquivo hosts que dirá ao seu computador que todas as solicitações para facebook.com precisam ser redirecionadas para algum outro endereço IP diferente do endereço IP real . Facebook. Para bloquear isso rede social, você pode simplesmente escrever a tradução das solicitações do facebook.com para o endereço IP 127.0.0.1, que sempre retornará ao seu sistema. Há muito que você pode fazer com este arquivo, e este é apenas o exemplo mais simples - tudo depende de seus desejos e necessidades.

Como editar o arquivo hosts

Em sistemas operacionais Linux, você pode encontrar o arquivo hosts em / etc / hosts. Uma vez que este é um arquivo de texto normal, você pode apenas usar o arquivo normal editor de texto(não importa se é terminal ou gráfico). Infelizmente, há apenas uma ferramenta gráfica que fornece gerenciamento parcial do arquivo hosts: o aplicativo Domain Blocker do Linux Mint.

Este programa funciona adicionando entradas ao seu arquivo hosts que redirecionam os domínios que você especifica para 127.0.0.1 - ou seja, para o seu computador. De qualquer forma, isso é tudo que você pode fazer com o bloqueador de domínio - todos os outros usos do arquivo hosts exigem que você edite manualmente o arquivo com um editor de texto.


Uma vez que os hosts são arquivo de sistema, você precisará de direitos administrativos para salvar as alterações neste arquivo. No entanto, você pode editá-lo com um comando de terminal como sudo nano / etc / hosts ou gksu gedit / etc / hosts. Você precisa usar um terminal para que possa executar o aplicativo necessário com direitos administrativos... Você também pode substituir nano ou gedit por um comando para iniciar seu editor de texto favorito. Quando terminar de editar o arquivo no nano, você pode pressionar Ctrl + X e depois y para confirmar as alterações de substituição

Como entender o formato do conteúdo do arquivo hosts?

No arquivo hosts, cada entrada está em sua própria linha. Para os fins deste artigo, você pode usar uma sintaxe muito simples - você digita o endereço IP para o qual deseja redirecionar o nome do host (domínio), depois o caractere de tabulação e o domínio real. Por exemplo, para bloquear o Facebook, você pode inserir 127.0.0.1facebook.com, onde está pressionando a tecla Tab no teclado. Você também pode olhar a captura de tela e compará-la com o que você tem no arquivo para ter certeza de que a entrada está correta.


Vamos dar outro exemplo de como usar esse recurso. Por exemplo, se você tiver um computador em sua rede doméstica (digamos que seu endereço IP seja 192.168.1.10) executando um site simples que faz algo útil para você. Você pode inserir o seguinte no arquivo hosts: 192.168.1.10homeserver. Agora, se você abrir seu navegador e apenas digitar http: // homeserver na barra de endereços, ele exibirá automaticamente o conteúdo do host 192.168.1.10 para você. É muito mais fácil do que digitar o endereço IP todas as vezes.

Problemas potenciais

O único problema que encontrei está relacionado ao funcionamento do navegador Chrome. Ele tende a ignorar o arquivo hosts, a menos que você faça pelo menos uma das duas coisas possíveis:

  • coloque http: // antes de cada endereço. Por exemplo, se você bloqueou o Facebook por meio do arquivo hosts, o Chrome irá ignorar o bloqueio se você simplesmente inserir facebook.com na barra de endereço. Se você entrar

O sistema de nomes de domínio DNS é usado para determinar qual IP pertence ao domínio correto na Internet. Quando qualquer programa precisa acessar um site por seu nome de domínio, o sistema operacional envia uma solicitação ao servidor DNS para descobrir qual IP ele deve usar para enviar pacotes posteriormente. Mas nem sempre é assim. Por exemplo, quando acessamos o domínio localhost, a solicitação é sempre enviada ao nosso computador local.

O motivo é o arquivo hosts. Se você já usou o Windows antes, provavelmente já ouviu falar desse arquivo. Lá, ele era usado com mais frequência para bloquear rapidamente o acesso a um recurso. Mas sua aplicação é muito mais ampla. Neste artigo, veremos como configurar o arquivo hosts no Linux, bem como quais recursos ele nos oferece.

Antes de prosseguirmos para o arquivo hosts em si, precisamos entender como a pesquisa de endereço IP para um nome de domínio é realizada no Linux. Eu disse que o sistema operacional envia imediatamente uma solicitação ao servidor DNS, mas isso não é totalmente verdade. Existe uma ordem de pesquisa específica de acordo com a qual ela é realizada. Esta ordem é definida no arquivo de configuração /etc/nsswitch.conf

cat /etc/nsswitch.conf

Aqui estamos interessados ​​na linha de hosts. Ele lista em ordem de prioridade os serviços usados ​​para localizar o endereço IP do nome de domínio. O item de arquivos significa usar o arquivo / etc / hosts e dns significa o serviço de nome de domínio da Internet. Se os arquivos estiverem localizados antes dos hosts, isso significa que o sistema tentará primeiro encontrar o domínio em / etc / hosts, e somente então pelo DNS. Este é o caso por padrão.

Configurando o arquivo hosts no Linux

O arquivo de que precisamos está localizado no diretório / etc /. Para abri-lo, você pode usar qualquer editor de texto, tanto na linha de comando quanto na interface gráfica, apenas você precisa abri-lo com direitos de superusuário. Por exemplo, com vim:

sudo vi / etc / hosts

sudo gedit / etc / hosts

A sintaxe do arquivo é bastante direta. Ele contém várias linhas com nomes de domínio e os endereços IP a serem usados ​​para eles. Cada um deles se parece com isto:

ip_address domain apelido

Normalmente, a primeira linha cria uma regra para redirecionar todas as solicitações ao domínio do host local para o endereço IP local - 127.0.0.1:

127.0.0.1 localhost

Este arquivo também contém redirecionamentos para o nome do seu computador e para endereços IPv6 por padrão. Você pode criar suas próprias configurações para qualquer domínio desejado. Para fazer isso, adicione uma linha ao final do arquivo..0.0.1:

127.0.0.1 site

Observe que apenas o domínio é indicado aqui, nenhum protocolo. Você não precisa especificar o prefixo http ou https, caso contrário, nada funcionará. Mas para o subdomínio www, você precisa criar uma entrada separada ou anotá-la como um alias. Por exemplo:

127.0.0..site

Agora, ao solicitar um domínio, o site abrirá nosso IP local. Para retornar o acesso ao recurso original, basta remover a linha adicionada. Mas você pode usar não apenas o endereço local, mas qualquer outro. Isso é muito conveniente se você acabou de registrar um domínio e a zona de domínio ainda não foi atualizada e você já deseja trabalhar com um novo site. Basta adicionar dados a / etc / hosts e trabalhar normalmente.

conclusões

Neste breve artigo, discutimos como a configuração do DNS é realizada por meio do arquivo hosts do Linux. Como você pode ver, com sua ajuda você pode bloquear o acesso a recursos indesejados, por exemplo, aos quais programas não devem ter acesso, e também usá-lo no trabalho do webmaster.

Sobre o autor

Fundador e administrador do site, adoro software de código aberto e sistema operacional Linux. Atualmente, estou usando o Ubuntu como meu sistema operacional principal. Além do Linux, estou interessado em tudo relacionado a tecnologia da Informação e ciência moderna.

Existe um único arquivo em seu computador que funciona como um pequeno portal entre você e a web. É chamado de arquivo hosts. Se precisar bloquear sites ou criar atalhos da web personalizados no Linux, você pode lidar com essas tarefas adicionando ou ajustando algumas linhas no arquivo hosts.

O que é o arquivo Hosts do Linux?

O arquivo hosts é um arquivo de texto simples que todos os sistemas operacionais usam para traduzir nomes de host (também conhecidos como endereços da web ou URLs) em endereços IP. Quando você digita um nome de host, como wikipedia.org, seu sistema procura no arquivo hosts para obter o endereço IP necessário para se conectar ao servidor apropriado.

Se você abrir o arquivo hosts, perceberá rapidamente que ele não contém o diretório de toda a Internet. Em vez disso, pode haver apenas algumas linhas e é isso. O que da?

Acontece que seu sistema verificará o arquivo hosts primeiro, antes de procurar um site no Com o fim do DynDNS, aqui estão os melhores provedores, serviços e alternativas de DDNS dinâmicos gratuitos para substituí-lo.(geralmente os servidores DNS do seu ISP).

Isso significa que você pode usar o arquivo hosts para adicionar o que os servidores DNS não podem fornecer (como apelidos para locais em sua rede local, que de outra forma só é possível se você tiver um servidor DNS configurado em sua rede local) ou substituir os endereços IP que seus servidores DNS normalmente forneceriam.

Por exemplo, se você solicitar wikipedia.org, os servidores DNS retornarão o endereço IP da Wikipedia para o seu computador. Mas se você quiser bloquear a Wikipedia nesse computador, você pode adicionar uma entrada no arquivo hosts que informa ao seu computador que wikipedia.org aponta para algum outro endereço IP diferente do endereço IP real da Wikipedia.

Há muitas outras coisas que você pode fazer com o arquivo hosts, mas esses são apenas alguns exemplos básicos e outros usos dependem muito de suas necessidades.

A localização do arquivo Hosts do Linux

No Linux, você pode encontrar o arquivo hosts em / etc / hosts. Por ser um arquivo de texto simples, você pode abrir o arquivo hosts usando seu editor de texto preferido.

No entanto, como o arquivo hosts é um arquivo de sistema, você precisará de direitos administrativos para salvar as alterações. Portanto, para editar o arquivo usando um editor de texto baseado em terminal Linux, como o nano, você precisará primeiro digitar sudo para obter acesso de superusuário:

Sudo nano / etc / hosts

Para usar um editor de texto gráfico como o gedit, você pode tentar o gksu:

gksu gedit / etc / hosts

Você deve usar o terminal para que possa iniciar o aplicativo apropriado com direitos administrativos. Basta substituir nano ou gedit pelo seu editor de texto gráfico ou baseado em terminal favorito. Com o nano, quando terminar de editar o arquivo, pressione Ctrl + X, e então y para confirmar a substituição das alterações.

Como adicionar sites ao arquivo de hosts

No arquivo hosts, cada entrada possui sua própria linha. A sintaxe é simples. Digite o endereço IP para o qual deseja que o nome do host seja traduzido, pressione a tecla tab no teclado e digite o nome do host.

Por exemplo, para bloquear a Wikipedia, você digitaria (lembrando-se de usar a tecla tab em vez da barra de espaço):

127.0.0.1 wikipedia.org

127.0.0.1 é o endereço IP de loopback que sempre apontará para o seu próprio sistema. Como a web não está armazenada em sua máquina, seu navegador dirá que o site não foi encontrado. Agora está bloqueado de forma eficaz.

Se você se sentir intimidado pelo terminal, verifique o aplicativo Domain Blocker do Linux Mint (também conhecido como mintnanny). Ele adicionará entradas ao arquivo hosts que apontam os nomes de host que você especificar para 127.0.0.1. Mas para fazer qualquer outra coisa, você ainda precisará fazer alterações com um editor de texto.

Criar atalhos no arquivo de hosts

Se você tem um computador em sua rede doméstica (digamos com um endereço IP de 192.168.1.10) que possui um site simples que faz algo útil para você, você pode digitar o seguinte em seu arquivo hosts:

192.168.1.10 homeserver

Então, se você abrir seu navegador e apenas digitar http: // homeserver, ele será redirecionado automaticamente para 192.168.1.10. E isso é muito mais fácil do que digitar o endereço IP todas as vezes.

Como alternativa, você pode usar o arquivo hosts para criar atalhos para determinados sites na web. Use um comando como nslookup para encontrar o endereço IP de um site e, em seguida, adicione-o ao arquivo hosts ao lado do atalho desejado, como no exemplo acima. Mas isso só funciona em sites com endereços IP dedicados. Provavelmente não funcionará com a maioria dos sites que você visita.

Problemas potenciais com o arquivo Hosts

Portanto, estabelecemos como fazer alterações no arquivo host, mas você ainda pode ter problemas ao usar o Google Chrome. Este navegador tende a ignorar o arquivo hosts, a menos que você faça uma das duas coisas possíveis:

  1. Digite http: // no início de cada endereço. Por exemplo, se você bloqueou a Wikipedia no arquivo hosts, o Chrome irá contornar o bloqueio se você simplesmente digitar wikipedia.com na barra de endereço. Se você digitar http://wikipedia.com na barra de endereço, ele seguirá o arquivo hosts.
  2. Desative “Usar um serviço da web para ajudar a resolver erros de navegação” nas configurações do Chrome e você não precisará digitar http: // no início todas as vezes. Este é um dos Usando um Chromebook, mas preocupado com a privacidade? Ajuste essas 7 configurações no navegador Chrome no Chrome OS para ficar seguro online. vale a pena fazer de qualquer maneira.

TÍTULO
hosts - tabela estática para conversão de endereços IP em
nomes de máquina

SINTAXE
/ etc / hosts

DESCRIÇÃO
Esta página contém uma descrição do formato do arquivo
/ etc / hosts. Este arquivo contém texto que descreve
correspondência de endereços IP e nomes de máquina (um endereço em
linha). Para cada máquina, uma linha deve
as seguintes informações estejam presentes:

IP_address canonical_name aliases

Os campos deste registro são separados uns dos outros por espaços e / ou
guias. Texto começando com o caractere "#" até o final
linhas são consideradas um comentário e ignoradas. Nomes de máquinas
pode conter qualquer caractere imprimível exceto o separador
campos, caractere de nova linha ou caractere de comentário.
Aliases são modificados, alternativos,
formas abreviadas ou generalizadas de nomes de máquina (por exemplo,
localhost). O formato da tabela de nomes de host é descrito no RFC 952.

Berkeley Internet Domain Name Server (BIND) contém
Servidor de nomes da Internet para máquinas UNIX. Ele substitui o arquivo
/ etc / hosts ou um localizador de máquina e libera a máquina
da necessidade de preenchimento completo e detalhado do arquivo
/ etc / hosts.

Apesar de as funções desta mesa já serem desempenhadas há muito tempo
DNS, ainda é usado para

Sistema de inicialização.
Muitos sistemas têm uma pequena tabela de nomes
máquinas contendo informações sobre nomes e endereços
máquinas importantes na rede local. Isso é útil para
se o DNS não funcionar, por exemplo, se
inicialização do sistema.

Os sites NIS NIS usam a tabela de nomes
máquinas como fonte de informação para a base
dessas máquinas NIS. Embora o NIS possa
funcionam com DNS, muitos sites NIS usam
tabela de nome de máquina com strings para todas as máquinas
rede local como uma rede de segurança.

Nós isolados
Pequenos sites não conectados à rede global,
use uma tabela de nomes de host em vez de DNS. Se
informações locais raramente mudam, e a rede não
conectado à internet, DNS dificilmente é necessário.

EXEMPLO
127.0.0.1 localhost
192.168.1.10 foo.mydomain.org foo
192.168.1.13 bar.mydomain.org bar
216.234.231.5 master.debian.org master
205.230.163.103 www.opensource.org

REFERÊNCIA HISTÓRICA
Antes da introdução do DNS, a tabela de nomes de máquinas era a única
um meio de converter nomes de máquinas em endereços em
crescente rede de internet. Na verdade, este arquivo
foi criado com base no banco de dados oficial de carros,
mantido no Centro de Controle de Informações da Rede
(NIC), bem como correções locais contendo
pseudônimos não oficiais e / ou informações sobre desconhecidos
carros. NIC não suporta mais arquivos hosts.txt,
no entanto, no momento em que este livro foi escrito (por volta de 2000)
havia arquivos hosts.txt antigos na WWW. Eles eram
encontrado; as datas de colocação são 92, 94 e 95.

Eu quero te contar sobre alguns forma não padronizada com o qual você pode abrir sites no navegador usando nomes curtos. Por exemplo, em vez de digitar “yandex.ru” no navegador, você pode simplesmente digitar uma letra “y”. O arquivo / etc / hosts nos ajudará com isso.

Arquivo / Etc / hosts

O arquivo / etc / hosts define a correspondência entre o endereço IP e o nome do host (nome do host, domínio), bem como seus apelidos (também chamados de sinônimos, apelidos). Quando você acessa qualquer endereço na rede, por exemplo, http://yandex.ru, para acessar o site, o sistema primeiro precisa converter o endereço do site no endereço IP correspondente, para isso o sistema solicita um endereço IP de Servidores DNS... Se uma correspondência entre yandex.ru e um endereço IP for gravada no arquivo / etc / hosts, o sistema usará esse endereço IP específico. E como também podemos especificar um alias no arquivo / etc / hosts pelo qual um endereço IP específico estará disponível, podemos especificar, por exemplo, para yandex.ru o alias "y". Da mesma forma, quando você perguntar "y" em seu navegador, o sistema lerá o endereço IP no arquivo / etc / hosts e abrirá o site yandex.ru. Ou seja, / etc / hosts é um tipo de servidor DNS local.

Como descobrir o endereço IP de um site

Agora precisamos determinar os endereços IP dos sites que queremos adicionar a / etc / hosts. Deve-se observar que nem todos os sites possuem um endereço IP dedicado separado e é impossível acessá-los apenas pelo endereço IP. Mas quase todos os grandes sites e portais têm seu próprio endereço IP dedicado. Uma maneira fácil de descobrir o endereço IP de um site é usar o comando ping:

Faça ping no URL do site.

Por exemplo, vamos executar:

ping yandex.ru

O processo de ping será exibido na tela (para abortar, pressione Ctrl + C). Portanto, obtemos a saída do comando ping na forma:

PING yandex.ru (87.250.250.11) 56 (84) bytes de dados. 64 bytes de yandex.ru (87.250.250.11): icmp_seq = 1 ttl = 57 tempo = 3,57 ms ...

Aqui você pode ver que yandex.ru corresponde ao endereço IP 87.250.250.11. Da mesma forma, atuamos para outros sites.

Editando o arquivo / etc / hosts

Você precisa ter cuidado ao editar o arquivo / etc / hosts para não estragar nada, pois é um arquivo de sistema e é importante não quebrar sua sintaxe. Abra o arquivo para edição, para fazer isso, execute na linha de comando:

Sudo gedit / etc / hosts

O conteúdo do arquivo é semelhante a este:

127.0.0.1 localhost :: 1 mycomp localhost6.localdomain6 localhost6 127.0.1.1 mycomp # As seguintes linhas são desejáveis ​​para hosts compatíveis com IPv6 :: 1 localhost ip6-localhost ip6-loopback fe00 :: 0 ip6-localnet ...

A sintaxe do arquivo / etc / hosts é muito simples:

Nome do host do endereço IP [aliases, ...]

Vamos adicionar novas linhas ao arquivo para sites diferentes:

74.125.232.19 google.ru g 94.100.191.203 mail.ru m 194.186.36.211 rbc.ru r 87.250.250.11 yandex.ru y

Salve e feche o arquivo. Registramos a correspondência entre endereços IP, nomes de sites e seus aliases. Agora vá para o navegador e na barra de endereço digite simplesmente "g", o site google.ru deve abrir. Para abrir mail.ru, basta inserir "m", para rbc.ru - apenas "r", yandex.ru - "y".