操作系统:Centos6.3
pptp版本:1.3.4
一. 检查服务器是不是支持PPP. 一般的vps很可能不支持,所以要验证下.
cat /dev/ppp
如果打印: cat: /dev/ppp: No such device or address 说明没问题
验证内核是否加载模块MPPE
modprobe ppp-compress-18 && echo MPPE is ok 如果输出 MPPE is ok 则验证通过
二. 开始安装
1. 先yum 安装 PPP 和 iptables .....iptables 有转发数据的作用,可以通过服务器访问外网...
yum -y install ppp iptables
2. rpm安装 pptp
准备 pptp 安装包(tpm),注意区分32位和64位,使用 rz 命令把安装包传到服务器目录下
官方下载地址: http://poptop.sourceforge.net
最近国外网站打不开,我是在 51cto 上下载的,网上的链接基本都是 404 ...如有需要留言
注意:如果是Centos的64位系统,就需要安装的是 pptpd-1.3.4-2.el6.x86_64.rpm ,而不是 pptpd-1.3.4-2.rhel5.x86_64.rpm ,否则会报错...
error: Failed dependencies:
ppp = 2.4.4 is needed by pptpd-1.3.4-2.rhel5.x86_64
rpm -ivh pptpd-1.3.4-2.el6.x86_64.rpm 安装pptp
警告:warning: pptpd-1.3.4-2.rhel5.x86_64.rpm: Header V3 DSA/SHA1 Signature, key ID 862acc42: NOKEY
TODO:上面的警告是因为 /etc/pki/rpm-gpg/ 下没有合适的钥匙去验证签名,我搜索网上的方法,未果.....
解决方法:
cd /etc/pki/rpm-gpg
wget http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
3. 有一种快速并简单的安装pptp的方法
#wget http://www.hi-vps.com/shell/vpn_centos6.sh
#chmod a+x vpn_centos6.sh
#bash vpn_centos6.sh
运行结果: 1. install VPN service
2. repaire VPN service
3. add VPN user
如果是第一次安装,输入 1 接着回车,会生成一个默认用户 vpn 和一个随机密码,如果再添加账号 输入 3 ,回车后会提示输入用户名跟密码....修复的话输入 2.回车即可...
三. 配置vpn
1. #vi /etc/pptp.conf
打开 localip 和 remoteip 的注释
2. #vi /etc/ppp/options.pptpd
打开 ms-dns 的注释 修改成 8.8.8.8 和 8.8.4.4
3. 设置需要的vpn账号和密码
#vi /etc/ppp/chap-secrets
账号 pptpd 密码 * [用 add VPN user 命令时其实也是在这个配置文件中生成用户和密码]
4. #vi /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1 同时在“net.ipv4.tcp_syncookies = 1”前面加#
wq 保存退出,执行 sysctl -p 生效
5. 添加 iptables 转发规则
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.36.1/24 -j MASQUERADE
注意上面的ip地址要跟 pptp.conf 中的localip 保持一致,还要注意网卡eth0,如果网卡不是eth0,就改成网卡名...查看网卡根据不同操作系统版本有很多方法
保存转发规则:/etc/init.d/iptables save
重启 iptables:/etc/init
.d
/iptables
restart
如果提示“Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.”错误信息,则执行一下命令:
service pptpd restart-
kill
service pptpd start
6. 重启 pptp # /etc/init.d/pptpd restart
7. 设置开机自启
chkconfig pptpd on
chkconfig iptables on
四,在windows端链接 vpn
错误代码 734: 是因为无法进行 MPPE 验证
解决方法:在options.pptpd 配置文件中找到 require-mppe-128,在前面加上 #,
在vpn属性安全选项中 数据加密 选择可选加密,允许使用这些协议加密 Microsoft CHAP Version 2
重启 pptp,成功链接,但是无法访问网络
解决方法:vpn属性,网络选项卡,双击 TCP/IPv4 ,高级,取消 在远程网络上使用默认网关
重新连接,ok,都搞定了