У меня есть внутренняя сеть, в которой все службы зарегистрированы во внутреннем домене (например: coolcorp.io
).
Когда пользователи подключаются к VPN, я хочу, чтобы они могли разрешать внутренние службы в *.coolcorp.io
, без какого-либо другого «общедоступного» разрешения имен, проходящего через наш внутренний DNS-сервер.
В macOS и Linux я могу сделать это, создав настраиваемый параметр преобразователя в /etc/resolver
в этот конкретный домен.
Я не уверен, как это сделать в Windows. У нас нет AD, и DNS не должен быть шлюзом по умолчанию для нашей VPN.
В качестве фона давайте посмотрим, как DNS-стек работает в Windows.
Когда должно произойти разрешение для полного доменного имени, скажите a.contoso.com
Теперь для вашего конкретного случая лучше всего добавить запись NRPT для * .coolcorp.io и корпоративных DNS-серверов. В Windows 10 это может быть частью профиля Windows VPN через свойство DomainNameInformationList в VPNv2 CSP для MDM. https://docs.microsoft.com/en-us/windows/client-management/mdm/vpnv2-csp. Политики NRPT также можно добавить с помощью командлета PowerShell Add-DnsClientNrptRule. Это гарантирует, что все разрешения для * .coolcorp.io идут на сервер VPN. Затем в самом профиле VPN вам не нужно указывать адрес DNS-сервера или DNS-суффикс.
Если я вас правильно понимаю, то я предполагаю, что это зависит от того, как вы назначаете IP-адреса из своей VPN, и есть ли у вас возможность устанавливать адрес DNS-сервера, предполагая, что вы это сделаете, но не все реализации одинаковы. Вы хотели бы настроить зоны, на которые вы хотите получать внутренний ответ на этом DNS-сервере, и оставить рекурсию нетронутой (хотя, как правило, это плохая идея, если этот DNS-сервер открыт для публики, поскольку это открывает вас для потенциального отказа в обслуживании. атаки, и в этом случае вам, возможно, придется быть более сложным). Таким образом, ваш DNS-сервер сначала ответит на то, что он может, и, если у него нет зоны для запроса, он по умолчанию перенаправит его в корень Интернета.