- PowerShell 98.7%
- Batchfile 1.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
|
||
| CLAUDE.md | ||
| README.md | ||
| vpn-speed-test.bat | ||
| vpn-speed-test.ps1 | ||
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\Tauschbzw.\\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:
- Netzwerkadapter — alle Adapter mit Link-Speed und Status
- Verbindungstyp erkennen — anhand der Client-IP (siehe Subnetz-Tabelle unten)
- Latenz — Ping zum Server (4 Pakete)
- MTU-Diagnose — Binärsuche nach der maximalen MTU ohne Fragmentierung
- Testdatei prüfen — prüft ob K: gemountet und Testdatei vorhanden ist
- Transfer-Test 1 — 1 GB Datei von K: nach C:\Temp kopieren, Zeit und Durchsatz messen
- MTU-Fix (nur bei Problem) — setzt MTU per
netshauf den korrekten Wert - Transfer-Test 2 (nur nach MTU-Fix) — zweite Messung zum Vergleich
- Zusammenfassung — kompakte Ausgabe aller Ergebnisse
- Log speichern — Transcript wird nach
K:\IB_Tausch\tar\kopiert
Manuell vor dem Script (im Browser):
- Speedtest.net ohne VPN → Ergebnis notieren
- VPN verbinden
- Speedtest.net mit VPN → Ergebnis notieren
- 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.