Regras avançadas para o arquivo hosts

1

Eu preciso adicionar uma regra para todos os subdomínios de um domínio. Eu imagino que deve ser assim:

127.0.0.1 *.example.com

Como você pode ver, preciso redirecionar todas as solicitações para qualquer subdomínio em example.com para localhost. Bem, eu sei que é impossível fazer isso com o arquivo hosts. O que mais posso usar neste caso?

    
por Andrey Rusanov 20.08.2015 / 11:02

1 resposta

2

Como você disse, não é possível colocar curingas em /etc/hosts . Isso simplesmente não funciona.

Isso realmente deixa você com uma opção: manipular o DNS real manualmente. Existem várias maneiras de fazer isso, mas duas vêm à mente como as melhores opções ...

Você poderia executar um servidor DNS totalmente flegado localmente. Isso pode ser uma boa ideia se sua conexão com a Internet estiver lenta e você quiser que todos os dispositivos na rede façam proxy através desse servidor ou se você executar muitos domínios que deseja substituir ou por algum outro motivo que deseje entrar no primeiro. anel do inferno ... Não vai demorar uma semana, mas requer material de aprendizagem.

Ou você pode apenas substituir as configurações de dnsmasq . Ubuntu através de network-manager já está executando uma espécie de proxy DNS na forma de dnsmasq e você pode dizer para substituir vários domínios, com bastante facilidade. Veja como eu encaminharia *.thepcspy.com (meu domínio) para 127.0.0.1 :

echo address=/thepcspy.com/127.0.0.1/ | sudo tee -a /etc/NetworkManager/dnsmasq.d/local
sudo service network-manager restart

Em seguida, teste:

$ nslookup thepcspy.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Name:   thepcspy.com
Address: 127.0.0.1

e um subdomínio:

$ nslookup testing.thepcspy.com
Server:     127.0.1.1
Address:    127.0.1.1#53

Non-authoritative answer:
Name:   testing.thepcspy.com
Address: 109.74.193.118

Para reverter essas alterações, basta editar (ou excluir) /etc/NetworkManager/dnsmasq.d/local e reiniciar network-manager novamente.

    
por Oli 20.08.2015 / 11:28