Warning: count(): Parameter must be an array or an object that implements Countable in /www/wwwroot/mdaeo.org/usr/plugins/AMP/Action.php on line 388
CentOS Linux VPS架设VPN教程

Mdaeo'Blog

CentOS Linux VPS架设VPN教程

有很多朋友需要VPN来使用,但是购买别人VPN服务来使用却又限速又限流量,而且不稳定,价格还奇高。为什么不动手架设自己的VPN服务器来使用呢?自己架设VPN的成本非常低,比如购买buyvm VPS,最便宜的15$/年,换成RMB才一百元不到,心动了吧?心动不如行动,下面是架设VPN的教程:
一、首先检查你VPS的PPP和TUN有没有启用:
 

cat /dev/pppcat /dev/net/tun


  显示结果为:cat: /dev/ppp: No such device or address和cat: /dev/net/tun: File descriptor in bad state,表明通过,上述两条只要有一个没通过都不行。如果没有启用,你可以给VPS提供商Submit 一个 Ticket请求开通:
 

HelloCould you enabled TUN-TAP for me? I want run pptp-vpn on my VPS.Thank you.

确认PPP和TUN启用后,开始安装ppp和iptables:

yum install -y ppp iptables 

 

二、安装pptp:


rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.i386.rpm(32位系统)

rpm -ivh http://acelnmp.googlecode.com/files/pptpd-1.3.4-1.rhel5.1.x86_64.rpm(64位系统)

 

三、配置pptp,编辑/etc/pptpd.conf文件:


vim /etc/pptpd.conf
 

把下面字段前面的#去掉:


localip 192.168.0.1
remoteip 192.168.0.234-238,192.168.0.245

 

 四、编辑/etc/ppp/options.pptpd 文件:
 

vim /etc/ppp/options.pptpd
 

去掉ms-dns前面的#,并使用Google的DNS服务器,修改成如下字段:
 

ms-dns 8.8.8.8

ms-dns 8.8.4.4
 

五、设置VPN账号密码,编辑/etc/ppp/chap-secrets这个文件:


vim /etc/ppp/chap-secrets

六、修改内核设置,使其支持转发,编辑 /etc/sysctl.conf 文件:
 

vim /etc/sysctl.conf

将“net.ipv4.ip_forward”的值改为1,同时在“net.ipv4.tcp_syncookies = 1”前面加#


七、使sysctl.conf配置文件生效并添加iptables转发规则:
 

sysctl -p iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source ***.***.***.*** (***.***.***.***为你VPS的公网IP地址)

保存iptables转发规则:


/etc/init.d/iptables save


重启iptables:


/etc/init.d/iptables restart


重启pptp服务:


/etc/init.d/pptpd restart


设置开机自动运行pptp服务:

chkconfig pptpd on

设置开机自动运行iptables服务:


chkconfig iptables on
 

至此,Linux VPS架设VPN完成,如果连接出现错误619则输入如下命令解决:
 

rm /dev/pppmknod /dev/ppp c 108 0


如果出现错误734则修改/etc/ppp/options.pptpd文件,在require-mppe-128字段前面加#然后windows客户端连接按下图设置即可。

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »

因本文不是用Markdown格式的编辑器书写的,转换的页面可能不符合AMP标准。