Вы можете запустить крошечный скрипт после подключения к другой сети. Сначала создайте этот пакетный скрипт:
ping -n 1 some.local.ip.addy
if errorlevel 1 goto :isremote1
cp /Y %WINDIR%\System32\Drivers\etc\hosts.local %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isremote1
ping -n 1 some.remote1.ip.addy
if errorlevel 1 goto :isremote2
cp /Y %WINDIR%\System32\Drivers\etc\hosts.remote1 %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isremote2
ping -n 1 some.remote2.ip.addy
if errorlevel 1 goto :isunknownnet
cp /Y %WINDIR%\System32\Drivers\etc\hosts.remote2 %WINDIR%\System32\Drivers\etc\hosts
goto :eof
:isunknownnet
cp /Y %WINDIR%\System32\Drivers\etc\hosts.public %WINDIR%\System32\Drivers\etc\hosts
goto :eof
Add as many more networks as you like to this file...
Измени, some.XXXX.ip.addy
к фактическому IP в каждой сети. Удостоверьтесь, что это то, что всегда доступно (IP-адрес маршрутизатора будет хорошо работать, пока он отвечает на запрос PING).
Затем создайте файл hosts (%WINDIR%\System32\Drivers\etc\hosts.XXX
) для каждой сети и поместите в нее все, что вам нужно.
192.168.0.2 my-service.mynet.dyndns.org
192.168.0.3 my-service2.mynet.dyndns.org
После того, как у вас все получится, вы можете сделать это автоматически с помощью диспетчера задач.