搭建过程都一样参照网上的:检查服务器是否有必要的支持。命令:

modprobe ppp-compress-18 && echo ok
 这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:
cat /dev/net/tun
 如果显示如下信息,说明通过,如果不支持,可以给vps商发ticket开通tun,大部分美国vps商都可以支持:
cat: /dev/net/tun: File descriptor in bad state
 上面的两个只要一条通过,就能安装×××pptp

首先配置×××需要安装相关的软件:

yum install -y wget perl ppp

使用wget下载vpn安装程序:

wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.4.0-1.el6.i686.rpm 

rpm -ivh pptpd-1.4.0-1.el6.i686.rpm

配置vpn中的dns服务器:

cat >>/etc/ppp/options.pptpd<<EOF

ms-dns 8.8.8.8 

ms-dns 8.8.8.4

EOF

配置×××中分配的IP地址

 cat>>/etc/pptpd.conf<<EOF

localip 192.168.6.1 

remoteip 192.168.6.2-254

EOF  

配置×××中和帐号和密码 

cat>>/etc/ppp/chap-secrets<<EOF

vpntest pptpd 654321 *

EOF  

修改内核设置,使其支持转发。编辑/etc/sysctl.conf文件:

vi /etc/sysctl.conf

“net.ipv4.ip_forward”改为1

net.ipv4.ip_forward=1

同时在“net.ipv4.tcp_syncookies = 1”前面加#

#net.ipv4.tcp_syncookies = 1

防火墙添加规则:

iptables -t nat -A POSTROUTING -s 192.168.6.0/255.255.255.0 -j SNAT --to-source 10.10.10.232

iptables -A FORWARD -p tcp --syn -s 192.168.6.0/255.255.255.0 -j TCPMSS --set-mss 1356

iptables -t nat -A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j MASQUERADE

iptables -A INPUT -p tcp --dport 1723 -j ACCEPT

iptables -AINPUT -s 192.168.6.0/255.255.255.0 -j ACCEPT

iptables -AINPUT -p UDP --dport 53 -j ACCEPT

#//10.10.10.232本机IP

启动×××服务并设置为自启动 

service pptpd start

chkconfig pptpd on  

servicepptpd restart-kill ; service pptpd start

配置完毕:
more /etc/pptpd.conf |grep -v ^#

option /etc/ppp/options.pptpd

localip 192.168.6.1

remoteip 192.168.6.2-254

more /etc/ppp/options.pptpd|grep -v ^#

name pptpd

refuse-pap

refuse-chap

refuse-mschap

require-mschap-v2

require-mppe-128

ms-dns 8.8.8.8

ms-dns 8.8.8.4

proxyarp

lock

nobsdcomp 

novj

novjccomp

nologfd

以上配置一直报619错误:

看到网上好多攻略;
1.rm /dev/ppp 

mknod /dev/ppp c 108 0

2.还不管用的(有时出现错误651),/var/log/messages 查看日志,最后发现:

Jan 2 07:26:11 fr pptpd[1604]: CTRL:Starting call (launching pppd, opening GRE) Jan 2 07:26:11 fr pppd[1605]:Plugin /usr/lib/pptpd/pptpd-logwtmp.so is for pppd version 2.4.3, this is 2.4.5 Jan2 07:26:11 fr pptpd[1604]: GRE: read(fd=6,buffer=804fa20,len=8196) from PTYfailed: status = -1 error = Input/output error, usually caused by unexpectedtermination of pppd, check option syntax and pppd logs Jan 2 07:26:11 fr pptpd[1604]:CTRL: PTY read or GRE write failed (pty,gre)=(6,7) Jan 2 07:26:11 frpptpd[1604]: CTRL: Client X.X.X.X control connection finished

logwtmp插件版本不兼容出错了!

vi /etc/pptpd.conf

找到logwtmp,在前面加#

service pptpd restart 仍然报错无法登陆;

3.tail -100f /var/log/messages

Aug 12 20:25:34 localhost pppd[9614]: The remote system is required to authenticate itself

Aug 12 20:25:34 localhost pppd[9614]: but I couldn't find any suitable secret (password) for it to use to do so.

错误提示是认证错误,这里千万注意第二步设置用户时候的格式。

网上给解决方法:在配置文件/etc/ppp/options末尾添加上noauth即可。好像还是上不去继续报错……

网上也有怀疑路由设置问题,这次排除下来不是路由引起的;

最终是用户设置用户名加上引号就可以欢快上去了

vim /etc/ppp/chap-secrets

# Secrets for authentication using CHAP

# client        server       secret        IP addresses

"username" pptpd "password" *

 问题得到解决!

peer from calling number 10.10.10.91 authorized

Aug 12 20:32:21 localhost pppd[9913]: MPPE 128-bit stateless compression enabled

Aug 12 20:32:24 localhost pppd[9913]: Cannot determine ethernet address for proxy ARP

Aug 12 20:32:24 localhost pppd[9913]: local  IP address 192.168.6.1

Aug 12 20:32:24 localhost pppd[9913]: remote IP address 192.168.6.2

有时候一个标点符号,一个字符都会导致莫名问题,出问题找日志总有办法解决的~