6.2 32bit系统下安装pptp的正确方法。
这里仅记录关键步骤,其中与原文有出入之处以红色标注,其他步骤如检测MPPE模块请参考原文,也非常感谢原作者详细的记录和注释。
Linode VPS CentOS 5.5 安装 pptpVPN – Jacky.Wang的个人空间 – 开源中国社区.
1、由于pptp需要iptables支持,所以需要安装iptables。如果您的服务器上已经安装了iptables,那么可以只安装pptp
yum install -y ppp iptables
2、安装pptp
由于上述命令安装的ppp是新版本的,因此pptp也需要装一个新版本
rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.i686.rpm (32位系统使用) rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm (64位系统使用)
3、配置pptp
(1)编辑/etc/pptpd.conf
vi /etc/pptpd.conf
将
#localip 192.168.0.1 #remoteip 192.168.0.234-238,192.168.0.245
修改成
localip 192.168.10.1 remoteip 192.168.10.234-238,192.168.10.245
即将这两行第一个字符“#”去掉
保存退出
注意:为了避免与Windows客户机局域网地址冲突,特意把默认的0.1改成了10.1网段
(2)编辑/etc/ppp/options.pptpd
vi /etc/ppp/options.pptpd
将
#ms-dns 10.0.0.1 #ms-dns 10.0.0.2
改成
ms-dns 8.8.8.8 ms-dns 8.8.4.4
即将这两行第一个字符“#”去掉,而后修改DNS的IP。
这里使用的是Google发布的Public DNS,您也可以修改为OpenDNS的IP,即
ms-dns 208.67.222.222 ms-dns 208.67.220.220
保存并退出
(3)设置使用pptp的用户名和密码
vi /etc/ppp/chap-secrets
打开后只有两行,而且一个账号都没有
# Secrets for authentication using CHAP # client server secret IP addresses
根据您的需要添加账号,每行一个。
按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,例如:vpnuser pptpd 123456 *
保存并退出
注意:原文中写的pptp,经过测试需要写成pptpd,要不然拨号的时候会出现691错误。
4、修改内核设置,使其支持转发。
vi /etc/sysctl.conf
将
net.ipv4.ip_forward=0
改成
net.ipv4.ip_forward=1
将
net.ipv4.tcp_syncookies = 1
改成
#net.ipv4.tcp_syncookies = 1
即行首添加“#“
保存并退出
执行以下命令使修改后的内核生效
sysctl -p
5、添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to-source 12.34.56.78
(适合于OpenVZ架构的VPS,12.34.56.78为您VPS的公网IP地址)
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
(适合于XEN架构的VPS)
以上两条命令分别对应OpenVZ架构和XEN架构的VPS,您的VPS是什么架构需要询问供应商。Linode采用的是XEN架构,所以输入
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
添加好转发规则后保存一下并重启iptables
注意:这里根据前面所定义的localip修改了命令,另外原文中高亮命令最后少了一个“E“。
/etc/init.d/iptables save /etc/init.d/iptables restart
注意:这里我遇到过两个错误,具体见附录
6、重启pptp服务
/etc/init.d/pptpd restart
这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp
[FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。
7、设置pptp和iptables随系统启动
chkconfig pptpd on chkconfig iptables on
8,iptables重启错误
Setting chains to policy ACCEPT: security raw nat [FAILED] filter
注意:我们的出错信息和原文的略有不同,根据Linode官方回应,这个出错信息可以忽略,不过如果想消除,可以执行以下命令。(不需要按照原文所说更换内核)
cd /etc/init.d/ cp iptables ~/iptables.backup wget http://epoxie.net/14857.txt patch -p1 < 14857.txt # if prompted, specify /etc/init.d/iptables as the file to be patched rm 14857.txt