Scenario
SO Windows 7
I need to connect to remote host via cisco VPN. Sometimes the host destination network is the same of local network. Example (Partial output of ipconfig command):
Ethernet adapter Cisco Vpn Adapter: IPv4 Address. . . . . . . . . . . : 192.168.100.12 Subnet Mask . . . . . . . . . . . : 255.255.255.0 Wireless LAN adapter Wireless Network Connection: IPv4 Address. . . . . . . . . . . : 192.168.1.74 Subnet Mask . . . . . . . . . . . : 255.255.255.0
I need to connect to host 192.168.1.11 on the remote network via Vpn Then I need to add new route (in this configuration all traffic to 192.168.1.xxx are route to local network) The output of route print begining by:
Interface List 17...00 05 9a 3c 78 00 ......Cisco Systems VPN Adapter 12...00 16 44 ea 74 58 ......Dell Wireless 1395 WLAN Mini-Card
And the command is:route add 192.168.1.11 mask 255.255.255.255 192.168.100.12 metric 1 if 17
Problem:
The Ip on Cisco adapter is not static, i can't route add with modifier -p (permanent) When disconected and reconnect I need look for the NewIp and add the correct route:route add 192.168.1.11 mask 255.255.255.255 «NewIP» metric 1 if 17
For me its easy (but boring) write all this commmands every time:
ipconfig etc route print etc route add etc
I need a bat or PowerShell script to add the correct route. The scrip look for the IP on the Cisco adapter and run the command route add with IP gateway founded.
Thanks
I tried renegm's answer, and the Index property gives the wrong value for me. This worked for me though (Juniper VPN here, but the same problem) - note InterfaceIndex instead of Index:
$adapter=Get-WmiObject Win32_NetworkAdapterConfiguration|
Where-Object { $_.Description -match "Juniper Network Connect Virtual Adapter"}
$Gateway=$adapter.IPaddress[0]
$if=$adapter.InterfaceIndex
route add 192.168.1.3 mask 255.255.255.255 $Gateway metric 1 if $if
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With