尝试连接 Windows VPN 客户端时,客户端在“正在验证用户名和密码...”消息处挂起约 10 秒钟,然后我收到以下错误消息:
错误 619:无法建立与远程计算机的连接,因此用于此连接的端口已关闭。
我可以使用 Windows 7 Professional 64 位成功连接,但无法使用 Windows 7 Home Premium 64 位。两台机器都不在我尝试通过 VPN 接入的网络上,并且位于同一网络上。两台机器上的 Windows 防火墙均已禁用。两台机器上均未安装防病毒软件,Windows 安装全新。
我正在使用具有以下设置的 Windows VPN 客户端:
- 选项选项卡:取消选中“包括 Windows 登录域”
- 安全选项卡:“VPN 类型”设置为 PPTP,“数据加密”设置为可选,已选中 CHAP 和 MS-CHAP v2
- 网络选项卡:IPv6 已禁用,使用远程网关已禁用
- 网络 IP(DHCP)/子网:192.168.10.x 255.255.255.252
服务器:
- 在 Raspbian Wheezy OS 上运行的 pptpd linux 包
- 网络 IP(静态)/子网:192.168.1.x 255.255.255.0
pptpd.conf:
日志记录
本地IP 192.168.1.161
远程IP 192.168.1.234-238,192.168.1.245
该路由器是 Linksys WRT160N v3,运行 DD WRT 固件,启用 GRE 47,并将端口 1723 正确转发到服务器。
可能存在什么问题?我该如何解决?
编辑(新发现):启用 DMZ 时,Windows Home 计算机可以连接到 VPN,禁用时则不能。但是,Windows Professional 计算机在两种情况下都可以连接。更令人沮丧的是,即使我将所有端口(1-65535)转发到服务器,Home 计算机也无法连接。DMZ 必须做一些 Home Edition 无法缺少的事情。
答案1
我终于找到了圣杯:
http://www.jcsilva.com/2011/01/09/issues-with-dd-wrt-gre-forwarding-pptp/
此页内容如下:
DD-WRT GRE 转发 PPTP 的问题
解决 DD-WRT 不转发 GRE PPTP 数据包的快速方法。
将以下命令添加到启动命令(管理->命令):
/sbin/insmod xt_connmark
/sbin/insmod xt_mark
/sbin/insmod nf_conntrack_proto_gre
/sbin/insmod nf_conntrack_pptp
/sbin/insmod nf_nat_proto_gre
/sbin/insmod nf_nat_pptp
顺便说一句,我不确定为什么专业机器能够正确连接,而且现在我不再关心,因为我有一个不启用 DMZ 的真正解决方案。
答案2
检查 pptpd 选项
在/etc/ppp/pptpd-options
,检查以下选项
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
lock
nobsdcomp
#ms-dns <dns server ip>
在 Raspbian 上打开调试
在 中/etc/pptpd.conf
,添加或取消注释
debug
在 中/etc/ppp/options
,添加或取消注释
debug
重新开始pptpd
。
用 Win 7 Pro 连接 VPN,然后断开连接。然后用 Win 7 Home 连接 VPN,等待错误。比较/var/log/syslog
两个连接的条目。
答案3
家庭高级版缺少许多与网络相关的功能,而专业版和旗舰版则提供这些功能。加入域、VPN、RDP 和一些安全协议支持等功能在家庭高级版中均不具备。这可能是您可以使用专业版连接而无法使用家庭高级版连接的原因。
从此链接开始,您就会明白我的意思。快速搜索将显示与专业版相比,家庭高级版缺少的功能列表
http://windows.microsoft.com/en-US/Windows7/products/compare?T1=tab15
答案4
对我来说,解决方案是转到 regedit HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\RasMan\Parameters\ 并删除 ProhibitIpSec 参数,然后重新启动 PC(更改仅在重新启动后应用!),然后尝试再次连接到 VPN。