在CentOS Linux系统的VPS中架设VPN图解教程
转自:http://www.laoyao.cc/post/2821.html
另参考:http://blog.sina.com.cn/s/blog_40881dbe010139tl.html 配置
前篇文章跟大家介绍了什么是 VPN,以及 VPN常见的用途。有很多朋友需要VPN,但是购买别人VPN服务来使用却又限速又限流量,而且不稳定,价格还比较高。为什么不动手 架设自己的VPN服务器来使用呢?自己 架设VPN的成本非常低,比如购买buyvm VPS,最便宜的15$/年,换成RMB才一百元不到,心动了吧?心动不如行动,下面是架设VPN的 教程:
一、首先检查你VPS的PPP和TUN有没有启用:
cat /dev/ppp
cat /dev/net/tun
显示结果为:cat: /dev/ppp: No such device or address和cat: /dev/net/tun: File descriptor in bad state,表明通过,上述两条只要有一个没通过都不行。如果没有启用,你可以给VPS提供商Submit 一个 Ticket请求开通:
Hello
Could 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:
(xen如果安装不成功试试下面的:vpn_centos6.sh 安装)
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
意思:当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。
四、编辑/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 -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j MASQUERADE
}}}}}}
重启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/ppp
mknod /dev/ppp c 108 0
如果出现错误734则修改/etc/ppp/options.pptpd文件,在require-mppe-128字段前面加#然后windows客户端连接按下图设置即可。
////////////////////////////////////////另参考//////////////////////////////////////
1. 通过yum安装 ppp:
$ yum install ppp -y
2. 下载安装pptpd,你可以在这个网站获得 http://poptop.sourceforge.net/yum/stable/packages/ :
(根据操作系统位数而定,这里是64位的x86_64版本)
$ cd /usr/local/src $ wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-2.el6.x86_64.rpm $ rpm -Uhv pptpd-1.3.4-2.el6.x86_64.rpm
3. 安装好之后打开 /etc/pptpd.conf 增加或者修改下面的配置:
localip 192.168.0.1 remoteip 192.168.0.234-238
4. 打开 /etc/ppp/options.pptpd 添加vpn的dns(使用google的dns):
ms-dns 8.8.8.8
5. 给vpn添加账户,打开 /etc/ppp/chap-secrets 按照下面的格式添加用户名密码:
vpnuser pptpd myVPN$99 *
格式是这样的: [username] [space] [server] [space] [password] [space][IP addresses]
6. 我们需要开启服务的的IP转发. 打开 /etc/sysctl.conf 更改下面的配置:
net.ipv4.ip_forward = 1
#net.ipv4.tcp_syncookies = 1 注释掉这一行
7. 运行下面的命令,使配置生效:
$ sysctl -p
8. 在防火墙中添加规则允许NAT转换 :
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ service iptables save
$ service iptables restart
注意:当你做完第八步的时候检查一下 /etc/sysconfig/iptables.确保 POSTROUTING 规则在任何 REJECT 规则前面
根据VPS实现的不同,主要有openVZ和XEN。这两种规则分别为:
OpenVZ: $iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source **.**.**.**(这里为VPS公网IP)
XEN:iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
9. 开启 pptpd服务的自启动,并重新服务器
$ chkconfig pptpd on
$ init 6
当系统重启完之后, 你就可以通过VPN客户端连接打服务器了. 你可以查看 /var/log/message for ppp and pptpd 相关日志.
参考: http://blog.secaserver.com/2011/10/install-vpn-pptp-server-centos-6/
-
本文附件下载:
- vpn_centos6.rar (1.1 KB)
已有 0 人发表留言,猛击->> 这里<<-参与讨论
ITeye推荐