Очевидно, существует проблема с неправильным порядком привязки в Windows, по крайней мере, в Windows 2000/XP/7. Это приведет к тому, что клиенты Windows OpenVPN будут использовать настройки DNS сетевого адаптера по умолчанию, а не настройки адаптера VPN.
Чтобы это исправить, вам нужно разместить устройство VPN TUN или TAP над адаптером локальной сети в порядке привязки:
- Определите ваше VPN-устройство, посмотрев на вывод из
ipconfig
. Для меня это было "Подключение по локальной сети 2". Запомните свой IP-адрес для этого адаптера.
- Откройте файл regedit.exe и найдите ключ в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
который соответствует IP-адресу вашего VPN-адаптера. Запомните GUID для этого адаптера.
- Перейдите в
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Linkage
и дважды щелкните по Bind
. Он будет содержать список идентификаторов GUID для адаптеров. Вырежьте и вставьте строку, соответствующую GUID вашего VPN-устройства, в верхнюю часть списка и сохраните список.
Это приведет к использованию записей DNS для вашего VPN-устройства (и только тогда, когда VPN-соединение активно). Вы можете установить их в соответствии с ответом @brunoqc. Пока вы работаете над этим, вам, вероятно, следует также добавить опцию openvpn block-outside-dns
, чтобы DNS-запросы не просачивались.
Этот ответ основан на этом очень полезном сообщении в блоге.