VPN(Virtual Private Network)虚拟专用网就是两个站点网络之间建立一个专用的虚拟通道进行安全的通信。可以称之为一种跨公网技术。
VPN的连接模式:
传输模式:从源端到目的端数据使用原有IP地址进行通信,而传输的数据被封装到VPN报文中。
隧道模式:VPN设备将整个三层数据报文封装在VPN数据内,在为VPN数据报文添加新的IP包头。
VPN的类型:
站点到站点VPN:VPN设备与VPN设备之间的VPN连接,设备与设备之间穿越公网建立一个虚拟专用通道。
点到站点VPN:VPN设备与客户端之间的VPN连接,客户端可以穿越公网访问内网。
VPN是一个安全技术,它在封装数据的时候会对数据做保护。
v 报文加密算法:DES,3DES,AES等对称加密算法,以及RAS,DSA,DH等非对称加密算法加密报文。
v 数据验证:使用Hash算法,MD5和SHA是两种常用的算法,MD5执行速度比较快,安全性相对SHA算法较差一点,SHA算法可以产生160位的签名(20字节)
v 数据封装:ESP和AH,ESP支持加密和认证,而AH只支持认证。
VPN一般都使用IPsec安全加密技术,IPsec可以理解为一个安全机制。
IPsec释义:
v ISAKMP/IKE描述了密钥管理的框架,是一种加密消息格式和密钥交换协议的机制,IKE使用UDP端口500.
v DH密钥组:指定用于VPN设备之间认证方式的密钥强度,一般使用版本2,长度有1024bit。
思科实现站点到站点VPN步骤有三个阶段:
v 阶段一:定义VPN的安全策略,指定加密算法,验证算法,认证方式和密钥组强度。
Router(config)#crypto isakmp policy 10 定义策略并进入策略
Router(config-isakmp)#encryption des 指定加密算法
Router(config-isakmp)#hash md5 指定验证算法
Router(config-isakmp)#authentication pre-shar 指定认证方式
Router(config-isakmp)#group 2 指定密钥强度
Router(config-isakmp)#lifetime seconds 指定连接的生存周期
Router(config-isakmp)#crypto isakmp key 123 address 1.1.1.1 指定对点VPN设备共享密码
加密算法 |
验证算法 |
认证方式 |
密钥强度 |
生存周期 |
Des |
Md5 |
Pre-shar(密码) |
1 |
Seconds:表示86400S(24小时),默认值 |
3Des |
sha |
Rsa-encr(证书) |
2 |
|
Aes |
Rsa-sig(证书) |
5 |
v 阶段二,配置数据加密(传输集),定义数据封装加密算法,封装验证算法
Router(config)#crypto ipsec transfrom-set 传输集名 esp-des esp-md5-hmac
数据封装加密算法 |
数据封装验证算法 |
Esp-des |
Esp-MD5-hmac |
Esp-3des |
Esp-sha-hmac |
Esp-aes 128 表示算法强度:128,192,256 |
v 阶段三:应用策略和调用传输集,定义ACL,指定对站点地址,应用策略到接口
Router(config)#access-list 101 permit ip 源地址 反掩码 目标地址 创建ACL
Router(config)#crypto map 策略名 序列号 ipsec-isakmp 调用策略
Router(config-crypto-m)#match address 101 调用ACL
Router(config-crypto-m)#set peer 1.1.1.1 指定对点VPN设备地址
Router(config-crypto-m)#set transfrom-set 传输集名 调用传输集
Router(config-crypto-m)#set pfs group2 传输集传输强度
Router(config-crypto-m)#set security-association lifetime seconds 数据连接生存时间
Router(config-if)#crypto map 策略名 接口应用策略
注:这里的ACL可以理解为一个感兴趣流,表示源到目地数据在通过VPN设备的时候是否进行加密操作,调用ACL则会进行加密保护数据。
查询命令:
#Show crypto isakmp police :查看阶段一策略信息
#Show crypto isakmp key :查看阶段一共享密钥
#Show crypto isakmp sa :查看阶段一策略SA状态
#Show crypto ipsec sa :查看阶段二数据传输SA状态
#Show crypto ipsec transfrom-set :查看阶段二传输集信息
#show crypto engine connections active :查看VPN设备有哪些数据传输
注:SA表示安全关联的意思。
站点到站点:两个站点的VPN设备必须定义相同策略才可以互相通信。
思科点到站点VPN技术
点到站点VPN技术又叫Easy VPN,它使用XAUTH做用户验证,通过地址池给连接用户组动态分配地址,使用动态map调用传输集,将动态map引用到静态map中。
XAUTH可以理解为一个草案,它使用AAA做用户验证。
什么是AAA认证?
答:AAA即验证(authentication),授权(authorzition),统计(accounting)。
Easy VPN服务端部署:
v 定义XAUTH做用户验证的方法,并创建用户
Router(config)#aaa new-model 新的验证模式
Router(config)#aaa authentication login ren local 本地验证
Router(config)#aaa authorization network bo local 本地授权
Router(config)#username tom privilege 15 password tom 创建用户
注:privilege表示对主机的特权级别,级别越高对主机的操作权限越高
v 配置阶段一定义策略
Router(config)#crypto isakmp policy 10 定义阶段一策略
Router(config-isakmp)#encryption aes 加密算法
Router(config-isakmp)#hash md5 验证算法
Router(config-isakmp)#authentication pre-share 密码认证用户身份
Router(config-isakmp)#group 2 密码强度
v 创建地址池,指定认证的组并调用地址池
Router(config)#ip local pool a 172.16.1.101 172.16.1.201 定义地址池
Router(config)#access-list 101 permit ip 1.1.1.0 0.0.0.255 any 创建ACL
Router(config)#crypto isakmp client configuration group admin 创建用户组
Router(config-isakmp-group)#key 123 用户组密码
Router(config-isakmp-group)#pool a 调用地址池
Router(config-isakmp-group)#acl 101 调用ACL
注:ACL在这里的作用相当于给获取地址的客户端主机增加一条静态路由,如果不做会导致客户端不能访问公网,也就是在连接VPN后主机路由会多出一条成本更优的默认路由,导致客户端只能访问公网,此时ACL下方一条静态让其主机本身的默认路由还可以走,已达到隧道分割的作用。
v 配置阶段二定义传输集
Router(config)#crypto ipsec transform-set ren esp-des esp-md5-hmac 定义阶段二传输集
v 创建动态map,关联传输集
Router(config)#crypto dynamic-map vpn-d 10 创建动态map
Router(config-crypto-m)#set transform-set ren 关联传输集
v 将动态map引用到静态map中
Router(config)#crypto map vpn client authentication list ren 静态map关联验证
Router(config)#crypto map vpn isakmp authorization list bo 静态map关联授权
Router(config)#crypto map vpn client configuration address respond 客户端连接响应
Router(config)#crypto map vpn 10 ipsec-isakmp dynamic vpn-d 调用动态map
v 接口调用静态map
Router(config-if)#crypto map vpn 接口应用静态map
VPN客户机安装客户端连接即可