No description
  • PowerShell 98.7%
  • Batchfile 1.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
tarendt dc530dd407 Add CLAUDE.md with codebase guidance for Claude Code
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-07-23 08:51:45 +02:00
CLAUDE.md Add CLAUDE.md with codebase guidance for Claude Code 2026-07-23 08:51:45 +02:00
README.md first commit 2026-07-23 08:49:08 +02:00
vpn-speed-test.bat first commit 2026-07-23 08:49:08 +02:00
vpn-speed-test.ps1 first commit 2026-07-23 08:49:08 +02:00

VPN Speed Test Script

Automatisiertes PowerShell-Script zum Messen der SMB-Transfergeschwindigkeit über VPN, inklusive MTU-Diagnose und automatischer Verbindungserkennung.

Speicherort: K:\IB_Tausch\tar\ (auf dem Preith-Server)


Dateien

Datei Zweck
vpn-speed-test.bat Starter — Doppelklick, UAC-Prompt bestätigen, fertig
vpn-speed-test.ps1 Eigentliches Script (nicht direkt ausführen)

Voraussetzungen

  • Laufwerk K: muss gemountet sein (\\172.16.58.100\Tausch bzw. \\Regineering-DC\Tausch)
  • Testdatei muss auf dem Server existieren — einmalig erstellen falls nicht vorhanden:
    fsutil file createnew K:\IB_Tausch\tar\testfile.bin 1073741824
    
  • Das Script startet automatisch als Administrator (UAC-Prompt via .bat)

Starten

Einfach vpn-speed-test.bat doppelklicken → UAC bestätigen → Script läuft.

Manuell starten (falls nötig):

powershell -ExecutionPolicy Bypass -File .\vpn-speed-test.ps1

Alternativer Testpfad (z. B. bei anderem Laufwerksbuchstaben):

.\vpn-speed-test.ps1 -TestFile "T:\IB_Tausch\tar\testfile.bin"

Ablauf

Das Script führt folgende Schritte automatisch durch:

  1. Netzwerkadapter — alle Adapter mit Link-Speed und Status
  2. Verbindungstyp erkennen — anhand der Client-IP (siehe Subnetz-Tabelle unten)
  3. Latenz — Ping zum Server (4 Pakete)
  4. MTU-Diagnose — Binärsuche nach der maximalen MTU ohne Fragmentierung
  5. Testdatei prüfen — prüft ob K: gemountet und Testdatei vorhanden ist
  6. Transfer-Test 1 — 1 GB Datei von K: nach C:\Temp kopieren, Zeit und Durchsatz messen
  7. MTU-Fix (nur bei Problem) — setzt MTU per netsh auf den korrekten Wert
  8. Transfer-Test 2 (nur nach MTU-Fix) — zweite Messung zum Vergleich
  9. Zusammenfassung — kompakte Ausgabe aller Ergebnisse
  10. Log speichern — Transcript wird nach K:\IB_Tausch\tar\ kopiert

Manuell vor dem Script (im Browser):

  1. Speedtest.net ohne VPN → Ergebnis notieren
  2. VPN verbinden
  3. Speedtest.net mit VPN → Ergebnis notieren
  4. Script starten

Automatische Verbindungserkennung

Das Script erkennt den Verbindungstyp anhand der Client-IP — keine manuelle Angabe nötig:

Subnetz Erkannter Typ
172.16.61.x Site-to-Site VPN (VLAN VPN-Firma, Garching)
172.16.20.x Client-VPN (Lancom VPN Client)
172.16.52.x Garching LAN (kein VPN erkannt)
172.16.58.x Preith LAN (lokal)

Neues Subnetz hinzufügen: im switch-Block in vpn-speed-test.ps1 eine weitere Zeile eintragen.


MTU-Diagnose

Das Script sucht automatisch per Binärsuche die maximale MTU ohne Fragmentierung und setzt sie bei Bedarf per netsh:

netsh interface ipv4 set subinterface "<Adapter>" mtu=<Wert> store=persistent

Bekannte MTU-Werte im Netz:

Verbindung IP-MTU Ursache
Preith öffentliches WLAN + Lancom VPN 1300 PPPoE (1492) + VPN-Overhead
Garching Site-to-Site VPN 1200 Tunnel-Overhead über mehrere Hops
Preith LAN / TUM Garching 1500 Standard Ethernet

Dauerhafte Empfehlung: MTU-Korrektur direkt im Lancom-VPN-Profil oder auf dem Garching UniFi-Gateway konfigurieren (MSS Clamping), damit alle Clients automatisch profitieren.


Logs

  • Lokal (immer): C:\Temp\vpntest-<COMPUTERNAME>-<Datum>.txt
  • Server (wenn K: erreichbar): K:\IB_Tausch\tar\vpntest-<COMPUTERNAME>-<Datum>.txt

Der Log enthält die vollständige Konsolenausgabe des Scripts inkl. aller Messwerte.


Testergebnisse

Siehe report für alle bisherigen Messwerte und Vergleiche.