CenOS下搭建VPN服务

公司生产环境使用的是阿里云主机,采用的是两台nginx主机进行反向代理,现在需要内网一台服务器能够访问公网,所以在nginx服务器上搭建了VPN服务,用于进行内网访问公网。

系统环境:CenOS 6.5

所需软件软件:ppp、pptp

系统拓扑:

服务器端:

1 服务器端安装软件  

1.1 首先安装ppp,命令:  

[[email protected] ~]#yum install -y ppp*

提示Complete! ,安装成功;

1.2安装pptp,安装命令如下:

[[email protected] ~]#yum install –y pptpd*

2 配置pptp  

2.1编辑/etc/pptpd.conf,命令如下  

[[email protected] ~]#vi /etc/pptpd.conf
将
#localip 192.168.0.1
#remoteip 192.168.0.234-238,192.168.0.245
修改成
localip 192.168.1.10
remoteip 192.168.1.234-238,192.168.1.245
即将这两行第一个字符“#”去掉,保存退出  

localip填写VPN服务器本地内网ip

remoteip填写的是要分配给VPN客户端的地址池

2.2编辑/etc/ppp/options.pptpd,命令如下  

[[email protected] ~]#vi /etc/ppp/options.pptpd
将
#ms-dns 10.0.0.1
#ms-dns 10.0.0.2
改成
ms-dns 10.202.72.116
ms-dns 10.202.72.116
即将这两行第一个字符“#”去掉,而后修改DNS的IP(本处使用的是阿里云默认dns)。  

2.3设置使用pptp的用户名和密码  
命令:

[[email protected] ~]#vi /etc/ppp/chap-secrets  

打开后只有两行,而且一个账号都没有

# Secrets for authentication using CHAP
# client server secret IP addresses  

根据您的需要添加账号,每行一个。按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,

例如:

kuro pptpd 123456  *         *表示所有IP

test  pptpd  123456 192.168.1.234     还可以指定静态ip(192.168.1.234),表示使用test账号登录的用户就分配指定的静态ip(192.168.1.234)给客户端

保存并退出。

修改内核设置,使其支持转发  
命令:

[[email protected] ~]#vi /etc/sysctl.conf
将net.ipv4.ip_forward=0
改成net.ipv4.ip_forward=1
将net.ipv4.tcp_syncookies= 1
改成 #net.ipv4.tcp_syncookies= 1  

保存并退出  
 
执行以下命令使修改后的内核生效

[[email protected] ~]#sysctl -p  

添加iptables转发规则  

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -jMASQUERADE 

(注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一)  
 
添加好转发规则后保存一下并重启iptables

[[email protected] ~]#/etc/init.d/iptables save
[[email protected] ~]#/etc/init.d/iptablesrestart  

重启pptp服务

[[email protected] ~]#/etc/init.d/pptpd restart  

这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。

设置pptpiptables随系统启动  

[[email protected] ~]#chkconfig pptpd on
[[email protected] ~]#chkconfig iptables on  

至此,pptp服务端安装结束。

FAQ

/var/log/messages日志中出现下面的错误,如何解决?

错误日志内容:from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs

解决办法:

修改 /etc/pptpd.conf 文件,注释掉logwtmp 这行,重启pptpd服务。

1.    #logwtmp

2.    # /etc/init.d/pptpd restart

再次尝试连接vpn客户端,可以成功验证用户和口令了。



 

客户端:

1确认是否安装ppp

#rpm -qa | grep ppp

如果没有,需要安装ppp的rpm,CentOS光盘中有

#yum install ppp* -y

2、安装客户端pptd

#yum install pptp* -y

3、配置

配置命令模板:

 pptpsetup --create tunnelname --server xxx.xxx.xxx.xxx--username 用户名 --password 密码

然后使用pptpsetup命令建立拨号连接:

pptpsetup --create test --server x.x.x.x --username vpnusername --password xxx

这样会生成一个名为test的vpn拨号账号,    然后编辑账号配置文件:

vi /etc/ppp/peers/test

# written by pptpsetup

pty "pptp xxx.xxx.xxx --nolaunchpppd"

lock

noauth

nobsdcomp

nodeflate

name vpnusername

remotename test

ipparam test

defaultroute #使用本连接作为默认路由

persist #当连接丢失时让pppd再次拨号

require-mppe-128

refuse-pap

refuse-chap

refuse-eap

refuse-mschap

改为以上内容

或者将ipparam test下面的 改为一句

file /etc/ppp/options.pptp

4、连接

# pppd call tunnelname

ifconfig 可以看到 vpn连接ppp0出来了.

5、 断开

# killall pppd

6、注意事项
在处理路由的时候采用client to lan方式,需要增加对方lan的路由或者目标网络的路由.

# route add -net 0.0.0.0 dev ppp0
时间: 2024-08-02 22:10:36

CenOS下搭建VPN服务的相关文章

Linux下搭建VPN服务

转载需注明原文地址 http://mushapi.com/vpn-server-on-linux.html 最近google封锁的愈发严实了,所以不得不考虑弄个常备的VPN了.之前也用过买的vpn但是我用的那家vpn的官网也被封锁了,所以只能自己动手喽-本文是我安装完成后根据记忆写的,可能有不准确的地方,欢迎留言告诉我. 一.安装所需软件 在linux上搭建一个vpn server需要有iptables.ppp.pptpd.其中iptables和ppp可以直接通过yum安装. 1 yum ins

Ubuntu14.04下搭建VPN服务

采用PPTP搭建VPN,优点是配置简单快捷.将亲身过程记录下来供亲们参考,并将过程中遇到的问题也一一列举出来解决方式... 直接上步骤: 1.第一步需要安装PPTP,以用来提供VPN服务. sudo apt-get install pptpd 如果有问题的话比如提示找不到之类的,apt-get update 一下应该就可以了,然后再来一次就会自动完成安装. 2.装好了之后我们需要进行配置一下以让它可以使用. sudo vi /etc/pptpd.conf 取消掉以下 2 行的注释: locali

转 Windows server 2008 搭建VPN服务

VPN英文全称是“Virtual Private Network”,就是“虚拟专用网络”. 虚拟专用网络就是一种虚拟出来的企业内部专用线路.这条隧道可以对数据进行几倍加密达到安全使用互联网的目的. 此项技术已被广泛使用.虚拟专用网可以帮助远程用户.公司分支机构.商业伙伴及供应商同公司的内部网建立可信的安全连接,用于经济有效地连接到商业伙伴和用户的安全外联网虚拟专用网. 实验环境: 服务器系统:Windows server 2008 客户机系统:Windows server 2003 服务器双网卡

如何在Windows Server 2008 R2下搭建FTP服务

在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验:jingyan.baidu.com 方法/步骤 1 安装FTP服务 开始-->管理工具-->服务器管理器 步骤阅读 2 安装IIS/FTP角色 打开服务器管理器,找到添加角色,然后点击,弹出添加角色对话框,选择下一步 步骤阅读 3 选择Web服务器(IIS),然后选择FTP服务,直到安装完成.

Linux下搭建VPN服务器(CentOS_6_x86+VPS+Shaowsocks)

#Linux下搭建VPN服务器(CentOS_6_x86+VPS+Shaowsocks)前面所搭建Linux下搭建VPN服务器(CentOS_5.9_x86_64.PPTP),因延迟过高,无法满足业务需求,因此公司决定采用CentOS_56_x86+VPS+Shaowsocks方案 公司供给翻译的使用VPN,正常访问境外的网站和观看视频,eg:欧盟经济体新闻发布会下面所介绍的服务器是香港服务器[必须是境外的服务器,或者国内能访问国外网站服务器] 搬瓦工bandwagonhost简单而且性能非常不

Linux下搭建VPN服务器(CentOS、pptp)

本文介绍在安装CentOS操作系统的Xen VPS上,如何搭建PPTP VPN服务.包括PPTP的安装.配置,以及相应的iptables规则.本文暂时不涉及PPTP流量控制的部分,等抽空学明白了FreeRADIUS,再来写续篇.2011年7月20日更新:在安全建议这一部分,增加了使用不同的IP地址,分别提供VPN服务和Web等其他常规服务,以及使用不同IP地址时如何书写iptables规则的内容. 写在前面 在Godaddy一美元COM域名的怂恿下,这几天先是拿到了这个gnailuy.com,然

Linux下搭建VPN服务器(CentOS、pptp)转

先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GRE: read(fd=6,buffer=8059680,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check

转载-Linux下搭建VPN服务器(CentOS、pptp)

转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GRE: read(fd=6,buffer=8059680,len=8196) from PTY failed: status = -1 error

linux下搭建tomcat服务

从上节我们知道了tomcat并且由他引申出了java虚拟机JDK,今天我们来详细了解下,并学习搭建这个java服务. 我说下我对这个服务的看法,这个服务在实际生产中金融公司运用的比较多,为什么呢? Tomcat是Apache 软件基金会(Apache SoftwareFoundation)的Jakarta 项目中的一个核心项目,由Apache.Sun 和其他一些公司及个人共同开发而成.因为Tomcat 技术先进.性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为