前言
了解一下隧道技术:
隧道技术的基本过程是在源局域网与公网的接口处将数据(可以是ISO 七层模型中的数据链路层或网络层数据)作为负载封装在一种可以在公网上传输的数据格式中,在目的局域网与公网的接口处将数据解封装,取出负载。被封装的数据包在互联网上传递时所经过的逻辑路径被称为“隧道”。
目前×××隧道协议有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控制,客户端连接到×××服务器TCP1723端口,用于控制和管理×××隧道的功能。;数据包部分先封装在PPP协议中,然后封装到GRE V2协议中,最后封装到IP协议中传送。
二、***安装
以小企业集群搭建为例在虚拟机上利用centos6.7版本,在一台出外网的管理服务器上搭建pptp服务器。
1、首先在linux服务器上安装pptp。
a.开启内核转发功能:(相当于路由功能)
[root@lb02 yum.repos.d]# grep 'net.ipv4.ip_forward' /etc/sysctl.conf
net.ipv4.ip_forward = 0
[root@lb02 yum.repos.d]# sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf
[root@lb02 yum.repos.d]# grep 'net.ipv4.ip_forward' /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@lb02 yum.repos.d]# sysctl -p
b.安装pptp
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-6.repo
yum install pptpd –y
c.配置pptp
vim /etc/pptpd.conf #文件最后直接加入如下:
localip 10.0.0.61 #安装服务的服务器外网ip地址
remoteip 172.16.1.100-120 #集群内局域网的内网ip地址段
d.vim /etc/ppp/options.pptpd #添加DNS地址,
ms-dns 180.76.76.76 (百度DNS)
e.添加用户
vim /etc/ppp/chap-secrets #设置本地客户端***连接的用户和密码
oldboy * 111111 *
f.启动
/etc/init.d/pptpd start
并且加入开机自启动中!
二、本地客户端***连接
在本地网络标志打开网络共享和中心--》更改网络设置--》设置新的新的连接和网路--》连接工作区下一步---》使用我的in特net连接×××,然后输入服务端设置的用户和密码,连接即可。
连接后发现本地不能上网了,通过百度查到由于服务端***上网会利用本地的默认网关导致本地不能上网。
解决办法:将本地网络连接中***图标右击找到默认连接远程网关沟去掉就ok了,具体见http://blog.sina.com.cn/s/blog_4015bf1c0100kj93.html
转载于:https://blog.51cto.com/runningyongboy/1719715