vpn的背景
在vpn出现之前,传统互联网存在被窃取(安全性)恶意篡改(完整性)的风险。部署网络专线又十分昂贵,所有产生了vpn技术
vpn的概述
虚拟专用网络
可以和多种技术混合从而工作在网络的不同层次上。
vpn建立的前提必须是底层网络能够相互通信
安全三要素
身份认证保证了对方身份的安全性
数据加密保证了传输数据的机密性
数据验证保证了数据完整性与真伪性
加密方法
对称加密:加密和解密使用相同的密钥进行
优点:速度快
缺点:安全性低
非对称加密:双方将之间的公钥发给对方,各自使用对方的公钥对数据进行加密,不能通过公钥推导出私钥
优点:安全性高
缺点:速度慢
使用对称性密钥加密数据,用非对称性密钥加密对称性密钥:结合了对称加密和非对称加密的优点,确保数据传输的高效性和安全性。
完整性算法
MD5和SHA都是散列算法不是加密算法
阶段 1: 发送端处理
-
生成数字指纹:
- 发送端对原始数据进行散列计算,得到数字指纹(哈希值)。
-
生成数字签名:
- 使用发送端的私钥对数字指纹进行加密,生成数字签名。
-
加密数据:
- 使用接收端的公钥对原始数据(或共享密钥)进行加密,生成密文。
-
发送数据:
- 将密文和数字签名一起发送给接收端。
阶段 2: 接收端处理
-
解密密文:
- 接收端使用自己的私钥对密文进行解密,恢复出原始数据。
-
验证数字签名:
- 使用发送端的公钥对收到的数字签名进行解密,得到发送端计算的数字指纹。
-
生成接收端数字指纹:
- 对解密得到的原始数据进行散列计算,生成接收端自己的数字指纹。
-
对比指纹:
- 比较接收端生成的数字指纹和用公钥解密得到的数字指纹
gre
通用路由封装
特点:
万能vpn可以和别的vpn连用
本身不提供加密,认证,完整性保护功能
gre的工作原理
1. 路由器A收到从group1接口的数据包交给x协议处理
2. x协议通过报文的目的地址确定是否如何路由该报文
3. 如果需要经过tunnel则将该报文转发至tunnel
4.经过gre封装,在封装IP报文头后,设备根据此IP包的目的地址及路由表对报文进行转发,从相应的网络接口发送出去
5.路由器B收到tunnei的报文就检查目的地址
6.如果目的地址是本路由器则交给gre协议处理(进行检验密钥、检查校验和及报文的序列号等)
7.剥离gre头部,通过x协议经行封装
X协议"指的是在路由器上负责处理报文和确定路由的协议
实验配置
底层架构网络
1完成底层的网络配置
[AR1]ospf 1 router-id 1.1.1.1
[AR1-ospf-1]ar 0
[AR1-ospf-1-area-0.0.0.0]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 192.168.1.254 24
[AR1-GigabitEthernet0/0/0]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 10.1.12.1 24
[AR1-GigabitEthernet0/0/1]ospf enable 1 ar 0
[AR1-GigabitEthernet0/0/1]int loopback 0
[AR1-LoopBack0]ip add 1.1.1.1 32
[AR1-LoopBack0]ospf enable 1 ar 0
[AR2]ospf 1 router-id 2.2.2.2
[AR2-ospf-1]ar 0
[AR2-ospf-1-area-0.0.0.0]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 10.1.12.2 24
[AR2-GigabitEthernet0/0/0]ospf enable 1 ar 0
[AR2-GigabitEthernet0/0/0]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 10.1.23.1 24
[AR2-GigabitEthernet0/0/1]ospf enable 1 ar 0
[AR3]ospf 1 router-id 3.3.3.3
[AR3-ospf-1]ar 0
[AR3-ospf-1-area-0.0.0.0]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 10.1.23.2 24
[AR3-GigabitEthernet0/0/0]ospf enable 1 ar 0
[AR3-GigabitEthernet0/0/0]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 10.1.34.1 24
[AR3-GigabitEthernet0/0/1]ospf enable 1 ar 0
[AR4]ospf 1 router-id 4.4.4.4
[AR4-ospf-1]ar 0
[AR4-ospf-1-area-0.0.0.0]
[AR4-ospf-1-area-0.0.0.0]int g0/0/1
[AR4-GigabitEthernet0/0/1]ip add 172.16.1.254 24
[AR4-GigabitEthernet0/0/1]int g0/0/0
[AR4-GigabitEthernet0/0/0]ip add 10.1.34.2 24
[AR4-GigabitEthernet0/0/0]ospf enable 1 ar 0
[AR4-GigabitEthernet0/0/0]int loopback 0
[AR4-LoopBack0]ip add 4.4.4.4 32
[AR4-LoopBack0]ospf enable 1 ar 0
AR1和AR4连接私网的地址不加入ospf进程中
用1.1.1.1ping4.4.4.4成功,ospf建立成功
逻辑架构网络
1创建虚拟连接接口
[AR1]int Tunnel 0/0/1
2设置隧道封装类型
[AR1-Tunnel0/0/1]tunnel-protocol gre
3设置隧道之间的ip地址
[AR1-Tunnel0/0/1]ip address 10.1.14.1 24
4设置隧道的源节点和目标节点
[AR1-Tunnel0/0/1]source 1.1.1.1(新ip地址)
[AR1-Tunnel0/0/1]destination 4.4.4.4(新ip地址)
源节点可以是接口或ip地址,目标节点一定是ip地址。
5设置隧道的密码认证
[AR1-Tunnel0/0/1]gre key 123
6将业务流量导入隧道口转发
[AR1]ip route-static 172.16.1.0 24 Tunnel 0/0/1
gre key
并不是用来加密数据,而是用来区分和标识不同的GRE隧道。它提供了一种简单的认证机制,确保隧道两端的配置匹配。
注意第3步是为虚拟接口分配地址,指导报文的转发
[AR4]int Tunnel 0/0/1
[AR4-Tunnel0/0/1]tunnel-protocol gre
[AR4-Tunnel0/0/1]ip address 10.1.14.4 24
[AR4-Tunnel0/0/1]source 4.4.4.4(新ip地址)
[AR4-Tunnel0/0/1]destination 1.1.1.1(新ip地址)
[AR4-Tunnel0/0/1]gre key 123
[AR4-Tunnel0/0/1]q
[AR4]ip route-static 192.168.1.0 24 Tunnel 0/0/1
此时测试,使用PC1 ping PC4
GRE配置成功
仔细看下图报文封装方式
注意
1.gre隧道为虚拟隧道无法脱离物理链路转发
2.gre协议封装后的报文源目ip地址均为明文
ipsec vpn
特点:安全性高,能够对数据经行加密,认证,完整性检测。
有两种传输模式,分别为传输模式和隧道模式
架构
由AH ESP 和IKE 组成
AH:提供数据源认证,数据完整性验证,抗重放功能。
ESP:除了提供AH的所有功能(认证范围不包括ip头部),还提供加密的功能。
封装模式
- AH认证涵盖了IP数据包的整个头部(包括某些可变字段),这意味着IP头部在传输过程中不能被任何中间设备修改。而在某些网络设备,如NAT(网络地址转换)设备,可能需要修改IP头部。
实验配置(自动配置)
拓扑图和gre一样。
底层架构网络
先按照gre实验的步骤配置底层架构网络。
逻辑架构网络
1.定义感兴趣流
[AR1]acl 3000
[AR1-acl-adv-3000]rule 5 permit ip source 192.168.1.0 0.0.0.255 destination 172.16.1.0 0.0.0.255
2.建立ipsec 提议集
[AR1]ipsec proposal 1t4
[AR1-ipsec-proposal-1t4]esp authentication-algorithm sha2-256 认证密码
[AR1-ipsec-proposal-1t4]esp encryption-algorithm aes-256 加密密码
此处可以配置ipsec的模式
[AR1-ipsec-proposal-1t4]encapsulation-mode tunnel或encapsulation-mode transport
默认为隧道模式
3建立ike提议集
[AR1]ike proposal 1
[AR1-ike-proposal-1]authentication-algorithm md5 认证
[AR1-ike-proposal-1]encryption-algorithm aes-cbc-128 加密
4建立ike邻居
[AR1]ike peer AR4 v1
[AR1-ike-peer-AR4]pre-shared-key simple huawei 预共享密钥
[AR1-ike-peer-AR4]ike-proposal 1 绑定ike的安全提议集
[AR1-ike-peer-AR4]remote-address 10.1.34.2 邻居的出接口ip地址(新ip地址)
5建立ipsec安全策略
[AR1]ipsec policy 1t4 10 isakmp 自动配置
[AR1-ipsec-policy-isakmp-1t4-10]security acl 3000
[AR1-ipsec-policy-isakmp-1t4-10]proposal 1t4
[AR1-ipsec-policy-isakmp-1t4-10]ike-peer AR4
6接口绑定ipsec 策略
[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ipsec policy 1t4
AR4配置步骤
[AR4]acl 3000
[AR4-acl-adv-3000]rule 5 permit ip source 172.16.1.0 0.0.0.255 destination 192.1
68.1.0 0.0.0.255
[AR4-acl-adv-3000]qu
[AR4]ipsec profile
[AR4]ipsec proposal 4t1
[AR4-ipsec-proposal-4t1]esp authentication-algorithm sha2-256
[AR4-ipsec-proposal-4t1]esp encryption-algorithm aes-256
[AR4]ike proposal 1
[AR4-ike-proposal-1]authentication-algorithm md5
[AR4-ike-proposal-1]encryption-algorithm aes
[AR4-ike-proposal-1]encryption-algorithm aes-cbc-128
[AR4-ike-proposal-1]qu
[AR4]ike peer AR1 V1
[AR4-ike-peer-AR1]ike-proposal 1
[AR4-ike-peer-AR1]pre-shared-key simple huawei
[AR4-ike-peer-AR1]remote-address 10.1.12.1(新ip地址)
[AR4-ike-peer-AR1]qu
[AR4]ipsec policy 4t1 10 isakmp
[AR4-ipsec-policy-isakmp-4t1-10]proposal 4t1
[AR4-ipsec-policy-isakmp-4t1-10]ike-peer AR1
[AR4-ipsec-policy-isakmp-4t1-10]security acl 3000
[AR4-ipsec-policy-isakmp-4t1-10]QU
[AR4-GigabitEthernet0/0/0]ipsec policy 4t1
验证结果
使用PC1 ping PC4 无法ping通
没有对应的路由条目
此时将两个接口加入ospf进程中
[AR1]ip route-static 172.16.1.0 24 10.1.12.1
[AR4]ip route-static 192.168.1.0 24 10.1.12.1
此时路由表上有条目,即可执行转发。
GRE的ip route-static 192.168.1.0 24 Tunnel 0/0/1这一步作用和ipsec 的ip route-static 192.168.1.0 24 10.1.12.1 等效。
此时抓包