一直在找在Linode的vps上安装pptp vpn的方法,终于在一个网友的网页上找到了,现在转载过来。稍有改动,重新排版!
原文地址:http://tanganimation.com/all/linode-vps-centos-6-2-an-zhuang-pptp-vpn/
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 https://lnmpp.googlecode.com/files/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 pptpd123456 *
保存并退出
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转发规则
(1)适合于OpenVZ架构的VPS,12.34.56.78为您VPS的公网IP地址
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to-source 12.34.56.78
(2)适合于XEN架构的VPS
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
以上两条命令分别对应OpenVZ架构和XEN架构的VPS,您的VPS是什么架构需要询问供应商。Linode采用的是XEN架构,所以输入
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
6、添加好转发规则后保存一下并重启iptables
注意:这里根据前面所定义的localip修改了命令。
/etc/init.d/iptables save
/etc/init.d/iptables restart
注意:这里我遇到过两个错误,具体见附录1
7、重启pptp服务
/etc/init.d/pptpd restart
这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。
8、设置pptp和iptables随系统启动
chkconfig pptpd on
chkconfig iptables on
附录1 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
以上结束 现在就可以再自己的电脑上配置一个VPN账号登陆下试试看了!
由于步骤较多,较复杂请仔细核对命令进行输入调试!