Table of Contents

PPTP VPN配置说明

之前只配置过OpenVPN,并没有配置过PPTP VPN,无奈Android上用OpenVPN不太方便,在Android上最好还是使用PPTP,尽管PPTP很有可能被各电信运营商给和谐了。但我自己一般用VPN也是用wifi连的,所以用PPTP也没问题。

安装pptpd

先要安装PPTP服务器端软件

#安装
emerge pptpd
#启动
/etc/init.d/pptpd restart

很遗憾的是我在Gentoo上无法正常启动。只好手动启动

pptpd -c /etc/pptpd.conf

查看pptpd端口

可以用下面两个命令来查看PPTPD的运行情况

sudo netstat -nutap |grep pptp
ps aux|grep pptp

前一个是查看端口,后一个是查看pptpd是否在运行。

配置文件

pptpd主要涉及到三个配置文件,/etc/pptpd.conf,/etc/ppp/options.pptpd,/etc/ppp/chap-secrets

/etc/pptpd.conf

pptpd的主要配置文件是/etc/pptpd.conf

查看一下我当前的配置文件:

cat pptpd.conf |grep -v -E "^#|^$"

option /etc/ppp/options.pptpd
debug #打开debug,查看log
noipparam
logwtmp
connections 100
localip 192.168.0.1 #当客户端连上后,服务器本地分配的地址。
remoteip 192.168.0.234-238,192.168.0.245 #分配给客户端的地址

options.pptpd

第二个配置文件是 /etc/ppp/options.pptpd(注意这个目录下还有另外一个文件options.pptp)

查看我当前的配置文件 :

gentoo-pjq etc # cat ppp/options.pptpd |grep -v -E "^#|^$"

name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns  8.8.8.8 #配置DNS
proxyarp
debug #打开debug模式
dump
lock
nobsdcomp 
novj
novjccomp
nologfd
logfile /var/log/pptpd.log #log文件
由于使用了MPPE,需要手动加载mppe模块

modprobe ppp_mppe

查看下我当前加载的模块

gentoo-pjq etc # lsmod

Module                  Size  Used by
sha1_generic            1391  8 
ppp_mppe                4293  4 
ppp_async               4788  2 
crc_ccitt                983  1 ppp_async
ppp_generic            12338  10 ppp_mppe,ppp_async
slhc                    3327  1 ppp_generic
vboxdrv               121005  1 
nvidia               9817022  28

chap-secrets

第三个配置文件/etc/ppp/chap-secrets

在这个文件里添加用户名,密码

gentoo-pjq etc # cat ppp/chap-secrets 
  
999 * 999 *
# added by pptpsetup for mypptp
999 mypptp "999" *

其中999 * 999 *是pptp服务器的配置,依次是

用户名     对应options.pptpd里的name(可以*号代替)  密码  IP地址(可以*号代替)

而999 mypptp “999” *是客户端的配置,这里由于我是用的同一台电脑,所以出现在同一个文件中.

客户端用pptpsetup生成配置文件

最简单的生成命令是

pptpsetup -create mypptp -server 192.168.0.156 -username 999 -password 999 -encrypt

如果提示没有目录的话,需要手动创建peers目录

mkdir /etc/ppp/peers

使用这条pptpsetup命令会在peers下生成mypptp文件

gentoo-pjq etc # cat ppp/peers/mypptp 

 
# written by pptpsetup
pty "pptp 192.168.0.156 --nolaunchpppd"
lock
noauth
nobsdcomp
nodeflate
name 999
remotename mypptp
ipparam mypptp
require-mppe-128
同时在chap-secrets中添加一条配置信息,也就是上面说的:

# added by pptpsetup for mypptp
999 mypptp "999" *

之后如果需要启动mypptp,可以用如下命令

pon mypptp
#关闭命令
poff mypptp

查看LOG

前面我已经把debug模式打开了,并指定的log文件,所以可以用tail命令来查看log

tail -f /var/log/pptpd.log

除此之外,还可以查看系统messages:

tail -f /var/log/messages

以上这两种方法都可以查看到pptpd的log.

修改端口

pptp的默认端口是1723,很有可能被封了。

Google了一下如何修改端口,没有找到很有效的信息: http://www.unxmail.com/read.php?36

http://blog.csdn.net/puheavy123/archive/2009/04/22/4100823.aspx

试了这两个方法,好像都没用,先记下再说:

1.先修改服务器的端口

vim /etc/service

找1723,如果没有的话,手动添加

pptp            1195/tcp
pptp            1195/udp

改成想要的端口。

2.修改Windows上的端口

以管理员身份运行 regedit ,然后查找 如下字段  TcpPortNumber  ,查找到了以后,用10进制编辑 该项的值,修改成核服务器端一样的端口号即可.  注册表的项值在  项[HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Class\{4D36E972-E325-11CE- BFC1-08002bE10318}]  下面

很遗憾照着这个修改,好像没起到什么作用。