Erzwingen Sie IPv4-UDP-Broadcast auf allen Netzwerkschnittstellen unter Windows 7 und höher.
Laden Sie die neueste Version herunter.
Wenn Sie mit Windows arbeiten, könnte es Sie überraschen, dass IPv4-UDP-Broadcast-Pakete, die an die globale Broadcast-Adresse 255.255.255.255
(alle verfügbaren Netzwerkschnittstellen) gesendet werden, nicht tatsächlich an alle verfügbaren Netzwerkschnittstellen zugestellt werden System.
Dies liegt daran, dass die Windows-Netzwerkimplementierung von BSD-Sockets davon ausgeht, dass solche Pakete nur an die Schnittstelle mit der höchsten Priorität (die „Standard“-Schnittstelle) zugestellt werden können. Die Priorität der Netzwerkschnittstelle wird durch ihren Metrikwert bestimmt, der (normalerweise) automatisch vom System zugewiesen wird. Die Schnittstelle mit dem niedrigsten Metrikwert wäre die Schnittstelle mit der höchsten Priorität. Normalerweise ist dies die Schnittstelle, über die Ihr PC mit dem Internet (oder Ihrem Heimrouter) verbunden ist. Sie können die von Windows allen Netzwerkschnittstellen zugewiesenen Metrikwerte überprüfen, indem Sie diesen Befehl in PowerShell ausführen:
Get-NetIPInterface
Was auch immer der Grund für dieses Verhalten ist, es hat schwerwiegende Auswirkungen darauf, dass alle anderen Netzwerkschnittstellen keine globalen UDP-Broadcast-Pakete empfangen und eine bestimmte Anwendung Verbindungsprobleme haben wird, wenn sie auf die ordnungsgemäße Zustellung solcher Pakete angewiesen ist.
Wie wichtig ist das? Stellen Sie sich einen PC vor, der mit dem lokalen Netzwerk mit dem Standard-Subnetz 192.168.179.0/24 und einem VPN mit dem Subnetz 100.100.100.0/24 verbunden ist. Nun läuft auf diesem PC ein Dienst, auf den auch VPN-Clients zugreifen müssen und der für die Kommunikation auf globale UDP-Broadcast-Pakete angewiesen ist.
Die einzige Möglichkeit, dieses Problem unter Windows zu lösen, besteht natürlich darin, beide Netzwerke zu überbrücken. Bridging ist jedoch höchst unerwünscht, da dadurch Ihr gesamtes LAN einer über VPN verbundenen Partei ausgesetzt wäre.
BROADcast löst dieses Problem gut, indem es globale UDP-Broadcast-Pakete erfasst, die an die primäre Route (auch „bevorzugte“ Route genannt) gesendet werden, und sie einfach an alle anderen geeigneten Netzwerkschnittstellen weiterleitet, die Windows einfach weiterleiten möchte.
Auf dem Screenshot oben erfasst BROADcast globale UDP-Broadcast-Pakete, die an die echte LAN-Adresse 10.10.10.100
(die auch die bevorzugte Route ist) gesendet werden, und leitet sie an die VPN-Adresse 100.100.100.1
weiter. Ohne die Ausführung von BROADcast wären die Pakete weiterhin nur an 10.10.10.100
zugestellt worden, wobei das VPN-Segment des Netzwerks vollständig ignoriert worden wäre.
Beispiele für Software, die unbedingt auf diese Funktionalität angewiesen ist, sind: LAN-Chat-Anwendungen, einige Multiplayer-Videospiele und andere dezentrale Anwendungen für die Zusammenarbeit.
Hinweis: Für die Ausführung von BROADcast sind Administratorrechte erforderlich. Dies liegt daran, dass UDP-Pakete über Raw-Sockets erfasst werden müssen und dies nur für Konten mit erhöhten Rechten zulässig ist.
BROADcast ist eine Konsolenanwendung. Es kann auch im Hintergrund als Windows-Dienst ausgeführt werden.
Beginnen Sie mit der Weiterleitung globaler UDP-Broadcast-Pakete:
broadcast.exe -b
Fügen Sie -d
hinzu, um ausführliche Diagnosemeldungen anzuzeigen (nützlich für die Fehlerbehebung):
broadcast.exe -b -d
Broadcast-Pakete würden an alle Netzwerkschnittstellen außer der Standardschnittstelle übermittelt. Verwenden Sie Strg+C , um BROADcast sauber zu beenden.
Als Bonusfunktion ermöglicht BROADcast, jede Schnittstelle zur Standardschnittstelle (oder bevorzugten Schnittstelle) zu machen. Dies geschieht, indem der aktuelle Metrikwert der Schnittstelle, die Sie als Standard festlegen möchten, zu den Metrikwerten der anderen Schnittstellen addiert wird, sodass dieser zum niedrigsten Metrikwert von allen wird:
BROADcast.exe -i " Interface " -m
Führen Sie den Befehl erneut ohne das Argument -m
aus, um alle Änderungen an Metrikwerten rückgängig zu machen und die automatisch vom System verwalteten Werte wiederherzustellen:
BROADcast.exe -i " Interface "
„Schnittstelle“ ist der Name der Netzwerkschnittstelle, der im Abschnitt „Netzwerk- und Freigabecenter“ der Windows-Systemsteuerung nachgeschlagen (und geändert) werden kann. Sie können schnell darauf zugreifen, indem Sie Win+R drücken und Folgendes öffnen:
%windir%explorer.exe shell:::{992CFFA0-F557-101A-88EC-00DD010CCC48}
Um BROADcast als Windows-Dienst zu installieren (oder zu deinstallieren), rufen Sie es mit dem entsprechenden Argument auf:
broadcast .exe [install | uninstall]
Das BROADcast-Repository enthält eine Beispiel-OpenVPN-Konfiguration und Skripts zum Ausführen von BROADcast nach dem Starten eines OpenVPN-Servers mit einem TAP-Gerät.
Beachten Sie, dass Sie OpenVPN, genau wie BROADcast, auch mit Administratorrechten ausführen müssen, wenn Sie BROADcast über OpenVPN mithilfe der Start-/Stopp-Skriptfunktionalität starten möchten.
Aus diesem Grund wird dringend empfohlen, BROADcast stattdessen separat als Windows-Dienst zu starten.
ForceBindIP steht zwar nicht in direktem Zusammenhang mit BROADcast oder UDP-Broadcast, ist aber eine weitere nützliche Windows-Netzwerkstütze.
Im Gegensatz zu BROADcast, das eine Lösung für das UDP-Protokoll bereitstellt, bietet ForceBindIP eine ähnliche Lösung für das TCP-Protokoll, indem es eine Anwendung dazu zwingt, eine bestimmte Netzwerkschnittstelle zu binden (oder abzuhören) und nicht die, die sie automatisch auswählt (die oft nicht die ist, die Sie verwenden). wollen).
Die Entwicklung hochwertiger Software ist schwierig und zeitaufwändig. Wenn Sie BROADcast nützlich finden, können Sie mir ein ☕ kaufen!