1 votes

Connexion informatique croisée ou commutateur de réseau, différences entre les paquets de diffusion ? Temps de démarrage très lent avec débogage du réseau

  • Problème :

    • La configuration du réseau entraîne un temps de chargement du système d'exploitation de 10 minutes.
  • Configuration

    • Deux systèmes Windows 10, dernières mises à jour
    • connecté directement avec un câble ethernet (non croisé)
    • IPs statiques sur les deux
    • Réseau de noyaux Windows Le débogage est activé
    • Le Pare-feu Windows est désactivé sur la cible
    • La machine hôte possède deux interfaces réseau
  • Questions :

    • Comment les connexions croisées affectent-elles les paquets de diffusion ?
    • La table de stockage et de transfert du commutateur réseau pourrait-elle être responsable ?
  • Observations :

    • Le temps de démarrage de 10 minutes est interrompu au moment où Windows démarre.
    • Je suppose que le filtre KDNET a du mal à...
    • Lorsque je connecte les deux PC à un commutateur réseau, le problème est résolu.
    • quand je désactive le débogage réseau, le problème est résolu
    • Connected to target 169.254.78.132 on port 50008 on local IP 192.168.128.1 s'imprime dans WinDbg à la connexion, avec un commutateur réseau ou un câble croisé
    • Connected to target 172.29.2.197 on port 50008 on local IP 172.29.13.140 est lorsque le DHCP est activé sur la cible, en se connectant via l'interface réseau primaire.
    • En laissant WinDbg fermé (aucune session de débogage du noyau ouverte), toujours lent
    • Liste des adresses IP de la cible selon l'adaptateur réseau.
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

1voto

umbrae Points 436

TL;Dr : Utilisez bcdedit /set {dbgsettings} dhcp No o nodhcp drapeau.

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

WinDBG utilisant le débogage réseau du noyau de Windows 10 (RS5 / 17763.1) nécessite DHCP por par défaut pour fonctionner de manière optimale.

Rappelons que le module noyau de KDNET fonctionne à un niveau inférieur à celui du système d'exploitation Windows. Les paramètres de l'adresse IP de la connexion "Microsoft Kernel Debug Network Adapter" ne sont PAS utilisés, ni l'adaptateur réel caché (Intel/Realtek/Broadcom), qui avait également son adresse IP.

Par exemple, en définissant l'adresse IPV4 à 192.168.128.1 dans le panneau de configuration Connexions réseau, le débogueur (alors qu'il est connecté au commutateur) signale ceci :

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

cela correspond à mon observation précédente que lorsque le câble croisé était utilisé :

Connected to target 169.254.78.132 on port 50008 on local IP 192.168.128.1

Ainsi, un câble croisé sans serveur DHCP fait que KDNET se bloque pendant 10 minutes sur le DHCP avant de revenir à l'adresse locale du lien.

Confirmé par https://community.osr.com/discussion/290941/network-debugging-took-pcs-off-the-dhcp-network-windbg-can-no-longer-connect

Le débogueur du noyau (c'est-à-dire la partie intégrée à la cible) de l'ordinateur cible) est capable de connecter un windbg sur une machine ayant un IP statique, mais il n'a jamais supporté l'attribution d'une IP statique à lui-même. Soit vous utilisez DHCP, soit vous obtenez une adresse de repli dans la gamme 169.254.x.x dans la plage 169.254.x.x. Cette plage n'est pas routable, les deux ordinateurs doivent donc être directement connectés.

Notez que l'adresse IP attribuée à la carte réseau par le système d'exploitation n'est pas pertinente. système d'exploitation n'est pas pertinente. Le débogueur du noyau dispose de sa propre pile de pilotes indépendante.

De plus, la communication se fait via des paquets UDP, et non TCP... il n'a donc pas vraiment besoin d'une adresse IP. Voici la capture de paquets Wireshark montrant les demandes DHCP en utilisant un câble croisé :

Wireshark Packet Capture

En regardant de plus près la sortie de bcdedit y bcdedit /dbgsettings Je vois que Windows a automatiquement utilisé le drapeau DHCP, bien que je ne l'aie jamais ajouté. Je vois qu'ils ont aussi ajouté une option "nodhcp", bien qu'il soit difficile de le trouver dans la documentation

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

L'ajout de DHCP:no à ma configuration de débogage réseau batch script a résolu le problème !

@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

Il y a aussi le problème du pare-feu causé par les réseaux statiques sans DNS marqués "public". J'ai ce code powershell pour le résoudre, mais il est requis sur Startup..... J'ai simplement désactivé le pare-feu pour cette machine cible afin d'atténuer le problème.

# 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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X