一、VPN服务器环境说明

操作系统:CentOS release 6.4 (Final)

本地网卡:

复制代码

代码如下:

# ifconfig 
em1 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:68 
inet addr:192.168.123.201 Bcast:192.168.123.255 Mask:255.255.255.0 
em2 Link encap:Ethernet HWaddr 78:2B:CB:42:C3:6A 
inet addr:10.100.100.201 Bcast:10.100.100.255 Mask:255.255.255.0 

说明:本地网卡em1负责连接vpn客户端,em2负责与10.100.100.0网段服务器的连接。

本实验目的:

(1)vpn客户端能够成功的连接到vpn服务器上;

(2)vpn服务器可以转发来自vpn客户端对10.100.100.0网段的请求。

二、安装VPN服务器包

使用yum安装ppp和pptp包

复制代码

代码如下:

yum -y install ppp* 
yum -y install pptp* 
如果yum不具备pptp,可到 <a href="http://pptpclient.sourceforge.net">http://pptpclient.sourceforge.net</a> 下载安装,这里建议选用rpm包。

三、 配置VPN服务器

1. 编辑/etc/pptpd.conf文件,找到“locapip”和“remoteip”这两个配置项,将前面#去掉。将后面的IP地址更改为自己需要IP

locapip表示VPN服务器自己的本地IP地址;

remoteip表示VPN客户端连到服务器上将会被分配的IP地址范围。

复制代码

代码如下:

# vi /etc/pptpd.conf 
ppp /usr/sbin/pppd 
option /etc/ppp/options.pptpd 
#logwtmp 
localip 192.168.123.201 
remoteip 192.168.0.234-238,192.168.0.245 

2. 再编辑文件/etc/ppp/options.pptpd,在末尾添加DNS地址

复制代码

代码如下:

# vi /etc/ppp/options.pptpd 
ms-dns 202.106.196.115 
ms-dns 192.168.123.5 

保存退出文件。

3. 添加VPN客户端帐号和口令

复制代码

代码如下:

# vi /etc/ppp/chap-secrets 
# Secrets for authentication using CHAP 
# client server secret IP addresses 
shen pptpd 123456 * 

这里,我们创建了一个vpn用户:shen,口令:123456。一个帐号一行,可以添加多个帐号。

4. 启动VPN服务器

复制代码

代码如下:

# /etc/init.d/pptpd restart 

至此VPN服务器搭建完成了,但实际环境中还需要给VNP服务器增加路由功能

四、配置VPN服务器的路由转发功能

1. 修改内核文件,使系统支持转发

复制代码

代码如下:

#vi /etc/sysctl.conf 

将net.ipv4.ip_forward = 0中的0改为1就OK了。

然后执行下列命令,使其生效:

复制代码

代码如下:

#sysctl –p 

2. 配置防火墙增加转发规则

复制代码

代码如下:

#iptables -t nat -A POSTROUTING -s 192.168.123.0/24 -o eth0 -j MASQUERADE 

说明:来自192.168.123.0网段的访问流经eth0网卡做转发

五、FAQ

1. /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服务。

复制代码

代码如下:

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

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

相关链接

http://www.jb51.net/os/RedHat/128137.html

http://www.bitbottle.com/archives/132.html/2

http://bbs.51cto.com/thread-708223-1.html

VPN服务器环境搭建的更多相关文章

  1. LNAMP服务器环境搭建(手动编译安装)

    LNAMP服务器环境搭建(手动编译安装) 一.准备材料 阿里云主机一台,操作系统CentOS 6.5 64位 lnamp.zip包(包含搭建环境所需要的所有软件) http://123.56.144. ...

  2. 分布式搜索ElasticSearch单机与服务器环境搭建

    从上方插件官网中下载适合的dist包,然后解压.进入bin目录,可以看到一堆sh脚本.在bin目录下创建一个test.sh: bin=/home/csonezp/Dev/elasticsearch-j ...

  3. CentOS下Web服务器环境搭建LNMP一键安装包

    CentOS下Web服务器环境搭建LNMP一键安装包 时间:2014-09-04 00:50来源:osyunwei.com 作者:osyunwei.com 举报 点击:3797次 最新版本:lnmp- ...

  4. 服务器环境搭建系列(四)-mysql篇

    1.按照上一篇服务器环境搭建系列(三)-JDK篇中的方法检查系统是否已经预装Mysql并卸载. 2.下载mysql,这里是MySQL-server-5.5.25-1.linux2.6.x86_64.r ...

  5. python服务器环境搭建(1)——本地服务器准备

    去年十月底到新公司上班,由于公司旧系统存在各种问题同时不便于扩展,而公司领导对17年寄予很大的期望,用户量.收入要上一个新台阶,我经过全面评估后,决定全部用python重构过,开发一个基于微服务架构的 ...

  6. python服务器环境搭建(2)——安装相关软件

    在上一篇我们在本地的虚拟服务器上安装好CentOS7后,我们的python web服务.自定义的python service或python脚本需要在服务器上运行,还需要在服务器安装各种相关的软件才行, ...

  7. (一)windows7下solr7.1.0默认jetty服务器环境搭建

    windows7下solr7.1.0默认jetty服务器环境搭建 1.下载solr solr7官网地址:http://lucene.apache.org/solr/ jdk8官网地址:http://w ...

  8. 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装

    阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...

  9. python服务器环境搭建Flask,uwsgi和nginx

    python服务器环境搭建Flask,uwsgi和nginx 环境配置 服务器配置  [部署系统环境Ubuntu] 使用python的Flask框架搭建好网页后台后,便要开始将网站部署到服务器平台了. ...

随机推荐

  1. jquery 展开折叠效果

    仅供参考  图片 jquery.js 自己处理 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"& ...

  2. Oracle11完全卸载方法 deinstall.bat如何用以及如何删除oracle注册表

    转自:http://blog.sina.com.cn/s/blog_68fe7e15010100an.html 之前因为不知道偶电脑是因为安装了oracle后,才导致的长达两周的开机速度要足足10分钟 ...

  3. php中count获取多维数组长度的方法

    转自:http://www.jb51.net/article/57021.htm 本文实例讲述了php中count获取多维数组长度的实现方法.分享给大家供大家参考.具体分析如下: 先来看看下面程序运行 ...

  4. MySQL命令行查询乱码解决方法:

    MySQL会出现中文乱码的原因不外乎下列几点:1.server本身设定问题,例如还停留在latin1 2.table的语系设定问题(包含character与collation) 3.客户端程式(例如p ...

  5. 枚举GC Roots的实现

    枚举根节点 从可达性分析中从GC Roots节点找引用链这个操作为例,可作为GC Roots的节点主要在全局性的引用(例如常量或类静态属性)与执行上下文(例如栈帧中的本地变量表)中,现在很多应用仅仅方 ...

  6. BZOJ4377 : [POI2015]Kurs szybkiego czytania

    因为$a$与$n$互质,所以对于$0$到$n-1$里每个$i$,$ai\bmod n$的值互不相同. 设匹配成功的起点为$i$,那么可以得到$3m$段$ai\bmod n$的值不能取的禁区,每段都是连 ...

  7. Hook to function

    myFun.h 1: #include <stdio.h> 2:  3: void __cyg_profile_func_enter(void *this_fn, void *call_s ...

  8. Html5的DeviceOrientation特性

    设备定位API 引用W3C中的设备定位API的规范描述可知,该API“……定义了多种新型DOM事件,旨在提供与主机设备相关的物理朝向与运动状态信息.”由API提供的数据产生自多种来源,其中包括设备上的 ...

  9. Html - 圆圈border

    很多场景下需要对元素加入圆圈.但光靠border-radius其实还要调很久,所以做一下笔记 #binggan .mui-icon { display: inline-block; margin: 3 ...

  10. post可以直接把get请求代入到目标url中

    Feigong --非攻 非攻 取自<秦时明月>--非攻,针对不同情况自由变化的武器 Feigong,针对各种情况自由变化的mysql注入脚本 Feigong,In view of the ...