У меня есть ПК с Windows 10, который подключен к сети VPN с DNS-сервером, есть ли в Windows все-таки для маршрутизации DNS-запросов с суффиксом .local к VPN, а остальной трафик уходит через интернет-интерфейс? VPN не заставляет весь трафик проходить через него.
Да, это возможно в Windows 7+ с помощью таблицы политики разрешения имен. Это позволяет вам установить другой набор DNS-серверов для данного пространства имен. Это таблица, используемая DirectAccess для направления некоторого трафика через туннели DirectAccess.
Вот пара примеров команд PowerShell, которые вы можете использовать для управления таблицей политик и настройки политики для .local
.
Добавить правило для отправки .local через vpn
$Rule = @{
'Namespace' = '.local'
'Comment' = 'VPN network'
'NameServers' = ('fdab:25f9:a362:58::2', 'fdab:25f9:a362:58::3')
}
Add-DnsClientNrptRule @Rule
Убедитесь, что разрешение DNS работает (nslookup не будет использовать таблицу политик)
Resolve-DnsName 'example.local' -Type A_AAAA
Удалить правила NRPT
Get-DnsClientNrptRule | Where { $_.Namespace -eq '.local' } | Remove-DnsClientNrptRule