Kann ich nach dem Herstellen einer VPN-Verbindung in Windows 7 automatisch xxxx hinzufügen?

8

Nachdem ich eine VPN-Verbindung zu meiner Arbeit / was auch immer hergestellt habe, muss ich derzeit in die Eingabeaufforderung gehen und manuell eine Route hinzufügen.

z.B.

ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 METRIC 1 oder was auch immer der Befehl ist.

Ist es möglich, dass dies automatisch geschieht, nachdem ich erfolgreich eine VPN-Verbindung hergestellt habe?

Pure.Krome
quelle

Antworten:

4

Wenn Sie es zu einem einstufigen Prozess machen möchten, können Sie eine Batch-Datei erstellen, in der rasdial ausgeführt wird, um Ihre VPN-Verbindung zu automatisieren, und dann ROUTE ADD ausführen :

rasdial "connection name" username password ('*' to prompt for password)
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 

Dies setzt voraus, dass Sie eine Verbindung zu einem Microsoft VPN herstellen, Sie können den OpenVPN-Client jedoch auf die gleiche Weise skripten:

openvpn c:\path\to\config-file.ovpn
ROUTE ADD 10.1.0.0 255.255.0.0 172.16.3.0 
nedm
quelle
Der OpenVPN-Client sollte automatisch die entsprechenden Routen hinzufügen, sofern diese korrekt konfiguriert sind.
MDMarra
True für die vom Server zugewiesenen / geposteten Routen, aber möglicherweise möchten Sie zusätzliche Routen definieren.
Nedm
OOO! das ist jetzt interessant :) War ein Tippfehler in der Zeile ROUTE ADD .. aber außerdem funktioniert die .bat nicht, weil sie im privilegierten Modus ausgeführt werden muss :(
Pure.Krome
Ja, für 'Route Add' sind Administratorrechte erforderlich. Sie sollten jedoch in der Lage sein, mit der rechten Maustaste auf das Taskleistensymbol der Eingabeaufforderung zu klicken, "Als anderer Benutzer ausführen" auszuwählen, Administratoranmeldeinformationen einzugeben und die Bat-Datei über die Befehlszeile auszuführen. Ich würde die .bat-Datei in dem Verzeichnis ablegen, in dem die Eingabeaufforderung standardmäßig verbleibt, sodass Sie nach der Anmeldung einfach 'vpnscript.bat' oder was auch immer eingeben können, ohne das Verzeichnis zu wechseln. Alternativ sollte durch Klicken mit gedrückter Umschalttaste auch die Eingabeaufforderung im privilegierten / Administratormodus mit Benutzerkontensteuerung geöffnet werden.
Nedm
Mit dem Powershell-Tipp von @ErikvO können Sie es einrichten und vergessen, indem Sie die VPN-Verbindung normalerweise verwenden, ohne Administratorrechte zu benötigen.
Laurent
18

Wenn Sie über mehrere VPNs verfügen, tritt möglicherweise das Problem auf, dass sich die Schnittstellen-IDs ändern, wenn sie in zufälliger Reihenfolge eine Verbindung herstellen. In diesem Fall ROUTE -P ADD 10.0.0.0 MASK 255.255.0.0 10.0.0.1 IF 42funktioniert das normale nicht. Wenn das VPN das nächste Mal eine Verbindung herstellt, hat es möglicherweise eine andere Schnittstellennummer.

Powershell verfügt über ein Cmdlet, das Routen zur VPN-Verbindung hinzufügt und diese erneut entfernt, wenn das VPN getrennt wird: Add-VpnConnectionRoute . Es funktioniert ohne Angabe der Schnittstellen-ID.

Die grundlegende Syntax lautet wie folgt:

Add-VpnConnectionRoute -ConnectionName "VPN Connection Name" -DestinationPrefix 10.0.0.0/16

Nach Eingabe dieses Befehls werden die Routen beim Verbinden / Trennen des VPN automatisch erstellt / entfernt.

ErikvO
quelle
Sollte die akzeptierte Antwort sein. Übrigens wusste ich vorher nichts über diese "PowerShell" ... Ich verstehe nicht, warum diese Befehle in CMD nicht verfügbar sind. Eine andere Microsoft Albernheit ...
Laurent
+1 für die Poweshell. Es ist mir ein Rätsel, warum MS in den IP-Einstellungen keine weitere Registerkarte hinzufügt - abgesehen von der Tatsache, dass immer noch Ersatzbedienfelder für die (derzeit) moderne / mobile Benutzeroberfläche erstellt werden.
Mayyit
1
Mein Windows 7 hat diesen Befehl nicht!
LatinSuD
3
netsh interface ipv4 add route [destination/prefixlength] "[interface/connection name]"

Ich verwende dies, um Verbindungen mit Subnetzüberschneidungen zu behandeln, indem statische Routen für Hosts auf dem Remote-Subnetz hinzugefügt werden - Server und dergleichen.

Stuart Smith
quelle
Dies ist genau das, was ich brauchte, da ich Windows Server 2008 verwende. Die PoswerShell-Lösung funktionierte nicht.
Michael Coxon
Dies funktionierte perfekt für meinen Windows 7-Client. Vielen Dank.
Vic
Es ist nicht dauerhaft und erfordert, dass das VPN bereits verbunden ist, oder?
LatinSuD
Das ist richtig. Das Problem, das ich hatte, war mit Subnetzüberlappung, so dass dauerhafte Routen Probleme verursachen würden. Sie möchten, dass es erst stattfindet, nachdem die Verbindung hergestellt wurde. Ich habe versucht, Ereignisauslöser über den Taskplaner zu verwenden, habe ihn jedoch nie konsistent zum Laufen gebracht. Es sollte möglich sein, einen Dienst zu erstellen, der SENS abonniert, um dies zu tun (ich denke, die Verbindung und Trennung der Schnittstelle wird unter SENS behandelt), aber das Navigieren im Sicherheitskontext, um einen anderen Prozess mit Administratorrechten zu erzeugen, ist aufgrund der Benutzerkontensteuerung problematisch. Ich stelle mir vor es kann , indem Desktop - Interaktion und UAC Prompts erfolgen, i gerade
Stuart Smith
1

Sie könnten die Route dauerhaft machen (glaube ich mit route -p), damit Sie sie nicht jedes Mal eingeben müssen. Wenn Sie openVPN verwenden, kann der Server eine Route an den Client senden, push "route 192.168.1.0 255.255.255.0"z. Bei anderen VPN-Servern weiß ich es nicht, aber ich denke, sie haben möglicherweise auch eine ähnliche Option.

Laurent
quelle
so kann es nicht gemacht werden, clientseitig .. und auf Anfrage?
Pure.Krome
Ich kenne keine Möglichkeit, dies (mit openVPN) auf der Clientseite zu tun, und es unterscheidet sich nicht permanent von der Antwort von nedm, aber es wird notwendig sein, die bat-Datei mit Administratorrechten auszuführen. Ich denke, eine dauerhafte Route ist keine schlechte Lösung, wenn Sie die openVPN-Serverkonfiguration nicht ändern können.
Laurent