Resolver um nome de domínio com / etc / hosts somente se na rede local

1

Gostaria de vincular mydomain.com a 192.168.1.X somente se eu estiver conectado à minha rede local . Caso contrário, gostaria de deixar os servidores DNS resolvê-lo (se eu estiver fora da minha rede).

Agora, quando eu faço um ping mydomain.com , ele tenta se conectar a 192.168.1.X onde quer que eu esteja, porque eu tenho a linha 192.168.1.22 mydomain.com no meu arquivo /etc/hosts .

    
por ryancey 26.04.2014 / 17:06

2 respostas

1

Você precisará usar um servidor DNS interno na sua rede para hospedar uma zona DNS para mydomain.com. Então, quando você estiver conectado à sua rede interna, mydomain.com será resolvido pelo seu servidor DNS interno (supondo que você esteja usando um servidor DHCP internamente e que seu computador esteja configurado para usar o DHCP para sua configuração de endereço IP e que o servidor DHCP está configurado para fornecer seu servidor DNS interno para você via DHCP). Quando você não estiver conectado à sua rede interna, mydomain.com será resolvido pelos servidores DNS que você estiver usando nessas outras redes.

O problema com o uso do arquivo Hosts é que ele tem precedência sobre os servidores DNS configurados na configuração TCP / IP do cliente, portanto, mydomain.com sempre será resolvido para o que está no arquivo Hosts, independentemente de qual rede você está conectado a.

    
por 26.04.2014 / 17:26
-1

Crie um segundo arquivo HOSTS que esteja em branco. Crie um script para que um substitua o outro:

  • HOSTS - > HOSTStmp
  • HOSTS2 - > HOSTS
  • HOTSTtmp - > HOSTS2

Execute o script conforme necessário para alternar entre os arquivos HOSTS (e talvez também o script redefina as interfaces de rede).

    
por 26.04.2014 / 18:25