从 Mac 强制 MS-CHAPv2 VPN 连接

mmo*_*nod 4 networking windows mac vpn macos

如果您尝试从 Mac 连接到 Windows Server 的 VPN (PPTP),并且仅接受 MS-CHAPv2,则客户端将失败并显示以下错误:

18/6/13 9:06:08.672 AM pppd[10247]: MS-CHAP authentication failed: E=691 Authentication failure

提出的解决方案(邮政从Macworld大会发表从苹果论坛)是禁用Digitally sign communications (always)和启用它只是if client agrees(未测试,因为我们不能改变服务器上的设置)。

通常,您不想或无法更改服务器上的任何设置,因此在客户端寻找解决方案。

有没有人找到一个命令行来强制使用 MS-CHAPv2,或者换句话说,阻止使用任何其他身份验证方法?

小智 6

MacOSX 已pppd嵌入,您可以通过终端连接。要通过 pppd 连接并仅通过 vpn 路由一个子集网络,我使用以下命令行(多行以提高可读性):

sudo pppd 
   remoteaddress *vpn_server_address* 
   pty "*vpn_server_address* --nolaunchpppd" 
   lock 
   user *DOMAIN\\username* 
   password *password* 
   nomppe 
   require-mschap-v2 
   noauth 
   nobsdcomp 
   nodeflate 
   nodetach 
   plugin pptp.ppp 
   noipdefault 
   refuse-pap 
   refuse-eap 
   refuse-chap 
   refuse-mschap 
   plugin /System/Library/SystemConfiguration/PPPController.bundle/Contents/PlugIns/PPPDialogs.ppp  
   logfile /path/to/your/log.log
Run Code Online (Sandbox Code Playgroud)

然后,我在另一个终端中声明所需的路线,例如

sudo route add -net *distant_local_network* *gateway_ip* *mask*
Run Code Online (Sandbox Code Playgroud)

例如

sudo route add -net 192.192.0.0 192.192.0.1 255.255.255.0
Run Code Online (Sandbox Code Playgroud)

然后所有到远程网络的流量都使用 VPN,其余的互联网仍然可以访问。