У меня есть сервер openVPN, использующий настройку TUN с маршрутизацией.
server.conf
topology subnet
server 10.8.0.0 255.255.255.0
push "redirect-gateway"
push "route 10.0.0.0 255.255.255.0"
push "dhcp-option DNS 10.0.0.1"
У меня проблемы с моим клиентом openVPN и доступом к веб-серверу интрасети. Доменное имя для веб-сервера: intranet.app
.
Доступ из локальной сети работает нормально - шлюз пересылает DNS-запросы для intranet.app
на локальный сервер.
Когда я подключаюсь через openVPN, кажется, что все DNS-запросы перенаправляются на DNS-сервер, указанный адаптером беспроводной / локальной сети, используемым для подключения к Интернету. Если этот DNS-запрос не разрешается, он запрашивает DNS-сервер, указанный на шлюзе vpn.
Я протестировал это, установив на своем сервере фиктивный домен как intranet.lan
.
intranet.app
- разрешается 127.0.53.53, потому что .app
теперь gTLD, но intranet.app
не зарегистрированный домен.
intranet.lan
- не разрешается, потому что .lan
не является рДВУ. Затем запрашивается DNS-сервер шлюза vpn, и запрос разрешается на веб-сервер, размещенный в локальной сети.
Как я могу программно убедиться, что клиент openVPN отправляет DNS-запросы только на шлюз VPN, а не на адаптер беспроводной / локальной сети?
Спасибо
Я нашел набор скриптов на dnsleaktest.com который удаляет все существующие ссылки на преобразователи DNS до создания туннеля и добавляет ссылки VPN-соединения. Он также меняет это значение на противоположное после закрытия соединения.