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