Author Topic: permanent-vpn-connection-in-windows re-dial auto in vpn connection  (Read 6966 times)

golfreeze

  • Administrator
  • Hero Member
  • *****
  • Posts: 2140
    • View Profile
    • นั่งสมาธิ สติปัฏฐานสี่ พาเที่ยววัด แนะนำวัด แจกcd ธรรมะฟรี
    • Email
permanent-vpn-connection-in-windows re-dial auto in vpn connection
« on: ธันวาคม 28, 2017, 08:28:57 PM »
http://blog.degree.no/2011/10/permanent-vpn-connection-in-windows/


Windows does not really offer any good ways of setting up a permanent VPN connection that is stable.
People are literally loosing their minds over it.

We came up with a pretty nice solution to this problem by combining

Windows Powershell
Windows VPN Client
Windows Task scheduler
At the server side
Make sure your VPN Server is set up and working. This will not be covered here.
At the client side
 Set up a new VPN Connection. Just follow the usual “Connecto to a workplace” wizard. Make sure that the VPN connection works.
After creating the connection – set these Redial properties. The redial functionality works as it should most of the time, but it’s not 100% trustable.

Also – Uncheck “Use default gateway on remote network” – in order to prevent all network/internet trafic to go through the VPN (unless this is what you want).
Since the Redial functionality of the VPN Connection isn’t trustable – it’s best to deal with this yourself. It’s hammer powershell time. Create c:pn.ps1and add the following:
$ip = "10.20.30.40"
$result = gwmi -query "SELECT * FROM Win32_PingStatus WHERE Address = '$ip'"
if ($result.StatusCode -eq 0) {
    Write-Host "$ip is up."
}
else{
    Write-Host "$ip is down."
    Write-Host "Disconnecting..."
    rasdial.exe DegreeVPN /DISCONNECT
    Write-Host "Connecting..."
    rasdial.exe DegreeVPN vpnUsername vpnPassword12345
}
The script pings an IP that should be available through the VPN. If the ping is unsucecssfull – the connection is reestablished. You can also set up routes here (and get notifications by email every time the VPN was disconnected) if you add a few more lines to the script.

Start up a powershell and type “Set-ExecutionPolicy Unrestricted” order to allow the script to be executed.
Schedule this script to execute at startup (no user/login necessary) and also every 5 minutes.


Bingo! You now have a robust and permanent VPN Connection in windows. This works with PPTP, L2TP, SSTP and IKEv2, and have been tested on Windows 7 and Windows 2008 R2.
Tags: Ikev2, L2TP, powershell, PPTP, SSTP, VPN, Windows 2008, Windows 7