安装这个软件真是恶心了我一天,找了网上很多教程,装完了都不行,后来在几位朋友的帮助下,在纠结的同时终于搞定了。分享以下心得。首先谢谢几位好友指出我配置文件错误北京-北漂,给我看安装脚本北京-混混(据说脚本是另一位大牛北京-SS写的)以及指导我走向成功深圳-挨踢男!

我的环境是路由下的某机器,NAT到公网,VM虚拟机,centos 5.4,单网卡,yum安装的,觉得方便,使用简单,并且我不需要特殊设置。

1,  删除原系统软件,为了更兼容还是用自己下的好

yum remove -y pptpd ppp

2,  删除原配置文件等

rm -rf /etc/pptpd.conf

rm -rf /etc/ppp

3,  下载相关软件

wget http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.rhel5.i386.rpm

wget http://poptop.sourceforge.net/yum/stable/rhel5Server/i386/ppp-2.4.4-14.1.rhel5.i386.rpm

4,  安装相关软件

rpm -ivh ppp-2.4.4-14.1.rhel5.i386.rpm

rpm -ivh dkms-2.0.17.5-1.noarch.rpm

rpm -ivh pptpd-1.3.4-2.rhel5.i386.rpm

5,  修改配置文件

cp /etc/pptpd.conf /etc/pptpd.conf.bak

cp –R /etc/ppp /etc/ppp.bak

需要注意的地方loclip最好使用你的公网IP

Remoteip是你客户端机自动获取IP的地址段,这个可以任意设置

echo "localip *.*.*.*" >> /etc/pptpd.conf

echo "remoteip 192.168.200.1-254" >> /etc/pptpd.conf

DNS请根据当地较好的DNS服务器设置

echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd

echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd

密码文件,格式必须注意,分别为用户名 服务器名 密码 ip

用户名和密码随意设置,服务器名必须与options.pptpd里的一致,ip可以固定或者*自动

echo "vpn pptpd vpnpass *" >> /etc/ppp/chap-secrets

开启路由转发

echo "1" >/proc/sys/net/ipv4/ip_forward

/sbin/sysctl –p查看是否已变为1,为1表示成功

6,  SNAT设置,这个尤为重要,必须要做的设置,个人认为意思为将当前IP伪装成当前网卡。

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.200.0/24 -j MASQUERADE

service iptables save

7,  开启服务,并验证

Service pptpd start

Netsata –tnolp出现1723端口表示成功

日志默认在/var/log/messages

 

安装完毕,测试阶段,本人用跟vpn服务器网段一样的机器测试不成功,但是非×××服务器网段的机器均成功了。

 

 

下面是一些拍错的方法,本人觉得非常管用,出现错误的兄弟请仔细查看(以下是转载的,因为太懒没记作者名字,感谢这位未知大哥!)

 

×××错误

错误:741 本地计算机不支持所要求的数据加密类型这个原因是本地计算机不支持所要求的数据加密类型,要想通过就把下面的加密数据去掉就可以了。

 

 CENT OS安装,配置PPTP与错误纠正_安装

WIN7的我没找到这个,我是这么设置的,链接成功

 

 CENT OS安装,配置PPTP与错误纠正_配置文件_02

 

 

-------------------------------------------------------------------------------------------------

错误 734: PPP 链接控制协议终止。

原因如果存在以下两种情况当中的任意一种,就可能会出现此问题:
?
为单链路连接启用了多链路协商
?
拨号连接的安全配置被错误地配置为使用需要安全密码设置。


#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines
结果是46,就是说内核支持ppp.

问题解决了:
把安全选项卡里高级设置”——
1
。数据加密改为可选加密
2
。选中不加密的密码PAP


错误 734
问题:PPP连接控制协议中止
原因:ADSL ISP服务器故障,非正常关机造成网络协议出错
解决:删除所有网络组件重新安装网络。


----------------------------------------------------------------------------------------

五、常见问题
1
、在/var/log/message中有类似提示:
May 29 15:56:25 108test pptpd[27452]: MGR: PPP binary /usr/local/pptpd/sbin/pppd not executable
原因:在/etc/pptpd.conf ppp 项制定了错误的pppd路径
解决方案:正确指定正确的pppd路径

2
、在/var/log/message中有类似提示:
May 29 16:18:03 108test pppd[2674]: /usr/lib/pptpd/pptpd-logwtmp.so: cannot open shared object file: No such file or directory
原因:在/usr/lib/pptpd/路径中找不到 pptpd-logwtmp.so
解决方案:如果/usr/lib/pptpd目录不存在则创建,之后将pptpd-logwtmp.so拷贝到该目录:
[root@108test pptpd-1.3.4]# cp /usr/local/pptpd/lib/pptpd/pptpd-logwtmp.so /usr/lib/pptpd/pptpd-logwtmp.so

3
、用客户端连接时连接不上,提示800错误或者619错误,在/var/log/message中有类似提示:
May 29 17:05:28 108test pppd[7053]: Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.2
原因:pptpd 的版本与 ppp的版本不一致
解决方案:进行版本统一,在本例中进行如下操作统一版本:
1>
、在
http://mppe-mppc.alphacron.de/ 下载 ppp-2.4.3-mppe-mppc-1.1.patch.gz ppp-2.4.3.tar.gz
2>
//卸载掉原有的ppp
    [root@108test vpn-software]# rpm -e --nodeps ppp
    //
解压缩ppp-2.4.3
    [root@108test vpn-software]# tar -zxvf ppp-2.4.3.tar.gz
    //
解压缩ppp-2.4.3-mppe-mppc-1.1.patch
    [root@108test vpn-software]# gunzip ppp-2.4.3-mppe-mppc-1.1.patch.gz
    //
ppp打补丁 注:-p后面是零不是欧
    [root@108test vpn-software]# patch -p0 -i ppp-2.4.3-mppe-mppc-1.1.patch  
    [root@108test vpn-software]# cd ppp-2.4.3
    //
进行编译安装
    [root@108test ppp-2.4.3]# ./configure
    [root@108test ppp-2.4.3]# make
    [root@108test ppp-2.4.3]# make install
3>
、重启pptpd进程

4
、在/var/log/message中有类似提示:
May 29 17:36:02 108test pppd[7678]: The remote system is required to authenticate itself
原因:/etc/ppp/chap-secrets 文件配置有问题
解决方案:正确配置 /etc/ppp/chap-secrets

------------------------------------------------------------------------

6.        ×××客户端拨入时出现734 ppp链接控制协议终止
这种情况多数为×××服务器配置有问题,如果是PPP配置有问题,不支持MPPE加密或支持度不好。请重新编译PPPMPPE相关程序。对于用于游戏代理的用户,可不使用加密(需在服务器端不要求加密)。