CenOS下搭建VPN服务
公司生产环境使用的是阿里云主机,采用的是两台nginx主机进行反向代理,现在需要内网一台服务器能够访问公网,所以在nginx服务器上搭建了VPN服务,用于进行内网访问公网。
系统环境:CenOS 6.5
所需软件软件:ppp、pptp
系统拓扑:

服务器端:
1 服务器端安装软件
1.1 首先安装ppp,命令:
[root@kuro ~]#yum install -y ppp*
提示Complete! ,安装成功;
1.2安装pptp,安装命令如下:
[root@kuro ~]#yum install –y pptpd*
2 配置pptp
2.1编辑/etc/pptpd.conf,命令如下
[root@kuro ~]#vi /etc/pptpd.conf
将
#localip 192.168.0.1
#remoteip 192.168.0.234-,192.168.0.245
修改成
localip 192.168.1.10
remoteip 192.168.1.234-,192.168.1.245
即将这两行第一个字符“#”去掉,保存退出
localip填写VPN服务器本地内网ip
remoteip填写的是要分配给VPN客户端的地址池
2.2编辑/etc/ppp/options.pptpd,命令如下
[root@kuro ~]#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的用户名和密码
命令:
[root@kuro ~]#vi /etc/ppp/chap-secrets
打开后只有两行,而且一个账号都没有
# Secrets for authentication using CHAP
# client server secret IP addresses
根据您的需要添加账号,每行一个。按照:“用户名 pptpd 密码 ip地址”的格式输入,每一项之间用空格分开,
例如:
kuro pptpd * *表示所有IP test pptpd 192.168.1.234 还可以指定静态ip(192.168.1.234),表示使用test账号登录的用户就分配指定的静态ip(192.168.1.234)给客户端
保存并退出。
3 修改内核设置,使其支持转发
命令:
[root@kuro ~]#vi /etc/sysctl.conf
将net.ipv4.ip_forward=
改成net.ipv4.ip_forward=
将net.ipv4.tcp_syncookies=
改成 #net.ipv4.tcp_syncookies=
保存并退出
执行以下命令使修改后的内核生效
[root@kuro ~]#sysctl -p
4 添加iptables转发规则
iptables -t nat -A POSTROUTING -s 192.168.1.0/ -o eth1 -jMASQUERADE
(注意:由于阿里云是双网卡,内网eth0,外网eth1,所以这块特别容易误写为eth0,这也是为什么很多杂乱的教程无法配置成功的原因之一)
添加好转发规则后保存一下并重启iptables
[root@kuro ~]#/etc/init.d/iptables save
[root@kuro ~]#/etc/init.d/iptablesrestart
5 重启pptp服务
[root@kuro ~]#/etc/init.d/pptpd restart
这里要注意一下,其实此时pptp还没运行起来。所以使用restart重启,会显示Shutting down pptp [FAILED]。还会有一个警告,可以忽略。如不放心可以再用以上命令重启一下pptp就非常顺利的运行了。
6 设置pptp和iptables随系统启动
[root@kuro ~]#chkconfig pptpd on
[root@kuro ~]#chkconfig iptables on
至此,pptp服务端安装结束。
7 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- 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
CenOS下搭建VPN服务的更多相关文章
- Ubuntu14.04下搭建VPN服务 -pptp
在Ubantu下采用PPTP搭建VPN,优点是配置简单快捷.本教程亲自测试,熟练了在新机器上5分钟搞定VPN. - - - - - - - - - - - - - - - - - - - - - - ...
- CenOS下搭建PPTP服务
公司生产环境使用的是阿里云主机,采用的是两台nginx主机进行反向代理,现在需要内网一台服务器能够访问公网,所以在nginx服务器上搭建了VPN服务,用于进行内网访问公网. 系统环境:CenOS 6. ...
- Ubuntu14.04下搭建VPN服务
直接上步骤: 1.第一步需要安装PPTP,以用来提供VPN服务. sudo apt-get install pptpd 如果有问题的话比如提示找不到之类的,apt-get update 一下应该就可以 ...
- 搭建VPN服务器之PPTP
搭建VPN服务器之PPTP 1. 查看系统是否支持PPP 一般自己的系统支持,VPS需要验证. [root@oldboyedu ~]# cat /dev/ppp cat: /dev/ppp: No s ...
- 如何在Windows Server 2008 R2下搭建FTP服务
在Windows Server 2008 R2下搭建FTP服务,供客户端读取和上传文件 百度经验:jingyan.baidu.com 工具/原料 Windows Server 2008 R2 百度经验 ...
- Linux下搭建VPN服务器(CentOS、pptp)转
先说我搭建过程中出现的问题吧: 按照 教程搭建好之后出现了619错误,查看日志:/var/log/messages: Nov 20 09:46:20 localhost pptpd[7498]: GR ...
- 转载-Linux下搭建VPN服务器(CentOS、pptp)
转自:http://www.cnblogs.com/sixiweb/archive/2012/11/20/2778732.html 搭建过程参考这篇文章 先说我搭建过程中出现的问题吧: 按照 教程搭建 ...
- 转 Windows server 2008 搭建VPN服务
VPN英文全称是“Virtual Private Network”,就是“虚拟专用网络”. 虚拟专用网络就是一种虚拟出来的企业内部专用线路.这条隧道可以对数据进行几倍加密达到安全使用互联网的目的. ...
- Linux下搭建ftp服务
Linux下ftp服务可以通过搭建vsftpd服务来实现,以CentOS为例,首先查看系统中是否安装了vsftpd,可以通过执行命令 rpm -qa | grep vsftpd 来查看是否安装相应的包 ...
随机推荐
- How to adjust OOM score for a process?
转载自http://www.dbasquare.com/kb/how-to-adjust-oom-score-for-a-process/ How to adjust OOM score for a ...
- c#部分---需要实例化的内容;
需要初始化的: 随机数类:初始化 实例化//不允许将初始化的语句放置在循环中//Random ran = new Random(); 时间值类:/初始化 实例化//DateTime dt = new ...
- URAL 1080 Map Coloring(染色)
Map Coloring Time limit: 1.0 secondMemory limit: 64 MB We consider a geographical map with N countri ...
- Java 操作Excel 之Poi(第一讲)
1.Poi 简介 Apache POI是Apache软件基金会的开放源码函式库,POI提供API给Java程序对Microsoft Office格式档案读和写的功能.HSSF - 提供读写Micros ...
- java .net compartion
1, http://www-01.ibm.com/software/smb/na/J2EE_vs_NET_History_and_Comparison.pdf http://stackoverflow ...
- java linux book
calvin1978.blogcn.com/articles/javabookshelf.html
- 最大化 AIX 上的 Java 性能,第 2 部分: 速度需求
http://www.ibm.com/developerworks/cn/aix/library/es-Javaperf/es-Javaperf2.html 最大化 AIX 上的 Java 性能,第 ...
- 怎么用ABBYY将PDF转换为JPEG图像
FineReader Mac版,全称ABBYY FineReader Pro for Mac,是一款流行的OCR图文识别软件,可快速方便地将扫描纸质文档.PDF文件和数码相机的图像转换成可编辑.可搜索 ...
- IIS管理器的快捷方式在哪里?
两种重新创建IIS快捷方式的方法,希望对大家有所帮助 1.首先需要明白它本来就是个快捷方式,所以可以重新创建一个新的快捷方式:右击桌面>>新建>>快捷方式.弹出创建快捷方式向导 ...
- Iaas-cloudstack
http://cloudstack.apt-get.eu/systemvm/4.6/ 模板地址 http://cloudstack.apt-get.eu/centos7/4.6/ 代理及管理地址 ht ...