DNS-суффикс поиска игнорируется - PullRequest
1 голос
/ 30 марта 2020

Я на ноутбуке Windows 10 и получаю следующее поведение:

Когда я проверяю список суффиксов поиска DNS:

PS C:\> Get-DnsClientGlobalSetting

UseSuffixSearchList : True
SuffixSearchList    : {domain1.co.uk, domain2.com, domain3.box}
UseDevolution       : True
DevolutionLevel     : 0

Когда я разрешаю имя хоста без суффикс:

PS C:\> Resolve-DnsName -Name hostname1
Resolve-DnsName : hostname1 : DNS name does not exist
At line:1 char:1
+ Resolve-DnsName -Name hostname1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (hostname1:String) [Resolve-DnsName], Win32Exception
    + FullyQualifiedErrorId : DNS_ERROR_RCODE_NAME_ERROR,Microsoft.DnsClient.Commands.ResolveDnsName

Когда я разрешаю имя хоста с указанным вручную суффиксом:

PS C:\> Resolve-DnsName -Name hostname1.domain2.com 

Name                                           Type   TTL   Section    IPAddress                                
----                                           ----   ---   -------    ---------                                
hostname1.domain2.com            A      300   Answer     10.10.10.234
hostname1.domain2.com            A      300   Answer     10.10.11.197

Почему суффикс "domain2.com" не используется для разрешения "hostname1" на IP-адреса, как это возможно, когда суффикс добавляется вручную? Это должно происходить автоматически, не так ли?

Я попытался запустить

ipconfig /flushdns

И я попытался перезагрузить компьютер, но он все равно не пройдет. Что здесь происходит?

Примечание. Суффикс domain2.com добавляется автоматически при подключении к конечной точке Open VPN и указывается в файле конфигурации OpenVPN как:

dhcp- опция DOMAIN domain2.com

Я видел сообщения о том, что это связано с порядком привязки, и что вы можете решить эту проблему (утечка DNS), увеличив метрику c для VP *. 1031 * NI C, поэтому я написал скрипт, чтобы увеличить показатель c этой карты, чтобы он был максимальным из всех карт:

$HighestMetric = ((Get-NetIPInterface).InterfaceMetric | Sort-Object -Descending)[0]
$VpcAdapter = Get-NetAdapter | Where-Object -Property InterfaceDescription -Match "TAP"
$currentMetric = (Get-NetIPInterface -InterfaceAlias $VpcAdapter.InterfaceAlias -AddressFamily IPv4).InterfaceMetric
Set-NetIPInterface -InterfaceAlias $VpcAdapter.InterfaceAlias -InterfaceMetric ($HighestMetric +1)

Но это все еще не решило проблему

...