• Проблема:

    • Конфигурация сети приводит к 10-минутному времени загрузки операционной системы.
  • Настроить

    • Две системы Windows 10, последние обновления
    • подключен напрямую через Ethernet-кабель (без кроссовера)
    • Статические IP на обоих
    • Сетевая отладка ядра Windows включена
    • Брандмауэр Windows отключен на цели
    • Хост-машина имеет два сетевых интерфейса
  • Вопросы:

    • Как перекрестные соединения влияют на широковещательные пакеты?
    • Может ли быть ответственна таблица хранения и пересылки сетевого коммутатора?
  • Замечания:

    • 10-минутное зависание при загрузке происходит при вращении загрузочной заставки Windows
    • Я предполагаю, что фильтр KDNET испытывает трудности ...
    • Когда я подключаю оба компьютера к сетевому коммутатору, проблема решается
    • когда я отключаю отладку сети, проблема решена
    • Connected to target 169.254.78.132 on port 50008 on local IP 192.168.128.1 печатает в WinDbg при подключении с помощью сетевого коммутатора или перекрестного кабеля
    • Connected to target 172.29.2.197 on port 50008 on local IP 172.29.13.140 - это когда DHCP включен на цели и подключается через первичный сетевой интерфейс.
    • Оставив WinDbg закрытым (сеанс отладки ядра не открыт), все еще медленно
    • Список IP-адресов цели согласно netadapter
IP ADDRESSES

unicast            ffffd206bfefb040 - 192.168.128.100
multicast          ffffd206bfef2040 - 224.0.0.1
multicast          ffffd206ccdd1040 - 224.0.0.251
multicast          ffffd206ccddb040 - 224.0.0.252
multicast          ffffd206cd375040 - 239.255.255.250
broadcast          ffffd206bfef8040 - 255.255.255.255
broadcast          ffffd206ccda9040 - 192.168.128.255

1 ответ1

0

TL; Dr: Используйте bcdedit /set {dbgsettings} dhcp No или nodhcp flag.

bcdedit /dbgsettings NET HOSTIP:ip PORT:port [KEY:key] [nodhcp] [newkey] [/start startpolicy] [/noumex]

WinDBG, использующий сетевую отладку ядра Windows 10 (RS5 / 17763.1), по умолчанию требует DHCP для оптимальной работы.

Напомним, что модуль ядра KDNET работает на более низком уровне, чем ОС Windows. Настройки IP-адреса соединения "Microsoft Kernel Debug Network Adapter" не используются, также как и скрытый реальный (Intel/Realtek/Broadcom) адаптер, который также имеет свой IP-адрес.

Например, если для IPv4-адреса установить значение 192.168.128.1 на панели управления «Сетевые подключения», отладчик (при подключении к коммутатору) сообщает об этом:

Connected to target 172.29.1.132 on port 50008 on local IP 172.29.13.140.

это соответствует моему предыдущему наблюдению о том, что при использовании перекрестного кабеля:

Connected to target 169.254.78.132 on port 50008 on local IP 192.168.128.1

Таким образом, перекрестный кабель без DHCP-сервера приводит к тому, что KDNET останавливается на 10 минут по DHCP, а затем возвращается к локальному адресу.

Подтверждено https://community.osr.com/discussion/290941/network-debugging-took-pcs-off-the-dhcp-network-windbg-can-no-longer-connect

Отладчик ядра (имеется в виду часть, встроенная в ядро целевого компьютера) может подключать windbg на машине со статическим IP, но он никогда не поддерживал назначение статического IP себе. Вы либо используете DHCP, либо получаете запасной адрес в диапазоне 169.254.xx. Этот диапазон не маршрутизируемый, поэтому два компьютера должны быть подключены напрямую.

Обратите внимание, что IP-адрес, назначенный сетевому адаптеру операционной системой, не имеет значения. Отладчик ядра имеет свой собственный независимый стек драйверов.

Кроме того, связь осуществляется с помощью пакетов UDP, а не TCP ... поэтому для этого не требуется IP-адрес. Вот захват пакета Wireshark, показывающий запросы DHCP, используя перекрестный кабель:

Захват пакетов Wireshark

Если присмотреться к выводам bcdedit и bcdedit /dbgsettings я вижу, что окна автоматически использовали флаг DHCP, несмотря на то, что я его никогда не добавлял. Я вижу, что они также добавили опцию "nodhcp", хотя ее трудно найти в документации

debug                   Yes
----- dbgsettings -----
busparams               3.0.0
key                     1.2.3.4
debugtype               NET
hostip                  192.168.128.1
port                    50008
dhcp                    Yes

Добавление DHCP: нет, мой пакетный сценарий установки отладки сети решил проблему!

@echo off

rem get bus device function from Device Manager of network adapter
set bdf=3.0.0

rem port used in WinDbg
set port=50008

rem set your workstation machine to the following IP on a secondary adapter
set ip=192.168.128.1

rem enable network debug using the ip address of the dev system
bcdedit /debug on
bcdedit /create {dbgsettings} > NUL 2>&1
bcdedit /dbgsettings NET HOSTIP:%ip% PORT:%port% KEY:1.2.3.4
bcdedit /set {dbgsettings} busparams %bdf%
bcdedit /set {dbgsettings} dhcp No

rem rebuilt BCDs don't contain these sections / inheritance, and prevents Microsoft Kernel Debug Network Adapter from appearing
bcdedit /set {current} inherit {globalsettings}
bcdedit /create {globalsettings} > NUL 2>&1
bcdedit /set {globalsettings} inherit {dbgsettings}

pause

Существует также проблема брандмауэра, вызванная статическими сетями, когда DNS не помечен как "общедоступный", у меня есть этот фрагмент powershell, чтобы исправить это, но он требуется при запуске .... Я просто отключил брандмауэр для этой целевой машины, чтобы смягчить проблему.

# Name             : Unidentified network
# InterfaceAlias   : nameOfYourNetworkAdapter
# InterfaceIndex   : 6
# NetworkCategory  : Public
# IPv4Connectivity : NoTraffic
# IPv6Connectivity : NoTraffic

# converts the "Public" network to "Private" so file sharing and such works with Windows firewall
# this is good for local connections that do not need gateway / dns

get-netconnectionprofile -InterfaceAlias *
set-netconnectionprofile -InterfaceAlias nameOfYourNetworkAdapter -NetworkCategory Private
get-netconnectionprofile -InterfaceAlias *

# note, I don't believe this persists between reboots... so add to startup menu if needed
# it makes it easier to rename your nework adapter to 'debug' or something without spaces

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .