开始以为是VPS上服务配置的问题,但是移动设备是连接OK的,所以问题就推到win7系统配置的问题了,因为之前做过优化,所以考虑应该是服务的问题。L2TP属于加密的VPN的一种协议。最初win7是连上之后不能访问“非死不可”,国内的可以访问,后来查了下改了下注册表

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\RasMan\Parameters]
"ProhibitIpSec"=dword:00000000

就直接809报错了。
又继续查找,要添加一个注册表的项:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent]
"AssumeUDPEncapsulationContextOnSendRule"=dword:00000002

依然不行。

奇怪了啊,后来在http://www.enet.com.cn/article/2010/0928/A20100928741487.shtml发现有三个服务需要启动(“Remote Access Auto Connection Manager”、“Remote Access Connection Manager”和“Secure Socket Tunneling Protocol Service”),一检查,其中我的“Remote Access Auto Connection Manager”服务是手动的,并未启动,改成自动启动后再连接L2TP/IPSec的VPN,发现一切正常了,访问外网也OK了。

至此,问题解决。

总结了一下:除了要修改上面两个注册表外(因为我设置了ipsec的密钥,没有密钥用L2TP就失去意义了),剩下的就是把三个服务都要自动启动好就可以正常使用了。

via。https://shipengliang.com/software-exp/win7-l2tpipsec-%E8%AE%BF%E9%97%AE%E7%BD%91%E7%AB%99%E8%BF%9E%E6%8E%A5%E8%A2%AB%E9%87%8D%E7%BD%AE%E7%9A%84%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95.html