Talvez o acionador da entrada do arquivo de hosts personalizados possa ser o NetworkManager quando se conecta ao seu ponto de acesso.
Eu tenho um servidor na minha casa para provar e quando estou no meu laptop na minha casa eu tenho que escrever o IP local para ver o servidor web, e eu quero saber se é possível escrever um script para automaticamente detectar a rede e adicionar a linha no arquivo de hosts, e quando estiver em outra rede, exclua esta linha.
Obrigado.
Talvez o acionador da entrada do arquivo de hosts personalizados possa ser o NetworkManager quando se conecta ao seu ponto de acesso.
Uma solução melhor que o skwabbing manual de um arquivo seria ter um servidor DNS interno. Você poderia adicionar seus registros internos para isso. Existem duas maneiras de fazer isso funcionar:
Para toda a sua rede : Instale pdnsd
(um servidor DNS bom e simples de cache) em seu servidor, configure-o com um provedor DNS externo para armazenar em cache e aponte seu roteador no IP do seu servidor interno para DNS. Todos os dispositivos conectados à rede terão suas solicitações de DNS transmitidas por meio do seu servidor interno.
Na minha experiência, esta rota não é possível com os roteadores Home / SME Netgear à medida que explodem, se você tentar definir um IP interno como a rota do DNS. Limitação estúpida e desnecessária em hardware de outra maneira capaz.
Apenas seu laptop : como acima, exceto que você instala e configura pdnsd
em seu laptop (não é muito pesado) e altera as configurações de conexão de sua casa para usar 127.0.0.1 para DNS.
Você pode já estar executando uma solução:
Se o seu servidor tiver o nome 'my-server', tente este comando na máquina que não é o servidor:
$ ping my-server.local
Se você tiver sucesso, então você está executando avahi em suas máquinas e eles estão fazendo "zeroconf".
Pode haver outras razões pelas quais você deseja executar um servidor de DNS local, como armazenamento em cache e assim por diante. Uma abordagem de zeroconf não atende a essas necessidades.
Você pode até mesmo usar o servidor DNS do roteador e adicionar uma entrada de host ao servidor e apontar o DNS principal do seu laptop para o roteador.
O DNS é basicamente a substituição de manter registros de host em computadores individuais.