mac使用pptp的正确方式
环境:macos mojave 10.14.6
尝试的解决方案:
mac自带vpn 结论:已经不支持pptp协议
使用shimo 结论:无用,连接的时候没反应
为了解决不能连接的问题,某老外写的pptp连接工具 结论:无用,报错信息和下一步脚本执行结果一样
实用pppd,步骤如下:
1)进入 /etc/ppp/peers/ 目录,创建 test.vpn,此文件名自己取;
2)写入以下内容,根据需要修改;
plugin PPTP.ppp
noauth
remoteaddress "------VPN server name or IP address------"
user "------VPN username------"
password "------VPN password------"
redialcount 1
redialtimer 5
idle 1800
# mru 1368
# mtu 1368
receive-all
novj 0:0
ipcp-accept-local
ipcp-accept-remote
refuse-eap
refuse-pap
refuse-chap-md5
hide-password
mppe-stateless
mppe-128
# require-mppe-128
looplocal
nodetach
ms-dns 8.8.8.8
usepeerdns
# ipparam gwvpn
defaultroute
debug
3)运行sudo pppd call test.vpn
结论:出错,结果如下:
Sat Feb 29 11:24:47 2020 : publish_entry SCDSet() failed: Success!
Sat Feb 29 11:24:47 2020 : publish_entry SCDSet() failed: Success!
Sat Feb 29 11:24:47 2020 : PPTP connecting to server 'xxx.xxx.xxx.xxx' (xxx.xxx.xxx.xxx)...
Sat Feb 29 11:24:48 2020 : PPTP connection established.
Sat Feb 29 11:24:48 2020 : PPTP set port-mapping for en0, interface: 9, protocol: 0, privatePort: 0
Sat Feb 29 11:24:48 2020 : using link 0
Sat Feb 29 11:24:48 2020 : Using interface ppp0
Sat Feb 29 11:24:48 2020 : Connect: ppp0 <--> socket[34:17]
Sat Feb 29 11:24:48 2020 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x60725c7f> ]
Sat Feb 29 11:24:51 2020 : rcvd [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x90775e6> ]
Sat Feb 29 11:24:51 2020 : lcp_reqci: returning CONFACK.
Sat Feb 29 11:24:51 2020 : sent [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x90775e6> ]
Sat Feb 29 11:24:51 2020 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0x60725c7f> ]
Sat Feb 29 11:24:51 2020 : rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x60725c7f> ]
Sat Feb 29 11:24:51 2020 : rcvd [CHAP Challenge id=0xf9 <4a44a223bded3c174d9524e514b7b186>, name = "pptpd"]
Sat Feb 29 11:24:51 2020 : sent [CHAP Response id=0xf9 <7fa23ba608c73e19030ab3ac356541de00000000000044442b41d5fa9f4034e4ba1cf873502c4e3e4ca4d86752c1994800>, name = "xx"]
Sat Feb 29 11:24:51 2020 : rcvd [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0x241bc6d7> ]
Sat Feb 29 11:24:51 2020 : sent [LCP ConfReq id=0x2 <asyncmap 0x0> <magic 0x330e8a78> ]
Sat Feb 29 11:24:51 2020 : lcp_reqci: returning CONFACK.
Sat Feb 29 11:24:51 2020 : sent [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 0x241bc6d7> ]
Sat Feb 29 11:24:51 2020 : rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0x60725c7f> ]
Sat Feb 29 11:24:51 2020 : rcvd [LCP ConfAck id=0x2 <asyncmap 0x0> <magic 0x330e8a78> ]
Sat Feb 29 11:24:51 2020 : rcvd [CHAP Challenge id=0xf1 <7152e60444448f03c00d77bc4f4f85e7>, name = "pptpd"]
Sat Feb 29 11:24:51 2020 : sent [CHAP Response id=0xf1 <67c6ba6d36b2fcf0f07d2b24d38a13db000000000000000099b744446dee24113587aab45c859bc033099f424d94e50400>, name = "xx"]
Sat Feb 29 11:24:51 2020 : rcvd [CHAP Success id=0xf1 "S=21E481AFF77DB980039418F738D7749C6A4C590A M=Access granted"]
Sat Feb 29 11:24:51 2020 : sent [CCP ConfReq id=0x1 <mppe +H -M +S -L -D -C>]
Sat Feb 29 11:24:51 2020 : rcvd [CCP ConfReq id=0x1 <deflate 15> <deflate(old#) 15>]
Sat Feb 29 11:24:51 2020 : MPPE required but peer negotiation failed
Sat Feb 29 11:24:51 2020 : sent [LCP TermReq id=0x3 "MPPE required but peer negotiation failed"]
Sat Feb 29 11:24:51 2020 : Connection terminated.
Sat Feb 29 11:24:51 2020 : sent [CCP ConfRej id=0x1 <deflate 15> <deflate(old#) 15>]
Sat Feb 29 11:24:51 2020 : PPTP disconnecting...
Sat Feb 29 11:24:51 2020 : PPTP clearing port-mapping for en0
Sat Feb 29 11:24:51 2020 : PPTP disconnected可以发现,报错信息在这里:
MPPE required but peer negotiation failed
多方搜索无果,只能靠自己了......
再次打开 test.vpn 配置文件,我发现了其中关于 mmpe 的部分:
mppe-stateless
mppe-128
# require-mppe-128
发现问题所在了吗?我搜索到的所有教我配置pppd配置文件中的内容都是这样,但是报错却提示“MPPE required but peer negotiation failed”,因此,我尝试将另外两行和mmpe相关的配置行注释掉,结果如下:
# mppe-stateless
# mppe-128
# require-mppe-128
再次执行 sudo pppd call test.vpn,错误解决,运行成功!!
如图,运行成功后,最下面两行是这样:

mac使用pptp的正确方式的更多相关文章
- 解决Mac外接显示器分辨率不正确问题
解决Mac外接显示器分辨率不正确问题 TAT: 今天被坑惨了,重新安装了Mavericks后,使用thunderbolt转VGA外接显示器时遇到了分辨率的问题:外接显示器支持1080P的分辨率,但在O ...
- jquery中取消和绑定hover事件的正确方式
在网页设计中,我们经常使用jquery去响应鼠标的hover事件,和mouseover和mouseout事件有相同的效果,但是这其中其中如何使用bind去绑定hover方法呢?如何用unbind取消绑 ...
- 在package.json里面的script设置环境变量,区分开发及生产环境。注意mac与windows的设置方式不一样
在package.json里面的script设置环境变量,区分开发及生产环境. 注意mac与windows的设置方式不一样. "scripts": { "publish- ...
- 在iOS微信浏览器中自动播放HTML5 audio(音乐)的2种正确方式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目)
eclipse 导入包含子maven项目的maven项目时的正确方式(父子项目) NO1 导入时依次选择 import > Maven > Existing Maven Projects ...
- Springboot 打jar包分离lib,配置文件正确方式(二)
Springboot 打jar包分离lib,配置文件正确方式(二) 背景 从<Springboot 打jar包分离lib,配置文件正确方式>中,可以达到把配置文件和依赖第三方的jar包分离 ...
- 在EntityFramework6中管理DbContext的正确方式——2DbContext的默认行为(外文翻译)
(译者注:使用EF开发应用程序的一个难点就在于对其DbContext的生命周期管理,你的管理策略是否能很好的支持上层服务 使用独立事务,使用嵌套事务,并行执行,异步执行等需求? Mehdi El Gu ...
- .NET Core中使用RabbitMQ正确方式
.NET Core中使用RabbitMQ正确方式 首先甩官网:http://www.rabbitmq.com/ 然后是.NET Client链接:http://www.rabbitmq.com/dot ...
- [翻译]小提示:使用figure和figcaption元素的正确方式
figure和figcaption是一对经常被一起使用的语义化标签.如果你还没有看过规范中的定义,现在有机会在你的项目中使用它们了.如果你不知道怎么用,下面是关于如何正确使用它们的一些提示. figu ...
- 2019-11-25-加强版在国内分发-UWP-应用正确方式-通过win32安装UWP应用
原文:2019-11-25-加强版在国内分发-UWP-应用正确方式-通过win32安装UWP应用 title author date CreateTime categories 加强版在国内分发 UW ...
随机推荐
- msfconsole攻击指令
Post后渗透模块 sysinfo #查看目标主机系统信息 run scraper #查看目标主机详细信息 run hashdump #导出密码的哈希 load kiwi #加载 ps #查看目标主机 ...
- MOS管的寄生电容
我们经常看到,在电源电路中,功率MOS管的G极经常会串联一个小电阻,几欧姆到几十欧姆不等,那么这个电阻用什么作用呢? 这个电阻的作用有2个作用:限制G极电流,抑制振荡. 限制G极电流MOS管是由电压驱 ...
- PIP 换源:提升 Python 包安装速度的秘诀
一.引言 在使用 Python 进行开发时,我们经常需要通过 pip 命令安装各种库和依赖.然而,默认的源可能会因为网络原因导致下载速度缓慢,影响开发效率.这时候,换源就成为了一个非常实用的技巧. 二 ...
- hbase - [03] 客户端常用命令(hbase shell)
1.列出所有namespace list_namespace 2.创建namespace create_namespace 'ns_name' 3.修改namespace属性 alter_namesp ...
- Ansible - [11] Roles
前言 Q1:什么是Roles 在实际生产环境中,会编写大量的playbook文件来实现不同的功能.而且,每个playbook还可能会调用其他文件(变量文件),对于海量的.无规律的文件,管理是个问题.A ...
- Hadoop - [01] 概述
Hadoop官网:https://hadoop.apache.org/ Hadoop下载:https://archive.apache.org/dist/hadoop/common/ 一.Hadoop ...
- 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
目录 什么是 Selenium 环境搭建与配置 安装 Selenium 下载浏览器驱动 基础操作 启动浏览器并访问网页 定位网页元素 通过 ID 定位 通过 CSS 选择器定位 通过 XPath 定位 ...
- [tldr] 配置windows terminal使用git bash
windows terminal默认使用power shell作为shell,但是power shell不好用,还是习惯linux的命令行行为. 参考Windows Terminal 配置 Git B ...
- 使用C#创建一个MCP客户端
前言 网上使用Python创建一个MCP客户端的教程已经有很多了,而使用C#创建一个MCP客户端的教程还很少. 为什么要创建一个MCP客户端呢? 创建了一个MCP客户端之后,你就可以使用别人写好的一些 ...
- Golang 入门 : 变量声明
变量声明 在Go中,变量是包含值的一块存储.可以使用变量声明为变量命名.只需使用var关键字,后跟所需的名称以及变量将保存的值的类型. 一旦你声明了一个变量,就可以用=为它分配该类型的任何值: qua ...