V** 概述
V** 定义
V** :Virtual Private Network 虚拟专用网络=虚拟专网
V** 有什么好处?
专线:价格高,安全、稳定、高效! V** :V** 是一种技术,可以实现2家公司之间在不安全的链路上安全的传递信息!好像专网!
目前互联网的现状
V** 通过建立V** 隧道,建立“保护”网络实体之间的通信!
V** 怎么做到的安全通信?
V** 采用了PKI技术 V** 也实现了信息安全三要素:
- 机密性:使用加密技术防止数据被窃听
- 完整性:数据完整性验证防止数据被破坏、篡改
- 身份验证/不可否认性:通过认证机制确认身份,防止被伪装,数据被截获、回放
V** 实现了什么?
V** 实现了安全三/四要素: 1)机密性· 2)完整性 3)身份验证 4)不可否认性
V** 的工作模式
通过学习工作模式,除了了解V** 的安全好处外,还能够发现V** 的另外一个好处! V** 的工作模式有2种:传输模式 和 隧道模式 隧道模式:将整个私有IP包全部加密,并重新封装新的公网IP包头!
V** 的类型
类型一、远程访问V** 场景:出差员工或在家办公人员与公司建立V** 隧道 技术:SSL V** 、PPTP V** 、L2TP V** 、SSTP V** 等等
类型二、点到点V** 场景:两家分公司/两个实体楼宇之间的V** 隧道 代表技术:IPsecV** 、GRE V** 、MPLS V**
V** 加密技术
对称加密算法 DES 3DES AES
算法:说白了就是数学公式!如:x 5=y x就是明文数据 y是加密之后的数据(密文) 5是密钥 对称加密算法:加密和解密使用同一个密钥(对称密钥) 常见的对称加密算法:DES、3DES、AES 对称密钥:通信双方协商而成,协商过程是明文传输,容易被窃取! **对称加密算法的致命缺点:对称密钥容易丢失! 对称加密算法的优点:加密速度快!**
非对称加密算法 RSA ECC DH
非对称加密算法:双方加密和解密用的不是同一把钥匙! 密钥:需要2把钥匙:公钥和私钥 公钥 私钥如何产生的?不是双方协商而成,而是各自独立生成!一般都是成对生成! 一对公钥和私钥的关系:公钥和私钥互为加解密关系!公钥加密,私钥解密!私钥加密,公钥解密! 公钥公开,私钥不公开! 常见的非对称加密算法:RSA、DH(迪菲.赫尔曼) 公钥和私钥不能互推! 机密性:使用对方的公钥加密! 数字签名/身份验证:用自己的私钥加密实现签名! **非对称加密算法优点:安全! 非对称加密算法缺点:速度慢,效率低!** 对称 非对称结合
完整性算法
常见的完整性算法:MD5、SHA-1、SHA-256 完整性加密算法是不可逆的!而且加密后的数据一般为N个字节! 完整性算法加密后的值:一般称为hash值/哈希值
IPsecV** 原理
建立IPSec V** 连接需要3个步骤
- 定义流量触发IPSec (不能算是正式得步骤)
- 建立管理连接
- 建立数据连接 问:IPsecV** 得原理 答:IPsecV** 一般由2个阶段构成 定义流量触发IPSecV** : 北京内部:192.168.1.0/24 上海分公司内部:172.16.1.0/24 阶段一:管理连接 双方使用非对称加密算法,安全的同步对称算法的对称密钥! 阶段二:数据连接 https领域常用的非对称加密算法:RSA,ECC RSA1024=ECC160 RSA2048=ECC256 V** 领域常用的非对称加密算法:DH 对称 非对称结合:使用非对称加密算法来加密对称算法使用的对称密钥! IPsecV** 就采用了这个过程!!!! IPsecV** 采用的非对称加密算法是DH 使用阶段一留下来的对称密钥,使用对称加密算法 hash算法(HMAC技术)来传输实际的用户数据! HMAC完成身份验证 完整性(识别码) 疑问!信息安全需要达到3要素:机密性、完整性、身份验证
IPsecV** 的配置与命令
-----------IPsecV** 是在外网端口上实现的!!------------- 定义V** 触发流量:
代码语言:javascript复制conf t
acc 101 permit ip 192.168.1.0 0.0.0.255 172.168.1.0 0.0.0.255
阶段一:管理连接
代码语言:javascript复制conf t
crypto isakmp policy 1 # 创建密钥交换策略集 集名为1
encryption des/3des/aes # 设置对称算法,(双方必须一致)
hash md5/sha # 设置完整性算法,(双方必须一致)
group 1/2/5 # 设置DH算法及DH算法公私钥的长度,1/2/5代表公钥的长度
authentication pre-share # 设置身份验证为预共享验证!(双方必须一致)
exit
crypto isakmp key 预共享密码 address 对方的公网IP地址
阶段二:数据连接
代码语言:javascript复制crypto ipsec transform-set 加密模式名 esp-des/3des/aes esp-md5/sha-hmac(双方必须一致)
定义map表(映射表):
代码语言:javascript复制crypto map map表名 1 ipsec-isakmp
set peer 对方的公网IP地址
match address 101
set transform-set 加密模式名
exit
使IPsecV** 生效!也就是将map表应用到外网端口上!
代码语言:javascript复制int f0/1(注意f0/1必须是外网端口)
crypto map map表名 # 一个接口上,只能应用一张map表
exit
查看阶段一的状态
代码语言:javascript复制show crypto isakmp sa
查看阶段二的状态
代码语言:javascript复制show crypto isakmp sa
V** 与NAT共存
数据包从内网--外网,先过PAT,再过V** 解决方法:需要再PAT中豁免掉V** 的流量 假设192-172是需要走V** 的流量,则再PAT地址池中如下豁免!
代码语言:javascript复制int f0/0
ip nat inside #指定为内部nat端口
int f0/1
ip nat outside #指定为外部nat端口
exit
acc 130 deny ip 192.168.1.0 0.0.0.255 172.16.1.0 0.0.0.255
acc 130 permit ip any any
ip nat inside source list 130 int f0/1 overload