如何将Android设备连接到PPTP VPN

时间:2015-08-11 04:28:49

标签: android vpn pptp

我使用ubuntu's guide 创建了一个PPTP VPN服务器。

现在我有:
enter image description here

我现在的问题是我的Android手机无法连接到我创建的pptp。当我尝试输入用户名和密码然后点击连接时,我唯一的消息是正在连接... ,但之后是不成功

所以我搜索并找到了这个link,以获得有关如何连接到PPTP VPN的一般概述。我也来here,但我仍然无法将手机连接到VPN。我完全按照ubuntu's guide所说的,我现在不知道该怎么做,以实现我的目标。请给我一些链接或指南,以便我的Android手机能够连接到我的PPTP VPN。

服务器的syslog

Aug 26 14:44:50 jameshwart-System-Product-Name pptpd[31320]: CTRL: Client 192.168.1.27 control connection started
Aug 26 14:44:51 jameshwart-System-Product-Name pptpd[31320]: CTRL: Starting call (launching pppd, opening GRE)
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so loaded.
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: pppd 2.4.5 started by root, uid 0
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: Using interface ppp0
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: Connect: ppp0 <--> /dev/pts/24
Aug 26 14:44:51 jameshwart-System-Product-Name NetworkManager[969]:    SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Aug 26 14:44:51 jameshwart-System-Product-Name NetworkManager[969]:    SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/ppp0, iface: ppp0): no ifupdown configuration found.
Aug 26 14:44:51 jameshwart-System-Product-Name NetworkManager[969]: <warn> /sys/devices/virtual/net/ppp0: couldn't determine device driver; ignoring...
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: peer from calling number 192.168.1.27 authorized
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed.
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: Connection terminated.
Aug 26 14:44:51 jameshwart-System-Product-Name NetworkManager[969]:    SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/ppp0, iface: ppp0)
Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: Exit.
Aug 26 14:44:51 jameshwart-System-Product-Name pptpd[31320]: GRE: read(fd=6,buffer=7f2daa2874a0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Aug 26 14:44:51 jameshwart-System-Product-Name pptpd[31320]: CTRL: PTY read or GRE write failed (pty,gre)=(6,7)
Aug 26 14:44:51 jameshwart-System-Product-Name pptpd[31320]: CTRL: Reaping child PPP[31321]
Aug 26 14:44:51 jameshwart-System-Product-Name pptpd[31320]: CTRL: Client 192.168.1.27 control connection finished

客户端的syslog

Sent control packet type is 1 'Start-Control-Connection-Request'
Aug 26 14:45:17 felman-To-be-filled-by-O-E-M pptp[10347]: nm-pptp-service-10324 log[ctrlp_disp:pptp_ctrl.c:739]: Received Start Control Connection Reply
Aug 26 14:45:17 felman-To-be-filled-by-O-E-M pptp[10347]: nm-pptp-service-10324 log[ctrlp_disp:pptp_ctrl.c:773]: Client connection established.
Aug 26 14:45:18 felman-To-be-filled-by-O-E-M pptp[10347]: nm-pptp-service-10324 log[ctrlp_rep:pptp_ctrl.c:251]: Sent control packet type is 7 'Outgoing-Call-Request'
Aug 26 14:45:18 felman-To-be-filled-by-O-E-M pptp[10347]: nm-pptp-service-10324 log[ctrlp_disp:pptp_ctrl.c:858]: Received Outgoing Call Reply.
Aug 26 14:45:18 felman-To-be-filled-by-O-E-M pptp[10347]: nm-pptp-service-10324 log[ctrlp_disp:pptp_ctrl.c:897]: Outgoing call established (call ID 0, peer's call ID 21504).
Aug 26 14:45:18 felman-To-be-filled-by-O-E-M pppd[10328]: CHAP authentication succeeded
Aug 26 14:45:19 felman-To-be-filled-by-O-E-M pppd[10328]: MPPE 128-bit stateless compression e

options.pptp文件

###############################################################################
# $Id: options.pptp,v 1.3 2006/03/26 23:11:05 quozl Exp $
#
# Sample PPTP PPP options file /etc/ppp/options.pptp
# Options used by PPP when a connection is made by a PPTP client.
# This file can be referred to by an /etc/ppp/peers file for the tunnel.
# Changes are effective on the next connection.  See "man pppd".
#
# You are expected to change this file to suit your system.  As
# packaged, it requires PPP 2.4.2 or later from http://ppp.samba.org/
# and the kernel MPPE module available from the CVS repository also on
# http://ppp.samba.org/, which is packaged for DKMS as kernel_ppp_mppe.
###############################################################################

# Lock the port
lock

# Authentication
# We don't need the tunnel server to authenticate itself
noauth

# We won't do PAP, EAP, CHAP, or MSCHAP, but we will accept MSCHAP-V2
# (you may need to remove these refusals if the server is not using MPPE)
refuse-pap
refuse-eap
refuse-chap
refuse-mschap

# Compression
# Turn off compression protocols we know won't be used
nobsdcomp
nodeflate

# Encryption
# (There have been multiple versions of PPP with encryption support,
# choose with of the following sections you will use.  Note that MPPE
# requires the use of MSCHAP-V2 during authentication)

# http://ppp.samba.org/ the PPP project version of PPP by Paul Mackarras
# ppp-2.4.2 or later with MPPE only, kernel module ppp_mppe.o
# {{{
# Require MPPE 128-bit encryption
#require-mppe-128
# }}}

# http://polbox.com/h/hs001/ fork from PPP project by Jan Dubiec
# ppp-2.4.2 or later with MPPE and MPPC, kernel module ppp_mppe_mppc.o
# {{{
# Require MPPE 128-bit encryption
mppe required,stateless
# }}}

4 个答案:

答案 0 :(得分:1)

感谢您,但我通过检查 pptpd-options 文件解决了这个问题并更改了 #require-mschap-v2require-mschap-v2
#require-mppe-128require-mppe-128

我也改变了,删除就像这样

refuse-pap

refuse-chap

refuse-mschap

newpeople更新:

请务必删除noauth选项。在他的情况下,因为它在require-mppe-128require-mschap-v2之前没有效果,但如果您仍然无法实现,请检查noauth并将其删除。

答案 1 :(得分:1)

我知道这是一个老问题,这可能不适用于这种情况,但我发现Android上的vpn连接问题的简单解决方案是确保关闭省电模式。我看着整个互联网想出这个并偶然发现它。希望它可以帮助别人。我使用的是Betternet,这是一个很棒的VPN服务,但它无法连接。我关闭了省电模式并立即连接。

答案 2 :(得分:0)

用这么少的信息猜测有点难。这是基于您的手机正在连接的假设,但您无法分辨它是因为它无法访问互联网或其他网络资源。

但是,您的手机似乎可能已连接到您的pptp VPN,但不是通过它来路由互联网。您可能需要在ubuntu服务器上设置代理,并指示您的手机使用它来访问互联网。

安装微型代理运行:

sudo apt-get install tinyproxy

有关如何设置的教程,请参阅http://www.justinmccandless.com/blog/Set+Up+Tinyproxy+in+Ubuntu

现在,对于手机,有许多应用可以帮助您轻松设置手机以使用刚刚在VPN中设置的代理服务器。我使用的是可以在Google Play中找到的ASProxy。 https://play.google.com/store/apps/details?id=com.Alsu.ASProxy&hl=en

这个解决方案只是一个猜测。如果没有关于你想要达到的目标以及你所做的事情的更多信息,我只是猜测而且可能不合时宜。

答案 3 :(得分:0)

Fisrt,您需要检查哪一方使连接失败,客户端还是服务器?您可以使用另一台PC而不是手机来连接pptpd服务器。如果它也失败了,问题可能在服务器端。您可以在/var/log/syslog中找到日志信息。此外,您可能希望使用debug选项重新启动pptpd服务器以启用详细日志。

从您的日志中,原因如下:

Aug 26 14:44:51 jameshwart-System-Product-Name pppd[31321]: MPPE required, but MS-CHAP[v2] nor EAP-TLS auth are performed.

它说你的内核没有MPPE支持。你有ppp_mppe启用作为模块还是在你的内核中编译?在您的内核的.config文件中,您会看到类似

的内容
CONFIG_PPP_MPPE=m 

CONFIG_PPP_MPPE=y