一、VPN的基本理论
1.VPN的基本原理
①:专用网络
作用:在两个网络(例如北京和广州之间架设一条专用线路,虽然没有亲自铺设,但是需要电信运营商申请租用专线,在这条专线上只传输自己的信息,所以安全稳定,但是同时价格高昂
②:VPN(Virtual Private Network)
VPN:虚拟专线网络;虚拟私有网络,又称虚拟专用网络,用在不安全的线路上安全的传输数据。
点对点传输
VPN加密认证:CA证书、VPN服务器证书、VPN客户机证书、
原理详解:
实现报文二次封装
VPN报文封装时,把数据载荷和源:私网IP、目标:私网ip 的报文当做一个整体,进行封装(数据载荷、源IP:出口路由器对外声称的公网地址、目标IP:VPN公网接口);实际封装更加复杂,走VPN隧道,还要进行网口封装,因为隧道口都会有对应的IP地址,而且他们属于同一网段(TCP:在整体数据载荷之后进行一个TCP封装,其前面还会封装一个隧道接口IP)
收报文:VPN有一个tun口,已经注册了IP地址
③VPN和NAT的区别
VPN可以实现点对点通信;而NAT实现地址转换,间接通信,效率比较低。
④VPN和VPS区别
本质区别:协议和报文封装不一样
VPS:走纯正向代理,相对稳定
VPN:必须封装额外的iP头部,点对点通信,走隧道协议,线路更多;也可以实现后端代理的功能,只不过不是其主要功能
⑤VPN的实现方式
基于设备形式:网络设备的VPN,服务器的VPN
基于技术形式:IPSEC ,GRE VPN
IPSEC:拉专线,很安全,但价格昂贵
GRE:运营商配置,但不安全
服务器的VPN:软件Openvpn,可以做加密认证(CA证书、客户端证书、VPN证书)
⑥VPN和windows远程桌面3389的联系:
由于是私网地址,要基于VPN穿透进来,要连远程桌面要基于3389,3389是应用层,VPN是位于传输层和应用层,基于1194端口,VPN是一个组合协议,当封装好报文后走1194端口,但最终要做远程桌面,还是要基于3389
二、GRE-VPN的实现
原理:
1.首先配置设备IP地址,这就打通了局域网
2.其次配置路由器接口,然后配置静态路由,打通公网
3.做专线,一般路由器都支持VPN,在左右端路由器,配置VPN-GRE,核心代码见下文
4.然后打通vpn最后一步,需要配置虚拟网络的静态路由
5.测试通信
核心代码:
#GRE的重要配置
R-1(config)#int tunnel 1 // 打开隧道模式,1为进程号
R-1(config-if)#ip add 192.168.50.100 255.255.255.0 //虚拟接口ip,可以任意写
R-1(config-if)#tunnel source g0/1 //R-1实际对外接口
R-1(config-if)#tunnel destination 200.200.201.254 //目标地址是R-3隧道实际公网接口
R-1隧道设置完成
#打通虚拟网络最后一步,配置虚拟静态路由
R-1(config)#ip route 192.168.20.0 255.255.255.0 192.168.100.101
R-3(config)#ip route 192.168.10.0 255.255.255.0 192.168.100.100
三、Openvpn的实现
1.Openvpn简介
OpenVPN 是一个基于 OpenSSL 库的应用层 VPN 实现。和传统 VPN 相比,它的优点是简单易用。
OpenVPN允许参与建立VPN的单点使用共享金钥,电子证书,或者用户名/密码来进行身份验证。它大量使用了OpenSSL加密库中的SSLv3/TLSv1 协议函式库。OpenVPN能在Solaris、Linux、OpenBSD、FreeBSD、NetBSD、Mac OS X与Windows 2000/XP/Vista上运行,并包含了许多安全性的功能。它并不是一个基于Web的VPN软件,也不与IPsec及其他VPN软件包兼容。
OpenVPN2.0后引入了用户名/口令组合的身份验证方式,它可以省略客户端证书,但是仍有一份服务器证书需要被用作加密。 OpenVPN所有的通信都基于一个单一的IP端口, 默认且推荐使用UDP协议通讯,同时TCP也被支持。OpenVPN连接能通过大多数的代理服务器,并且能够在NAT的环境中很好地工作。服务端具有向客 户端“推送”某些网络配置信息的功能,这些信息包括:IP地址、路由设置等。OpenVPN提供了两种虚拟网络接口:通用Tun/Tap驱动,通过它们, 可以建立三层IP隧道,或者虚拟二层以太网,后者可以传送任何类型的二层以太网络数据。传送的数据可通过LZO算法压缩。在选择协议时候,需要注意2个加密隧道之间的网络状况,如有高延迟或者丢包较多的情况下,请选择TCP协议作为底层协议,UDP协议由于存在无连接和重传机制,导致要隧道上层的协议进行重传,效率非常低下。
2.实验基本思路
1.先在阿里云内买一台带公网的ECS服务器作为VPN, 同时配置交换机,再买台内网ECS服务器作为服务端
2.做出专线网络VPC,配置安全组(在公有云内部的防火墙),添加1194端口
3.将VPN服务器当作CA方和VPN服务方
CA根证书,VPN服务器证书,客户端证书
4.配置VPN,生成日志目录,开启核心路由转发功能,打通隧道网段和私网网段
5.对VPN服务器设置SNAT,IP不固定使用MASQUERADE策略
6.配置客户端配置文件和打包CA证书
7.vpn拨号验证
3.VPC:虚拟专线网络
虚拟私有云VPC核心就是能让你购买的一台或多台机器(或其它资源),能划分到一个私网中,与其它用户隔离,也可以把自己的多台资源的机器隔离
专线网络VPC的特点:
1 安全隔离:VPC之间逻辑上相互隔离;
2 灵活:自主网络规划;
3 易扩展:NAT网关管理公网出入;
4 完全免费:阿里云专有网络;