在CentOS Linux系统的VPS中架设VPN图解教程

标签: centos linux 系统 | 发表时间:2014-03-28 17:10 | 作者:wuzijingaip
出处:http://www.iteye.com

转自: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

在CentOS Linux系统的VPS中架设VPN图解教程

二、安装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位系统)

在CentOS Linux系统的VPS中架设VPN图解教程

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

vim /etc/pptpd.conf

在CentOS Linux系统的VPS中架设VPN图解教程

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

localip 192.168.0.1

remoteip 192.168.0.234-238,192.168.0.245

在CentOS Linux系统的VPS中架设VPN图解教程

意思:当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。

 

localip就是指定你服务器的内网IP地址,其实即便网卡没有配置成这个地址也无所谓
remoteip就是用户连接到你的服务器后,服务器为用户分配的ip地址范围,注意格式。
 

 

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

vim /etc/ppp/options.pptpd

在CentOS Linux系统的VPS中架设VPN图解教程

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

ms-dns 8.8.8.8

ms-dns 8.8.4.4

在CentOS Linux系统的VPS中架设VPN图解教程

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

vim /etc/ppp/chap-secrets

在CentOS Linux系统的VPS中架设VPN图解教程

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

vim /etc/sysctl.conf

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

在CentOS Linux系统的VPS中架设VPN图解教程

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

sysctl -p

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

 

# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 122.96.157.22
以上命令的作用就是让192.168.1.0这个段的ip地址,可以通过122.96.157.22这个公网地址上网。
你需要将192.168.1.0/24替换成你在pptp.conf中设置的ip段和子网掩码,将122.96.157.22替换成你服务器自己的公网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

在CentOS Linux系统的VPS中架设VPN图解教程

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

rm /dev/ppp

mknod /dev/ppp c 108 0

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

在CentOS Linux系统的VPS中架设VPN图解教程

 

 

 

////////////////////////////////////////另参考//////////////////////////////////////

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/





已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [centos linux 系统] 推荐:

在CentOS Linux系统的VPS中架设VPN图解教程

- - 操作系统 - ITeye博客
转自:http://www.laoyao.cc/post/2821.html . 另参考:http://blog.sina.com.cn/s/blog_40881dbe010139tl.html   配置. 前篇文章跟大家介绍了什么是. 有很多朋友需要VPN,但是购买别人VPN服务来使用却又限速又限流量,而且不稳定,价格还比较高.

(总结)CentOS Linux下配置Oracle 11gR2为系统服务自动启动

- - 服务器运维与网站架构|Linux运维|互联网研究
PS:在Windows下安装完成Oracle 11gR2后,默认就开机自启动Oracle相关服务,但Linux下安装完后每次都得手动启动和关闭数据库(dbstart | dbshut)、监听器(lsnrctl)、控制台(emtcl). 如何把Oracle添加到Linux系统服务里开机自启动呢. 下面以CentOS 6.3为例详解,其他发行版一样通用.

centos linux 服务器安全

- - 操作系统 - ITeye博客
我们必须明白:最小的权限+最少的服务=最大的安全. 所以,无论是配置任何服务器,我们都必须把不用的服务关闭、把系统权限设置到最小话,这样才能保证服务器最大的安全. 下面是CentOS服务器安全设置,供大家参考. 一、注释掉系统不需要的用户和用户组. 注意:不建议直接删除,当你需要某个用户时,自己重新添加会很麻烦.

[来自异次元] CentOS 6.0 正式版下载 – 最受瞩目的免费企业级 Linux 服务器操作系统

- Mencius - 异次元软件世界
        如果说 Ubuntu 是现今最受桌面用户欢迎的 Linux 操作系统,那么 CentOS 就是最受公司、企业、IDC等喜爱的 Linux 发行版了. 得益于 CentOS 极为出色的稳定性,目前在全球范围内,无数著名的网站均选用它作为操作系统. 那个,异次元的服务器也正是使用它.         CentOS 是基于 Red Hat Enterprise Linux (收费昂贵但口碑极佳) 的源代码再编译出来的免费版,继承了 Red Hat 优越的稳定性,而且又提供免费更新,因此在服务器提供商、中小型公司中装机量几乎是最大的一个 Linux.

linux(Centos)上memcacheq成功安装及使用

- - CSDN博客推荐文章
一:安装memcached. 1.下载memcached包.     下载地址:http://www.memcached.org (最新包就在首页,点击下载就OK).     解压包:# tar -zxvf memcached-1.4.13.tar.gz (根据自身的情况解压到目录).     进入目录:# cd memcached-1.4.13.

centos搭建Git分布式管理控制系统

- We_Get - 博客园-首页原创精华区
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理. 操作系统:centos 5.5. # tar zxvf curl-7.17.1.tar.gz  //解压. 修改ld.so.conf 添加/usr/local/lib. vi /etc/ld.so.conf 添加/usr/local/lib.

服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS?

- - 知乎每日精选
早期,我们使用 Debian 作为服务器软件,后来转向了CentOS,主要原因如下:. 1、CentOS/RHEL的生命周期是7年,基本上可以覆盖硬件的生命周期,也就意味着一个新硬件安装以后,不用再次安装操作系统. 要知道重新折腾一个生产机是很麻烦而且有风险的事情. [2012.2.1]今天刚刚收到红帽子的通知邮件,RedHat 5, RedHat 6的生命周期,延长到10年,太牛叉了.

Linux系统监控

- - CSDN博客系统运维推荐文章
查看所有的进程和端口使用情况:. 查看nginx并发(连接数)进程数:. 查看当网络连接状态中,已建立连接的数量:. 查看系统tcp连接中各个状态的连接数. 输出每个ip的连接数,以及总的各个状态的连接数. df -hl 查看磁盘使用情况 . df -hl 查看磁盘剩余空间. df -h 查看每个根路径的分区大小.

Linux 开源车载系统 Automotive Grade Linux

- - 开源中国社区最新新闻
Google、苹果以及微软相继宣布为汽车中控台推出车载系统,近日Linux基金会宣布推出可定制,开源的车载系统平台 Automotive Grade Linux. 旨在成为未来车载系统开源标准平台. 目前早期版本的AGL已提供下载. Automotive Grade Linux系统支持的汽车厂商以及品牌有捷豹、路虎、本田、日产等,同时也支持ATS、富士通、哈曼、英特尔、LG、NEC、松下三星等科技企业的车内产品.

理解Linux系统负荷

- Adam - 阮一峰的网络日志
如果你的电脑很慢,你或许想查看一下,它的工作量是否太大了. 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行). (另外,它们在苹果公司的Mac电脑上也适用. 你在终端窗口键入uptime,系统会返回一行信息. 这行信息的后半部分,显示"load average",它的意思是"系统的平均负荷",里面有三个数字,我们可以从中判断系统负荷是大还是小.