centos5.8 x86 安装pptpd ×××整理 

如果检查结果没有这些支持的话,是不能安装pptp的。执行指令:
 
#modprobe ppp-compress-18 && echo ok

#cat /dev/net/tun
如果这条指令显示结果为下面的文本,则表明通过:
cat: /dev/net/tun: File descriptor in bad state

检查PPP是否支持MPPE 
用以下命令检查PPP是否支持MPPE: 
#strings '/usr/sbin/pppd' |grep -i mppe | wc --lines 
如果以上命令输出为“0”则表示不支持;输出为“30”或更大的数字就表示支持,MPPE(Microsoft Point to Point Encryption,微软点对点加密)。

安装ppp和iptables。
默认情况下,完整的CentOS是带有这两个组件的,但是精简版的系统可能没有。我们输入下面的命令来确认,如果没有则进行安装,有的话系统不会做任何动作:
#yum install -y ppp iptables


安装pptp。

#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#wget http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

安装pptp,同样分32位和64位系统:
#rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm (32位系统使用)
#rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm (64位系统使用)

配置pptp。
编辑/etc/pptpd.conf文件:
#vim /etc/pptpd.conf

localip 192.168.1.241 
remoteip 192.168.20.9-238

localip表示服务器的IP,remoteip表示分配给客户端的IP地址,可以设置为区间。这里我们使用pptp默认的配置:
注意,这里的IP段设置,将直接影响后面的iptables规则添加命令。请注意匹配的正确性,如果你嫌麻烦,建议就用本文的配置,就可以一直复制命令和文本使用了。



接下来我们再编辑/etc/ppp/options.pptpd文件,为×××添加Google DNS:
#vim /etc/ppp/options.pptpd
在末尾添加下面两行:
一般只需修改ms-dns,分配给×××客户端的DNS服务器IP地址 
name pptpd 
refuse-pap 
refuse-chap 
refuse-mschap 
require-mschap-v2 
require-mppe-128 
proxyarp 
lock 
nobsdcomp 
novj 
novjccomp 
nologfd 
idle 2592000 #72个小时空闲断开 
ms-dns 8.8.8.8 #设置gogole的DNS



设置pptp ×××账号密码,编辑/etc/ppp/chap-secrets 这个文件:
#vim /etc/ppp/chap-secrets
#按照“用户名 pptpd 密码 *”的形式编写,一行一个账号和密码。比如添加用户名为test,密码为123456的用户:
test pptpd 123456 *(指定分配给test用户的ip)



修改内核设置,使其支持转发。
#vim /etc/sysctl.conf
将“net.ipv4.ip_forward”改为1,变成下面的形式:
net.ipv4.ip_forward=1
保存退出,并执行下面的命令来生效它:
#sysctl -p


添加iptables转发规则,如果没有开启防火墙,请跳过。
经过前面的6个步骤,我们的×××已经可以拨号了,但是还不能访问任何网页。最后一步就是添加iptables转发规则了,输入下面的指令:
#iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
需要注意的是,这个指令中的“192.168.0.0/24”是根据之前的配置文件中的“localip”网段来改变的,比如你设置的 “10.0.0.1”网段,则应该改为“10.0.0.0/24”。此外还有一点需要注意的是eth0,如果你的外网网卡不是eth0,而是eth1(比 如SoftLayer的服务器就是这样的情况),那么请记得将eth0也更改为对应的网卡编号,不然是上不了网的!
然后我们输入下面的指令让iptables保存我们刚才的转发规则,以便重启系统后不需要再次添加:
#/etc/init.d/iptables save
然后我们重启iptables:
#/etc/init.d/iptables restart



重启pptp服务,并且设置开机自动运行服务
#/etc/init.d/pptpd restart

#chkconfig pptpd on 
#chkconfig iptables on