Debian/Ubuntu pptpd 配置VPN

VPN为穿墙利器,今天刚刚配置了一台VPS作为Web服务器,一时激动开始尝试配置VPN。

由于我还有一台实验室的PC,安装的是Debian/GNU,而VPS我只是代为管理,所以还是先用自己的电脑开刀……(=。=)

结果很让我抓狂,折腾了几个小时,Google了N次,错误依旧:619

很不甘心,拿起VPS,又开始折腾,配置很熟练,结果错误800……再修改,重启,成功连接!

才发现不能上网,再配置DNS,配置防火墙NAT规则,成功上网,速度不错!

现在这已经凌晨三点了,我简单介绍一个整个步骤,虽然网上相关文章很多,但很多细节都没怎么讲解,可能会产生错误。且有些问题的解决方案特别老,可能已经不再适合于现在的内核和软件模块。

配置教程参考于互联网。。。就不贴地址了,看了好多

1.登录你的VPS(这里是以Debian/Ubuntu为讲解对象)

2.安装pptpd: apt-get install pptpd(以下命令都以root方式给出,建议使用其他用户以sudo操作)

3.安装结束,配置pptpd。vim /etc/pptpd.conf(编辑器采用vim,可以替换成你常用编辑器)

按照以下内容取消文件中的注释符(#)=>部分是默认开启的就不用取消了

option /etc/ppp/pptpd-options【必选】
debug 【可选,建议开启,可以记录到系统日志syslog内】
logwtmp【可选,出现问题可以尝试关闭,我选择关闭】
localip 192.168.0.1【本机的地址】【建议替换成其他IP,因为部分的路由等设备默认网关是这个,例如10.1.3.1】
remoteip 192.168.0.234-238,192.168.0.245【分配的客户端IP】【是一个网段,数量要被2整除】

4.再配置登录的虚拟用户和密码:vim /etc/ppp/chap-secrets

增加一行:username pptpd password *

注释:username为你想要的帐号名,pptpd涉及到下一个配置文件里的参数name一定要统一,password就是密码了,最后的*代表了全部的客户端,你也可以限制为一个Ip或者部分Ip

一些经验和建议:可以增加多行记录,但不要有空行。可以给帐号密码加上引号避免出现问题

5.继续配置 vim /etc/ppp/pptpd-options
name pptpd【与帐号文件中的服务名相同】
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
proxyarp
nodefaultroute
lock
nobsdcomp
ms-dns 8.8.8.8【这个是google public dns,也可以改成其他的dns服务器】
ms-dns 8.8.4.4【同上】

6.重启pptpd,/etc/init.d/pptpd restart 生效配置
7.设置转发 【与NAT有关】
vim /etc/sysctl.conf 中的
net.ipv4.ip_forward = 1去除注释
sysctl -p 立即生效
补充一步:echo 1 > /proc/sys/net/ipv4/ip_forward 听说是用于老内核,但产生问题的话建议执行一次

8配置iptables,把这个命令写入/etc/rc.local
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE
(没有安装iptables请apt-get)

9 reboot系统

补充一下如果产生各种怪异的连接失败错误,比如619,800,629请不要着急,打开ppp和pptpd的debug让他们记录到系统日志中,再看看是什么原因!日志在/var/log/syslog和messages中,再多多测试

大功告成
windows下创建vpn的方法略,我是Windows 7,非常方便就能创建,连接正常后,测试一下自己的IP即可

至于我的Debian下失败的原因我打算下次继续……

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注

15 − = 11