====== 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}] 下面
很遗憾照着这个修改,好像没起到什么作用。