CentOS下vps安装VPN教程PPTP(亲测可用)

Standard

VPS的入门价格越来越低,手痒痒也去弄了两个来玩,测试之间的性能差异,然后便是弄这个VPN,毕竟站点还在虚拟主机上,这个就是拿来练手的,希望可以帮助到需要的人。

1、检查服务器是否有必要的支持。如果检查结果没有这些支持的话,是不能安装pptp的。命令:

[code lang=”shell”]
modprobe ppp-compress-18 && echo ok
[/code]

这条执行执行后,显示“ok”则表明通过。不过接下来还需要做另一个检查,输入指令:

[code lang=”shell”]
cat /dev/net/tun
[/code]

如果显示如下信息,说明通过,如果不支持,可以给vps商发ticket开通tun,大部分美国vps商都可以支持:

[code lang=”shell”]
cat: /dev/net/tun: File descriptor in bad state
[/code]

上面的两个只要下面一条通过,就能安装VPN(pptp)

2、安装ppp和iptables。

[code lang=”shell”]
yum install -y ppp iptables
[/code]

3、安装pptp。

[code lang=”shell”]
rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm #(32位系统使用)

rpm -ivh http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm #(64位系统使用)
[/code]

4、配置pptp。编辑/etc/pptpd.conf文件:

[code lang=”shell”]
vi /etc/pptpd.conf
[/code]

去掉前面的#去掉:

[code lang=”shell”]
localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245
[/code]

再编辑/etc/ppp/options.pptpd这个文件:

[code lang=”shell”]
vi /etc/ppp/options.pptpd
[/code]

去掉ms-dns前面的#,修改成下面的数据:

[code lang=”shell”]
ms-dns 8.8.8.8
ms-dns 8.8.4.4
[/code]

5、设置你需要的VPN账号和密码。这里编辑/etc/ppp/chap-secrets:

[code lang=”shell”]
vi /etc/ppp/chap-secrets
[/code]

直接输入如下字段,vpsma可以换成其他字段,格式“用户名 pptpd 密码 *”的形式编写,如果需要多个账号就写多行,一行一个:

[code lang=”shell”]
vpnuser pptpd vpnpsw *
[/code]

6、编辑/etc/sysctl.conf文件:

[code lang=”shell”]
vi /etc/sysctl.conf
[/code]

将“net.ipv4.ip_forward”改为1:

[code lang=”shell”]
net.ipv4.ip_forward=1
[/code]

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

[code lang=”shell”]
# net.ipv4.tcp_syncookies = 1
[/code]

保存退出,执行以下命令生效:

[code lang=”shell”]
sysctl -p
[/code]

7、添加iptables转发规则。

[code lang=”shell”]
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT –to-source 1.1.1.1
#OpenVZ系统用此命令,1.1.1.1为你的VPS的IP地址

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
#XEN系统用这个命令
[/code]

这里一定看清楚,里面的ip“192.168.0.0/24”要和前面的“localip”网段对应,还要注意网卡eth0,如果你的网卡不是eth0,就改成你相应的网卡名!

保存你的iptables转发规则:

[code lang=”shell”]
/etc/init.d/iptables save
[/code]

重启iptables,命令:

[code lang=”shell”]
/etc/init.d/iptables restart
[/code]

8、重启下pptp,命令:

[code lang=”shell”]
/etc/init.d/pptpd restart
[/code]

9、把服务设置成开机自动运行运行:

[code lang=”shell”]
chkconfig pptpd on
chkconfig iptables on
[/code]

如果出现你的vpn安装好拨号时候提示错误619则输入命令:

[code lang=”shell”]
mknod /dev/ppp c 108 0
[/code]

在安装完毕之后也出现了619,执行完毕上面命令后,不知道为什么没有生效,只有重启了vps,重启后拨号上网成功!

如果提示“Warning: a pptpd restart does not terminate existing
connections, so new connections may be assigned the same IP
address and cause unexpected results. Use restart-kill to
destroy existing connections during a restart.”错误信息,则执行一下命令:

[code lang=”shell”]
service pptpd restart-kill
service pptpd start
[/code]

ps:以上内容参考网友的文档完成,出现的问题也测试解决方案可行,基本上按照步骤都能正常完成。

参考:http://vpsroll.net/jiaocheng/32.html