搭建VPN服务器之PPTP

前言
了解一下隧道技术:
隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。
目前VPN隧道协议有4种:点到点隧道协议PPTP、第二层隧道协议L2TP、网络层隧道协议IPSec以及SOCKS v5,我们这里只介绍点到点隧道协议PPTP。
一、pptp原理
PPTP使用一个TCP连接对隧道进行维护,使用通用路由封装(GRE)技术把数据封装成PPP数据桢通过隧道传送。可以对封装PPP桢中的负载数据进行加密或压缩。
下边简单描述PPTP 过程中涉及的封装和解封步骤。
封装
1.数据封装于IP(或IPX和NetBEUI)封包中。
2.该IP(或IPX和NetBEUI)封包封装在PPP帧中。
3.该PPP 帧封装在GRE 帧中(并加密)。
4.该GRE 帧封装在IP 封包中。
解封
1.移除IP 包头。
2.移除GRE 包头(解密过程)。GRE负载中是一个PPP帧。
3.移除PPP 包头。
4.将该IP(或IPX和NetBEUI)封包路由到其最终的目的地。
MPPE将通过由MS-CHAP、MS-CHAP v2或EAP-TLS身份验证过程所生成的加密密钥对PPP帧进行加密。为对PPP帧中所包含的有效数据进行加密,虚拟专用网络客户端必须使用MS-CHAP、MS-CHAP v2或EAP-TLS身份验证协议。PPTP将利用底层PPP加密功能并直接对原先经过加密的PPP帧进行封装。
PPTP协议将控制包与数据包分开,控制包采用TCP控制,客户端连接到VPN服务器TCP1723端口,用于控制和管理VPN隧道的功能。;数据包部分先封装在PPP协议中,然后封装到GRE V2协议中,最后封装到IP协议中传送。
二、vpn安装
以小企业集群搭建为例在虚拟机上利用centos6.8版本,在一台出外网的管理服务器上搭建pptp服务器。
1、首先在linux服务器上安装pptp。
1.1、开启内核转发功能:(相当于路由功能)
[[email protected] ~]# grep ‘net.ipv4.ip_forward‘ /etc/sysctl.conf
net.ipv4.ip_forward = 0
[[email protected] ~]# sed -i ‘s#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g‘ /etc/sysctl.conf
[[email protected] ~]# grep ‘net.ipv4.ip_forward‘ /etc/sysctl.conf
net.ipv4.ip_forward = 1
[[email protected] ~]# sysctl -p
1.2、安装pptp
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install  pptpd  –y
1.3、配置pptp
vim /etc/pptpd.conf  #文件最后直接加入如下:
localip 10.0.0.61   #安装服务的服务器外网ip地
remoteip 172.16.1.100-120  #集群内局域网的内网ip地址段
1.4、vim /etc/ppp/options.pptpd  #添加DNS地址,
ms-dns 233.5.5.5   (阿里DNS)
1.5、添加用户
vim /etc/ppp/chap-secrets #设置本地客户端vpn连接的用户和密码
vpnserver  * 123456 *
1.6、启动
/etc/init.d/pptpd start
并且加入开机自启动中!
三、本地客户端vpn连接
在本地网络标志打开网络共享和中心-->更改网络设置-->设置新的新的连接和网路-->连接工作区下一步--->使用我的in特net连接VPN,然后输入服务端设置的用户和密码,连接即可。
连接后发现本地不能上网了,通过百度查到由于服务端vpn上网会利用本地的默认网关导致本地不能上网。
解决办法:将本地网络连接中vpn图标右击找到默认连接远程网关沟去掉就ok了,

四、报错
偶然发现message日志一直在报错:
kernel: ppp: compressor droppedpkt
1、解决问题
原因:
因为pptp不兼容windows的客户端造成的。Windows客户端mtu值为1400以上,Linux pptp服务器默认mtu为1396。
2、解决步骤如下
2.1、尝试手动配置mtu值。
# ifconfig ppp0 mtu 1400
改完确实解决了暂时性问题,但是重启后依然会恢复到1396。
2.2、查看配置文件
# cat /etc/ppp/ip-up
从配置文件中得知pptp启动脚本中支持ip-up.local名字的脚本。所以编写自动配置mtu值的脚本。启服务时会自动运行该脚本。即可解决该问题。
脚本内容如下:
vim /etc/ppp/ip-up.local
#!/bin/sh
CURRENT_MTU="`ifconfig $1 | grep -Po ‘(?<=MTU:)([0-9]+)‘ | tail -1`"
FIXED_MTU="`expr $CURRENT_MTU + 4`"
for network in `ifconfig | grep -E "ppp0|ppp1" | awk ‘{print $1}‘`
do
  ifconfig $network mtu $FIXED_MTU
done
将脚本放置在/etc/ppp/目录中,命名为ip-up.local,最后给权限
# chmod +x ip-up.local

时间: 2024-08-02 06:59:55

搭建VPN服务器之PPTP的相关文章

搭建VPN服务器之PPTP远程连接

1.查看系统是否支持PPP [[email protected] ~]# cat /dev/ppp cat: /dev/ppp: 没有那个设备或地址 如果出现以上提示则说明ppp是开启的,可以正常架设pptp服务,若出现Permission denied等其他提示,你需要先去VPS面板里看看有没有enable ppp的功能开关,如果没有则需要发个消息给你的提供商,让他们帮你开通,否则就不必要看下去了,100%无法成功配置PPTP. 2.设置内核转发 [[email protected] ~]# 

搭建VPN服务之pptp

pptp的特点: 优点:配置简单.易用.速度快 缺点:安全性,稳定性不如其他的VPN产品(OpenVPN,L2TP).受网络的影响较大. 配置VPN服务之pptp 1.查看设备是否支持pptp [[email protected] ~]# cat /dev/ppp  cat: /dev/ppp: 没有那个设备或地址 则表示支持pptp,大部分的linux系统都支持 2.下载安装pptp 更改epel源: [[email protected] ~]# wget -O /etc/yum.repos.

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

转 Windows server 2008 搭建VPN服务

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

Ubuntu14.04下搭建VPN服务

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

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 pr

搭建backup服务器之rsyncdaemon服务模式

deamon方式就是先搭建一个服务器,这个服务器上面跑一个rsync服务,服务就称为deamon(deamon就是实时运行的程序),rsync监听端口是873,然后在客户端上面使用rsync命令,实现和服务器之间推拉动作.(推拉都是在客户端执行rsync命令) 1. 统一版本: [[email protected] ~]# uname -mx86_64[[email protected] ~]# uname -r2.6.32-642.el6.x86_64[[email protected] ~]

计算机网络系列:搭建FTP服务器之第二篇:搭建FTP站点

看本篇博文的时候,默认读者已经度过上一篇博文:已经在服务器上边安装好了IIS服务. 接着上一篇的,我们继续说,既然已经安装好了IIS服务,我们就要开始搭建FTP站点了: 开始-->管理工具-->Internet 信息服务(IIS)管理器,会出现如下所示的界面: 在FTP站点,右键选择"新建-->FTP站点": 然后"下一步" (IP地址为这个虚拟机的IP地址,可以在dos界面通过:ipconfig/all 命令查询. 另外,还需要在虚拟机设置:虚拟

计算机网络系列:搭建FTP服务器之第一篇:安装IIS信息服务

学网络课,那天上机课学到了怎么制作一个FTP服务器,然后就跟着老师做了下,其实很简单,但有一些细节性的稍微麻烦一点,还有一些配置文件需要下载,这里一并都放上来了. 首先,你得准备一个win 2003 server或者win xp的系统,然后用虚拟机把系统跑起来,下边我给两个资源的地址供大家下载(本人用的是win2003server): win 2003 server系统:http://pan.baidu.com/s/1hqvdOLA,(我放在了百度网盘里边) IIS配置工具:http://dow