cisco路由器上做IPSec-VPN
来源:互联网 发布:深圳软件开发定制 编辑:程序博客网 时间:2024/05/07 15:04
session 1 ipsec知识点
IPsec(IP Security)ip安全的简称
IPsec能够起到的功能有:
数据源认证(Data origin authentication),确保发送源真实可靠。
保护数据完整性(Data integrity),确保数据不被中截获篡改。
保证数据私密性(Data confidentiality),确保数据加密不被明文形式读取。
防止中间人攻击(Man-in-the-Middle),防止中间人截获数据。
防止数据被重放(Anti-Replay),防止数据被黑客读取篡改后再传输给接收方。
为IPsec服务的总共有三个协议:
IKE(Internet Key Exchange)
ESP(Encapsulating Security Protocol)
AH(Authentication Header)
虽然总共是三个协议,但分为两类:
IKE(Internet Key Exchange)
注:AH和ESP都有防止数据被篡改的认证机制,而ESP还有加密数据的机制,AH没有加密数据的机制,只有通过封装来实现对数据的保护机制,不像ESP可以对数据直接加密。
重点:这里的ESP和AH的认证和下面的认证(Authentication)不是一个概念,下面的是指两个对等体之间的认证,就是保证双方vpn通道的对接点(如两台route或防火墙)是合法的不是黑客冒充的,而AH和ESP中的认证时指对于ipsec中交换的秘钥的合法可靠性和对于数据的合法可靠性的认证,防止被中间篡改。不过一般只用ESP协议,因为ESP既有认证机制也有加密机制。
认证(Authentication)
一、Pre-Shared Keys (PSK)
二、Public Key Infrastructure (PKI) using X.509 Digital Certificates
三、RSA encrypted nonce
其中Pre-Shared Keys (PSK)是最简单的,使用由管理员事先在双方定义好的密码,认证时,只有双方密码匹配之后,后续的工作才能继续;配置时通常可以包含IP地址,子网以及掩码,也可以指定为任意地址来代替固定地址,适用于IP地址不固定的环境。 PKI是使用第三方证书做认证,叫做Certificate Authority (CA),,里面包含名字、序列号,有效期以及其它可以用来确认身份的参数;证书也可以被取消。(本文只涉及Pre-Shared Keys与共享秘钥PSK)
密钥算法(Diffie-Hellman)
Group 1 密钥长度为768 bit,也是默认的密钥长度;
Group 2 密钥长度为1024 bit;
Group 5 密钥长度为1536 bit。
注:IPSec目前只支持IPv4 Unicast(IPv4 单播),不支持其它任何协议(如视频的组播流量,IGP路由协议用组播来建立邻居,所以iPv4不支持IGP协议,除非使用GRE over IPSEC)。
SA(Security Associations)安全联盟
IPsec SA
IKE Phase One 和 IKE Phase Two
IKE Phase One
1、认证方式(Authentication,用于对合法对端的认证)
共总有Pre-Shared Keys (PSK),Public Key Infrastructure (PKI),RSA encrypted nonce三种,默认为PKI。
2、加密算法(Encryption)
总共有DES,3DES,AES 128,AES 192,AES 256,默认为DES。
3、Hash算法(HMAC,用于对秘钥和数据的认证)
总共有SHA-1,MD5,默认为SHA-1。
4、密钥算法
(Diffie-Hellman) Groups 1 (768 bit),Group 2(1024 bit),Group 5(1536 bit),默认为Groups 1 (768 bit)。
5、Lifetime 随用户定义,默认为86,400 seconds,但没有volume limit。 NAT穿越(NAT Traversal)默认为开启状态,无须手工配置。
IKE Phase Two
1、加密算法(Encryption)
总共有DES,3DES,AES 128,AES 192,AES 256,默认为DES。
2、Hash算法(HMAC用于对数据的认证)
总共有SHA-1,MD5,默认为SHA-1。
3、Lifetime
随用户定义,默认为3600 seconds,即1小时;默认volume limit为4,608,000 Kbytes,即4.608 Gbyte。
session 2 ipsec的两种模式
IPsec Mode
共有Tunnel mode和Transport mode,默认为Tunnel mode。
IPsec Mode分两种: Tunnel mode隧道模式和Transport mode传输模式
从图中可以看出,当IPsec工作在Tunnel mode时,整个原始数据包都会被加密,包括数据部分和包头部分,正因为该封装形式隐藏了原始的IP 包头,导致了原始IP包头不可见,那么路由器就无法对该数据包进行路由,所以需要添加一个新的IP包头来正常路由,通常是加密设备自己的IP地址被加到新IP包头中,这个地址也可在IOS中定义;并且我们可以确定这个IP地址一定是在传输网(通常指公网Internet)中可以被路由的。至少为什么同时出现3个包头,理论同GRE隧道的原理,因为要实现隧道功能,此部分的理论可以参见之前GRE隧道部分。 IPsec包头的大小共32字节,而普通IP包头大小为20字节,所以可以看出,原始IP数据包经过Tunnel模式的IPsec封装之后,会多出大约52字节大小的包头。当原始数据包被Tunnel模式的IPsec封装时,这种封装方式被认为更安全,因为原始数据包的所有内容,包括数据部分,以及真正的源IP和目的IP都被加密了,所以更安全。
从图中可以看出,当IPsec工作在Transport mode时,IPsec包头是添加在原始IP包头与上层协议(如传输层)之间的,所以原始IP包头在传输过程中还是可见的,同样也容易被分析。因为没有新IP包头被加入,所以没有多少增加的字节。由于数据包被Transport模式的IPsec封装时,原始IP包头在最外面,路由过程中是根据原始IP包头来路由的,所以当通过Internet连接的远程网络之间需要直接使用对方私有IP地址来互访时,此封装不可行,因为Transport mode没有实现隧道功能,所以如果要实现VPN功能,Transport模式的IPsec就应该配合p2p GRE over IPsec来使用。
ESP(Encapsulating Security Protocol)
ESP包头中使用IP协议号50来标识,意为IP协议号为50的数据包都被当作ESP数据包来处理;从上图中也可以看出,即使是封装ESP,也分为两种情况,因为IPsec本身分为两种模式,所以在进行安全封装数据包时,不同的模式,也会有不同的封装格式。从图中还可以看出,原始数据包经过ESP封装之后,只是数据被加密了,而原始的IP包头是没有改变的,虽然是这样,但也会使用其它方式,如HMAC来保证数据的安全性,其中包括:
1、保护数据完整性(Data integrity)
2、防止中间人攻击(Man-in-the-Middle)
3、防止数据被重放(Anti-Replay)
4、同样也提供数据认证(Data authentication)
AH对用户数据包的封装过程如下:
AH包头中使用IP协议号51来标识,从图中可以发现,原始数据包经过AH封装之后,并没有被加密,这是因为AH封装并不使用常规的方法去加密数据部分,而是采用隐藏数据的方法,也就是相当于加一个防改写的封条给数据,很显然,这简直就是掩耳盗铃,如果数据机密要求高,千万不要单独使用AH封装。
ESP和AH结合
Transform Set
Crypto Map
隧道分离(Split Tunneling)
IPsec LAN-to-LAN VPN(LAN-to-LAN VPN)
概述
1、配置IKE(ISAKMP)策略 定义认证标识
2、配置IPsec transform
3、定义感兴趣流量
4、创建crypto map
5、将crypto map应用于接口
其中每步的具体内容为:
1、配置IKE(ISAKMP)策略
2、定义IKE Phase One中的一些策略,包括加密算法(Encryption),Hash算法(HMAC),密钥算法(Diffie-Hellman),认证方式(Authentication)等等,每项的具体信息请参考前文内容。
3、定义认证标识(Pre-Sahred)
无论前面定义了何种认证方式,都需要添加认证信息,如密码、数字证书等等。
4、配置IPsec transform
也就是定义Phase Two中一些加密算法以及HMAC算法,此transform set就是定义了VPN流量中的数据包是受到怎样的保护。
5、定义感兴趣流量
定义哪些流量需要通过VPN来传输,通过IPsec来保护;匹配流量的方法为定义ACL,建议使用Extended ACL来匹配指定的流量,ACL中被permit匹配的的流量表示加密,而被deny匹配的流量则表示不加密。
注:在配置ACL定义感兴趣流量时需要格外注意的是ACL中不要使用any来表示源或者目标,否则会出问题。
6、创建crypto map
用于将之前定义的ACL,加密数据发往的对端,以及IPsec transform结合在crypto map中。
7、将crypto map应用于接口
crypto map配置后,是不会生效的,必须将crypto map应用到接口上,目前还没有听说crypto map对接口类型有任何要求,也就是正常接口都可以应用,当然必须是三层可路由接口。
session 3 实例配置Router-to-Router LAN-to-LAN VPN
配置site to site VPN,拓扑如下,要实现2个网络之间的ip流量ipsec
网络基础配置:
Router1(config)#interface s0/0
Router1(config-interface)#ip address 210.1.61.1 255.255.255.252
Router1(config-interface)#no shutdown
Router1(config-interface)#exit
Router2(config)#interface f1/0
Router2(config-interface)#ip address 172.16.1.1 255.255.255.0
Router2(config-interface)#no shutdown
Router2(config-interface)#exit
Router2(config)#ip route 0.0.0.0 0.0.0.0 s0/0
第一步.配置第一阶段配置IEK参数,协商秘钥的安全参数。
RA的配置
Router1(config)#crypto isakmp enable
Router1(config-isakmp)#authentication per-share
Router1(config)#crypto isakmp policy 1-10000
Router1(config-isakmp)#hash {md5\sha1}
Router1(config-isakmp)#encryption {DES\3DES}
Router1(config-isakmp)#lifetime 60
第二部,配置对等体认证PSK
Router(config)#crypto isakmp key 0
配置预共享秘钥参数和对端地址,key 0表示在running-config中以明文保存PSK密码
第三步.配置第二阶段配置ipsec参数,协商通过ipsec隧道的数据的安全参数。
R1中配置
Router1(config)crypto ipsec transform-set {transformName}{AH-md5-hmac\AH-sha-hmac}{ESP-des\ESP-3des\ESP-null}
配置ipsec传输集名称和参数(AH和ESP的)可单独用AH或ESP,也可以两者都用。AH只有认证机制,ESP有认证机制和加密机制,但是没有AH的认证机制好。
第四步.配置感兴趣的流量。定义需要进行加密走vpn隧道的流量
Router1(config)#access-list 101 permit
Router1(config)#access-list 101 deny any any
第五步.将crypt map应用于接口上
R1中配置
Router1(config)#crypto map {mapname} {优先级(1-65535)则小而优} ipsec-isakmp
创建crypto map名称和优先级,最后的"ipsec-isakmp"表明两端对等体IEK自动协商
Routrt1(config)#match address {access-listnumber}
Routrt1(config)#set peer
Routrt1(config)#set transform-set {transformName}
第六步.将crypt map应用于接口上
Routrt1(config)#interface S0/0
Routrt1(config)#crypto map {MapName}
在R2上也使用相同的配置与R1建立对等体关系,然后建立ipsec-vpn,使用两端内网进行测试完成ipsec建立。
检查命令:
show crypto isakmp policy
show crypto ipsec transform-set
show crypto ipsec sa
show crypto map
show crypto isakmp peers
- cisco路由器上做IPSec-VPN
- 在cisco路由器上配置GRE over IPsec -vpn
- Cisco路由器配置Ipsec
- Cisco IPSec VPN 实战指南
- Cisco路由器VPN配置
- cisco 路由器 ipesc vpn
- 浅谈IPSec VPN对Cisco路由器CPU利用率(负载)的影响
- 在cisco路由器上GRE VPN配置实例
- Cisco路由器VPN配置 实验
- Fortigate to cisco router ipsec vpn configure!
- CISCO Site-to-Site IPSEC VPN
- 在cisco路由器上做:双向NAT地址转换
- 华为 AR系列路由器实现IPSec vpn
- 路由器设置VPN应用[IPSec篇]
- H3C MSR20系列路由器 IPSEC VPN 设置
- [企业路由器] IPSec VPN设置指南
- 华为AR 路由器IPSEC VPN配置
- 主备链路切换+IPsec vpn路由器配置
- Tomcat配置远程调试端口
- oracle基础学习
- Linux 安装phpredis扩展
- HDU 3666 (差分约束)
- Android view 滑动事件冲突解决方法(理论篇)
- cisco路由器上做IPSec-VPN
- centOS7 无法ping
- 一种在一张图片上涂改的效果
- Memcached初步认识
- c#网络共享上传文件
- 物质之学 —— 等离子(物质的第四态)
- 五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法
- docker.dmg放在360云盘了,官网的太慢了
- C++ 多态