Dies ist unter Windows nicht möglich, ohne zusätzliche Programme, Batchdateien oder die Befehlszeile zu verwenden. Eine Alternative ist, eine virtuelle (oder physische) Maschine zu installieren, auf der Sie das VPN ausführen können.
Es ist merkwürdig, dass etwas so leicht zu erklären ist, wie dies so schwer zu erreichen ist. Wie schwierig könnte es sein, nur den Datenverkehr von einem Programm zur VPN-Schnittstelle und alle anderen Programme zur Standard-NIC-Schnittstelle zu leiten? Warum müssen wir dafür eine ganze virtuelle Maschine einrichten? Und mit Linux ist es möglich, aber auch die Lösung ist nicht sehr elegant.
Es ist auch sehr begehrt: Ich habe Dutzende Threads zum selben Thema gefunden. Ich hoffe nur, dass jemand die Lächerlichkeit davon erkennt und etwas dagegen unternimmt. (In Windows 8!)
Diese Lösung stammt aus einer nicht zugeordneten Batchdatei . Es wurde etwas angepasst.
Anweisungen für Windows 7
Das Skript wird auf und leiten den Verkehr durch den VPN bis zu einem Neustart verbinden - Sie ersetzen können route add
mit route -p add
für die Änderung bestehen bleiben, aber wenn Sie keine permanente IP mit Ihrem VPN haben, wird es irgendwann aufhören zu arbeiten, wenn die VPN - IP - Änderungen.
- Öffnen Sie das Netzwerk- und Freigabecenter
- Öffnen Sie die Eigenschaften für Ihre VPN-Verbindung
- Klicken Sie auf die
Networking
Registerkarte - Für IPv4 und 6:
- Klicken
Properties
- Klicken
Advanced
- Deaktivieren Sie das Kontrollkästchen
Use default gateway[...]
- Schließen Sie alles, was von den vorherigen Schritten geöffnet wurde
- Bearbeiten und speichern Sie das unten gefundene Batch-Skript
- Führen Sie es als Administrator aus
Folgendes muss im Skript ersetzt werden:
<VPN>
mit dem Namen der erstellten VPN-Verbindung <USER>
mit dem VPN-Benutzernamen <PASS>
mit dem VPN-Passwort <TARGET>
mit der gewünschten IP-Adresse über das VPN (wenn Sie weitere Adressen weiterleiten möchten, duplizieren Sie einfach die drei Zeilen, in denen das Ziel verwendet wird)
Hinweis: Wenn Sie das Passwort nicht in der Datei gespeichert werden soll, ersetzen Sie <PASS>
mit %password%
und fügen Sie die folgende nach der ersten Zeile des Skripts: set password= Input password:
.
Skript
@echo off @echo make sure to be disconnected! rasdial <VPN> /d @echo start to connect to vpn rasdial <VPN> <USER> <PASS> netsh interface ip show config name="<VPN>" | findstr "IP" > ip.dat set /p ip= < ip.dat del ip.dat set ip=%ip:~-12% @echo VPN IP is %ip% set target=<TARGET> @echo Add route for %target% route add %target% mask 255.255.255.255 %ip% timeout /T 3 > nul