win7 远程 vpn 网络访问
以前闲聊中大嘴吧说可以实现 vpn 访问,结果最近 ERP 上线同事就想能否在家里进行办公。 花了半天时间使用 softethervpn 根据以往的经验很快就建立完毕。可是想在 win7 下面公司的网络使用 vpn 接口访问,家里的网络依然使用家里的网络访问,却从早上 8 点折腾到下午 15 点。哈,记得当年有一次也想帮人家解决这个事情的,结果当然是没成功了。。。 对于普通用户来说,你最好提供最简单的方案,不然人家折腾半天就想扔鼠标了。1,双网卡路由不想折腾太麻烦,直接去除 VPN 虚拟网卡 网关 右击虚拟网卡 /属性 /网络 /Internet 协议版本 4(TCP/IPv4)/属性 /高级 /在远程网络上使用默认网关(去除) 2,然后就一直郁闷在通过 nslookup
www.qq.com ,dns 服务器一直是远程 vpn 网关。公司使用的联通网关,家里使用的电信网络,虽然最终流量下载依然是电信的线路,但是查询
ip138.com 时明显感觉页面打开不顺畅。 虽然网上也有提供改变网卡优先级的方法 通过 win7 网络和共享中心 /更改适配器设置 / 在网络连接界面按 alt 键 /高级 /高级设置 /适配器绑定 这种方法至少在使用 win7 自带的 l2tp 客户端时是没有任何效果的。 老外的链接提供了一种注册表方法,windows 系统似乎总是有最后一块网络生效优先级高的错觉。
https://rdpfiles.com/2011/08/25/windows-vpn-client-and-local-dns-resolution/@
echo off FOR /F "tokens=1,2,*" %%A in ('reg query "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ ^|find "REG_MULTI_SZ"') do set value=%%C\0\Device\{515685E7-64C1-4247-8382-004BC5D54B3C} reg ADD "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ /f /d %value% >nul 2>&1 似乎在这个页面提到了 netsh 命令,可惜没效果 Unfortunately, Windows VPN is not able to do "Split-DNS". You can however remove the DNS Server from the VPN connection after you have connected to the remote site. You can do this by issuing: netsh interface ipv4 delete dnsservers name="name of the VPN" address=all validate=no You HAVE to do this every time you connect to the VPN Network. 最终的批处理
@
echo off
::在注册表特定位置查询出虚拟网卡 GUID,预先写入注册表,避免 windows 更改 DNS 查询顺序
FOR /F "tokens=1,2,*" %%A in ('reg query "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ ^|find "REG_MULTI_SZ"') do set value=%%C\0\Device\{515685E7-64C1-4247-8382-004BC5D54B3C} reg ADD "HKLM\System\CurrentControlSet\Services\Tcpip\Linkage" /v Bind /t REG_MULTI_SZ /f /d %value% >nul 2>&1
::使用 windows 的客户端进行 vpn 拔号 rasdial "VPN 名称" VPN 用户名 VPN 密码
::查询出当前电脑的 vpn ip 192.168.30.x,特定的 ip 通过 vpn 接口进行访问
ipconfig |find /i "192.168.30.">check.txt for /f "tokens=2 delims=:" %%i in (check.txt) do echo %%i>check.txt for /f "tokens=1 delims= " %%I in (check.txt) do set myip=%%I echo 你的当前 VPN IP 地址为%myip% echo y|del check.txt route add 192.168.1.11 mask 255.255.255.255 %myip% route add 192.168.1.12 mask 255.255.255.255 %myip%
这排版将就看吧。。。