Jeff Moser просто отправил хорошую статью об этом объяснении входов и выходов, квитируя и т.д.
http://www.moserware.com/2009/06/first-few-milliseconds-of-https.html
Если я не ошибаюсь, это определяется порядком привязки NIC в Расширенных настройках в папке сетевых соединений. Можно проверить его путем изменения обязательного порядка различного NIC и выполнения nslookup как тест.
Чтобы подробно остановиться на моем ответе, цитируя статью, что связанный Evan, вот является выборкой от упомянутой статьи:
Клиентская служба DNS запрашивает серверы DNS в следующем порядке:
Клиентская служба DNS отправляет запрос имени на первый сервер DNS в списке предпочтительного адаптера серверов DNS и ожидает одна секунда ответа.
Если Клиентская служба DNS не получает ответ от первого сервера DNS в течение одной секунды, это отправляет запрос имени на первые серверы DNS на всех адаптерах, которые все еще рассматриваются, и ожидает две секунды ответа.
Если Клиентская служба DNS не получает ответ ни от какого сервера DNS в течение двух секунд, Клиентская служба DNS отправляет запрос на все серверы DNS на всех адаптерах, которые все еще рассматриваются, и ожидает еще две секунды ответа.
Если Клиентская служба DNS все еще не получает ответ ни от какого сервера DNS, она отправляет запрос имени на все серверы DNS на всех адаптерах, которые все еще рассматриваются, и ожидает четыре секунды ответа.
Если это, Клиентская служба DNS не получает ответ ни от какого сервера DNS, клиент DNS, отправляет запрос на все серверы DNS на всех адаптерах, которые все еще рассматриваются, и ожидает восемь секунд ответа.
Предпочтительный адаптер на шаге 1, являющемся адаптером, это перечислило сначала в обязательном порядке.
Эта страница описывает алгоритм, используемый Windows для выполнения запросов DNS. Не подробно достаточно дать Вам все ответы, которые Вы ищете, но некоторое время w/сниффер и эта статья должен быть всем, что необходимо определить то, что происходит в определенной ситуации.
Это не решает случайным образом. Вы подключены к маршрутизатору, который получает его IP от компании, которая имеет серверы DNS. Они получают Ваш запрос, если Вы не изменяете IP вручную к другому DNS, например: OpenDns. Или возможно Вы выбираете наличие Ваших собственных серверов DNS. Это работает также. Просто введите адреса IP в центр сети, и все должны быть хорошо. И да, необходимо будет установить их вручную.
Можно также скорректировать файл в C:\Windows\System32
названный "хостами" без расширения. Это позволяет Вам перенаправлять URL-запросы вместо того, чтобы быть отправленным в стандартный DNS. К локальному серверу (который должен работать и слушать порт 80),
Поскольку это может помочь вам или другим, вы можете отключить циклическое использование Windows для перечисленных DNS, чтобы сделать использование DNS более предсказуемым. Попробуйте установить RoundRobin = 0
в HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ DNS \ Parameters
( ссылка ), чтобы отключить циклический переход DNS.
Также существует "тайм-аут" для ротации серверов, вы также можете попробовать установить его на ноль :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
ServerPriorityTimeLimit=0
I had exactly the same problem. I've spent a day trying to figure it out. Now I know and it works like a charm.
If you have several network cards and if if specify DNS server in each of them. Do you know what DNS server will be used at last?
Well you can check it via practice.
nslookup 192.168.3.6
So you see the server that your PC actually use
The question is - From what depends what DNS server windows choose to use and how we can change it.
We especially need it when we use VPN clients.
The answer from qwerty2010 is right and correct. But you can use it ONLY when you have NIC in control panel - network and sharing center - change adapter settings - list of nics
Only if you see the nic that is reponsible for your VPN client you can use graphical way to point windows what dns server (that is specified on a particular nic) you'd like to use.
So you go Network and sharing centre -> Change adapter settings -> Advanced -> Advanced settings -> and you move UP the nic with DNS you'd like to USE. (UP you need to lift it UP).
However if for instance you use Shrew vpn client - you will not have any nics.
What do you do.
You open registry.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
And you look in subfolders 0000, 0001 etc the folder with
DriverDesc = Shrew Soft Virtual Adapter
fine. Then you copy to the clipboard
NetCfgInstanceId = {B498E7DE-7257-48F6-AD32-60E470030F05}
Now you go
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage]
and you open key = Bind
. You'll see the list like this
\Device\{1DF89CE3-CAAD-4EB7-A53F-AD16BC1D5EFD}
\Device\{70126DBE-B44D-4392-9417-0CABD6E384B1}
\Device\{D5127F8E-E7BB-4661-AE5A-A922614173D0}
\Device\{C44039AB-6801-4A9B-A736-3B12782FF411}
\Device\{85231D0F-CD05-4774-A983-632C5D83AC62}
\Device\{7E87BC81-8C58-4E05-9FA0-7897A6AA5CCE}
\Device\{3A1A3EFC-A9DE-4BCA-BAF6-81C7074487E0}
\Device\{8D41EDFC-04AC-4537-B5D5-0D54EB51A023}
All you have to do is put to the top
\Device\{B498E7DE-7257-48F6-AD32-60E470030F05}
\Device\{1DF89CE3-CAAD-4EB7-A53F-AD16BC1D5EFD}
\Device\{70126DBE-B44D-4392-9417-0CABD6E384B1}
\Device\{D5127F8E-E7BB-4661-AE5A-A922614173D0}
\Device\{C44039AB-6801-4A9B-A736-3B12782FF411}
\Device\{85231D0F-CD05-4774-A983-632C5D83AC62}
\Device\{7E87BC81-8C58-4E05-9FA0-7897A6AA5CCE}
\Device\{3A1A3EFC-A9DE-4BCA-BAF6-81C7074487E0}
\Device\{8D41EDFC-04AC-4537-B5D5-0D54EB51A023}
That's all. There is no need to reboot.
Now your windows will use DNS specified in shrew vpn nic when you use vpn connection.
В Windows 10 (и Windows Server 2016) вы должны обновить метрики каждого интерфейса в нужном вам порядке.
Ссылки:
Я использовал 10 для своей LAN, 20 для WLAN и 100 для интерфейсов VPN (я предпочитаю локальный DNS в действии, у других может быть наоборот). Помните, что более низкая метрика = более высокий приоритет .
См. Эту статью в Microsoft Support для Объяснение функции автоматической метрики для маршрутов IPv4 .
Чтобы конкретно ответить на вопрос, Windows использует первые записи DNS, связанные с сетевым интерфейсом с наивысшим рейтингом ( InterfaceMetric
с более низким значением имеет более высокий рейтинг). Примеры ниже показывают, как получить и изменить это значение ранжирования интерфейса. Когда на интерфейсе не настроены DNS-серверы вручную, Windows полагается на DNS-серверы, предоставляемые любым DHCP-сервером, связанным с сетевым интерфейсом.
Обычно эта проблема возникает, когда у вас есть одна или несколько сетей VPN, которые предоставляют DNS-сервер для ресурсов, определенных для этой виртуальной сети.
Однако публичный DNS-сервер, назначенный WiFi-маршрутизатором, имеет прецедент и либо заявляет, что хосты не существуют, либо отвечают с неожиданным IP-адресом.
Чтобы решить эту проблему, нам нужно явно указать, какой сетевой интерфейс должен иметь приоритет, указав связанную с ним «метрику». (В настоящее время эта метрика, похоже, может быть установлена только через PowerShell ... см. Ниже )
C:\> Get-NetIPInterface | Select-Object -Property InterfaceAlias, InterfaceMetric | Sort-Object -Property InterfaceMetric
InterfaceAlias InterfaceMetric
-------------- ---------------
vEthernet (DockerNAT) 15
Npcap Loopback Adapter 25
Ethernet 11 25
Local Area Connection* 1 25
Local Area Connection* 2 25
Npcap Loopback Adapter 25
Ethernet 2 35
Wi-Fi 55
Bluetooth Network Connection 65
Loopback Pseudo-Interface 1 75
MY VPN 200 <--- There's my NIC with my fave DNS
vEthernet (Default Switch) 5000
(ПРИМЕЧАНИЕ. Убедитесь, что вы делаете это из административной консоли PowerShell)
C:\> Set-NetIPInterface -InterfaceAlias "MY VPN" -InterfaceMetric 10
C:\> Get-NetIPInterface | Select-Object -Property InterfaceAlias, InterfaceMetric | Sort-Object -Property InterfaceMetric
InterfaceAlias InterfaceMetric
-------------- ---------------
MY VPN 10 <--- Awesome!!! My fave DNS is now on top!!
vEthernet (DockerNAT) 15
Npcap Loopback Adapter 25
Ethernet 11 25
Local Area Connection* 1 25
Local Area Connection* 2 25
Npcap Loopback Adapter 25
Ethernet 2 35
Wi-Fi 55
Bluetooth Network Connection 65
Loopback Pseudo-Interface 1 75
vEthernet (Default Switch) 5000
В этом примере перед изменением значения метрики выполните эхо-запрос локального ресурс, который также имеет общедоступный IP-адрес, возвращает свой общедоступный IP-адрес (вместо внутреннего IP-адреса, возвращаемого моим DNS-сервером VPN).
> ping 10640-TEST
Pinging 10640-TEST.example.com [XX.163.171.155] with 32 bytes of data:
Reply from XX.163.171.155: bytes=32 time=80ms TTL=45
Reply from XX.163.171.155: bytes=32 time=76ms TTL=45
После изменения метрики в сетевом интерфейсе я теперь вижу ожидаемый внутренний IP-адрес, который возвращается с DNS-сервера, связанного с моей VPN:
> ping 10640-TEST
Pinging 10640-TEST.example.com [192.168.100.44] with 32 bytes of data:
Reply from 192.168.100.44: bytes=32 time=42ms TTL=127
Reply from 192.168.100.44: bytes=32 time=52ms TTL=127