直接运行diahosting.com的pptpd安装脚本即可:

wget http://www.diahosting.com/dload/pptpd.sh
sh pptpd.sh

完成后会提示用户名和密码,建议删除,自己添加。

nano /etc/ppp/chap-secrets

删除原来的,加入

test pptpd 123456 *

其中,“test”是帐号,“pptpd”必须和/etc/ppp/options.pptpd文件中“name pptpd”的一致,“123456”是密码,“*”表示ip不限。

各配置文件如下:
pptpd配置文件 — /etc/pptpd.conf
option配置文件 — /etc/ppp/options.pptpd,这里可以修改dns等
帐号密码文件 — /etc/ppp/chap-secrets

如果登录不了,查看日志:

tail -f /var/log/messages

这里有一些常见问题及解决办法:http://www.cublog.cn/u1/46701/showart_716447.html

如果要对pptpd的用户限速和管理,需要FreeRADIUS和ARA(ASN RADIUS admin)的加入,具体google吧。我有机会也试下

附上pptpd.sh的脚本内容,要自己安装的参考下:

yum remove -y pptpd ppp
iptables --flush POSTROUTING --table nat
iptables --flush FORWARD
rm -rf /etc/pptpd.conf
rm -rf /etc/ppp

wget http://www.diahosting.com/dload/dkms-2.0.17.5-1.noarch.rpm
wget http://www.diahosting.com/dload/kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
wget http://www.diahosting.com/dload/pptpd-1.3.4-1.rhel5.1.i386.rpm
wget http://www.diahosting.com/dload/ppp-2.4.4-9.0.rhel5.i386.rpm

yum -y install make libpcap iptables gcc-c++ logrotate tar cpio perl pam tcp_wrappers
rpm -ivh dkms-2.0.17.5-1.noarch.rpm
rpm -ivh kernel_ppp_mppe-1.0.2-3dkms.noarch.rpm
rpm -qa kernel_ppp_mppe
rpm -Uvh ppp-2.4.4-9.0.rhel5.i386.rpm
rpm -ivh pptpd-1.3.4-1.rhel5.1.i386.rpm

mknod /dev/ppp c 108 0
echo 1 > /proc/sys/net/ipv4/ip_forward
echo "mknod /dev/ppp c 108 0" >> /etc/rc.local
echo "echo 1 > /proc/sys/net/ipv4/ip_forward" >> /etc/rc.local
echo "localip 172.16.36.1" >> /etc/pptpd.conf
echo "remoteip 172.16.36.2-254" >> /etc/pptpd.conf
echo "ms-dns 8.8.8.8" >> /etc/ppp/options.pptpd
echo "ms-dns 8.8.4.4" >> /etc/ppp/options.pptpd

pass=`openssl rand 6 -base64`
if [ "$1" != "" ]
then pass=$1
fi

echo "vpn pptpd ${pass} *" >> /etc/ppp/chap-secrets

iptables -t nat -A POSTROUTING -s 172.16.36.0/24 -j SNAT --to-source `ifconfig  | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`
iptables -A FORWARD -p tcp --syn -s 172.16.36.0/24 -j TCPMSS --set-mss 1356
service iptables save

chkconfig iptables on
chkconfig pptpd on

service iptables start
service pptpd start

echo "VPN service is installed, your VPN username is vpn, VPN password is ${pass}"

–end