IPsecVPN
可以在不安全的网络上,安全地传输数据,使用PKI技术,来保证数据的安全三要素(机密性、完整性、身份验证)
1. VPN类型:
- 远程访问VPN(Remote Access VPN)
一般用在个人到企业连接,例如出差员工,需要访问内网。
一般公司部署VPN服务器,员工在外拨号连接VPN即可。
常见的RA-VPN:PPTP VPN、L2TP VPN、SSTP VPN、EZ VPN、SSL VPN - 点到点VPN
企业对企业安全连接
一般需要在两个企业总出口设备之间建立VPN通道
常见的点到点VPN:IPsecVPN,可以在2家企业之间建立VPN隧道
2. 工作模式:
-
传输模式
加密上层数据,不加密私有IP包头
-
隧道模式
重新封装技术+加密认证技术
加密整个私有IP包,包括IP包头,更安全,不过速度会慢
隧道优点:安全性,合并两家企业内网
3. IPsecVPN实验:
第一阶段:管理连接
双方设备通过使用非对称加密算法协商对称密钥。
命令:
conf t
crypto isakmp policy 1 #创建传输集/策略集,1是表名,也是优先级,可以创建多张表
# 下面是进入策略集配置模式下
encryption des/3des/aes #指定加密算法
hash md5/sha #指定哈希算法
group 1/2/5 #指定长度是128/256/512
authentication pre-share #使用预共享密钥,用于完整性确认和身份验证
lifetime 秒 #指定多久进行下一次协商(默认是24小时)
exit
# 对方也需要配置相同的表,双方才可以建立隧道
cry isakmp key 预共享密钥 address 对方的公网IP地址
# 预共享密钥只能双发持有,而且不需要在网络上传输
创建传输集->设置预共享密钥->将表发送给对方进行协商
第二阶段:数据连接
通过对称加密算法加密实际所要传输的私网数据。
# 定义vpn,触发流量,也就是定义哪些流量走vpn
access-list 100 permit ip 192.168.0.0 0.0.255.255 172.16.0.0 0.0.255.255
#定义加密方式
conf t
crypto ipsec transform-set 传输模式名 esp-des/3des/aes esp/ah-md5/sha-hmac
#esp-des/3des/aes :设置数据加密算法
#esp/ah-md5/sha-hmac :设置数据完整性及身份认证
传输模式名:给后面的组合起名字
#ESP:支持加密、认证(保密性、身份验证、完整性)
#AH:只支持认证(身份验证+完整性)
例如:
crypto ipsec transform-set xxx esp-aes esp-sha-hmac
定义ACL匹配规则->定义加密方式
第三阶段:创建map映射表
将第一阶段定义的传输集合和第二阶段定义的ACL匹配规则和加密方式放在一张表中,叫map映射表,将其放到路由器公网IP口。
conf t
crypto map map名 1 ipsec-isakmp #将阶段一映射过来,不需要说明是阶段一的哪张传输集
match address acl表名
set transform-set 传输模式名
set peer 对方的公网IP
exit
# 将map表应用到外网端口:
int f0/1
crypto map xxx
exit
# 一个接口只能应用一个map表
# 例:
# 那如果一个公司总部只有一个公网端口,需要监听多个分公司的vpn请求怎么办
conf t
# 分公司1
crypto map lmxmap 1 ipsec-isakmp
match address 100(100是acl表名)
set transform-set xxx
set peer 200.1.1.1
exit
# 分公司2
crypto map lmxmap 2 ipsec-isakmp
match address 100
set transform-set xxx
set peer 201.1.1.1
exit
int f0/1 #外网端口
crypto map lmxmap
exit
查看命令:
show crypto isakmp sa #查看第一阶段的配置集
show crypto ipsec sa #查看第二阶段状态
show crypto isakmp policy #查看第一阶段的策略配置集
show crypto ipsec transform-set #查看第二阶段的传输模式