1-V P N:IPsec实例

一、实验拓扑:
1-V P N:IPsec实例
二、实验要求:
重点就是配置:第一阶段:哈希、加密、组
三、命令部署:
1、基本配置接口地址、默认路由,确保R1和R3环回口可以通信:
R1(config)#int lo0
R1(config-if)#ip add
R1(config-if)#ip add 1.1.1.1 255.255.255.0
R1(config-if)#int f0/0
R1(config-if)#no shutdown
R1(config-if)#ip add 202.100.1.1 255.255.255.0
R1(config)#ip route 0.0.0.0 0.0.0.0 202.100.1.2

R2(config)#int lo0
R2(config-if)#ip add 2.2.2.2 255.255.255.0
R2(config)#int f0/0
R2(config-if)#no shutdown
R2(config-if)#ip add 202.100.1.2 255.255.255.0
R2(config)#int f1/0
R2(config-if)#no shutdown
R2(config-if)#ip add 202.100.2.2 255.255.255.0

R3(config)#int lo0
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#int f0/0
R3(config-if)#no shutdown
R3(config-if)#ip add 202.100.2.3 255.255.255.0
R3(config)#ip route 0.0.0.0 0.0.0.0 202.100.2.2
测试:
R3#ping 202.100.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.100.1.1, timeout is 2 seconds:..!!!
Success rate is 60 percent (3/5), round-trip min/avg/max = 84/94/104 ms
环回口是不通的,因为R2根本没有到对方环口的路由条目
2、配置×××:
(1)R1到R3的流量称之为要加密的流量,加密流量的源目称之为通信点/站点,站点R1和R3相互连接的外网接口我们称之为加密点:R1的f0/0、R3的f0/0;
(2)配置×××的顺序:先写上IKE、然后是SA、最后是ESP:
IKE:协商秘钥、策略、数据流量加密的方式方法、DH组(到底是哪个组)
命令:
第一步:
1、R1配置ISAKMP策略:
R1(config)#crypto isakmp policy 10 //crypto:加密;isakmp:安全连接和密钥管理协议(Internet Security Association and Key Management Protocol)
R1(config-isakmp)#authentication pre-share //R1和R3简单认证,×××建立关系肯定要有个验证,比如R3是非法用户来跟我R1建立邻居关系,这是我们不希望看到的,所以要有简单密码验证这种程序;该密码是我们手动敲的,所以R1、R3密码肯定是一样的,如果R3是假冒的,那么验证就不会通过;验证有多种方式,一般使用预共享秘钥;
R1(config-isakmp)#encryption 3des //加密方式
R1(config-isakmp)#group 5 //定义我们的DH公共秘钥系统的长度:组1长度:768、组2长度:1024、组5 :1536,推荐用Group 5,因为数值越大,Diffie-Hellman秘钥长度越长:密钥交换系统。
R1(config-isakmp)#hash md5 //还有sha的加密方式
R1(config-isakmp)#lifetime 86400 //默认存活时间是一天:86400s
查看刚才配置:
查看一:
R1#show run | s crypto
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 5
查看二:
R1#show crypto isakmp policy
Global IKE policy
Protection suite of priority 10 //这个是刚才手动配置的
encryption algorithm: Three key triple DES
hash algorithm: Message Digest 5
authentication method: Pre-Shared Key
Diffie-Hellman group: #5 (1536 bit)
lifetime: 86400 seconds, no volume limit
Default protection suite //默认存在的组,配置如下:
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit
总结:当出现一个站点比如R1,要和很多个站点建立×××,而且跟每个站点建立×××,而且第一阶段IKE策略不一样,那就要在它们之间采取多个不同的策略了。如果都一样的策略那么配置一个策略就好了,这个不推荐。
2、R3配置ISAKMP策略:
同理R3和R1应该一样:
R3(config)#crypto isakmp policy 20 //策略号可以和R1不一样,但是里边的内容要一样
R3(config-isakmp)#encryption 3des
R3(config-isakmp)#hash md5
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 5
3、R1、R3相互配置ISAKMP预共享密匙:
R1(config)#crypto isakmp key 0 aa address 202.100.2.3 //当这个IP地址的人拿着aa的密码来做验证时候可以通过
R3(config)#crypto isakmp key 0 aa address 202.100.1.1

总结:以上都是第一阶段:要先走那6个包;加密方式、组等
第二步:
1、实际要加密的流量用ACL匹配出来(配置感兴趣流):
R1(config)#access-list 100 permit ip host 1.1.1.1 host 3.3.3.3
2、配置IPSec 策略(转换集):
R1(config)#crypto ipsec transform-set mingzi esp-aes esp-md5-hmac //R1到R3实际流量(感兴趣流)的加密方式:esp封装、用aes加密、aes加密需要一把钥匙,钥匙从哪来呢?从第一阶段定义的Group 5来的,收到后用aes的方式去加密而已;验证方式md5;完整性和源认证通过:hmac搞定;hmac工作原理:把数据流量和秘钥一起做哈希,然后发送给对方,对方拿本地的密码和收到的流量做一个哈希,得到的哈希值和收到的哈希值对对比。
R1(cfg-crypto-trans)#mode tunnel //模式为隧道模式,默认就是隧道模式,可以不敲的。
3、同理R3配置一样:
R3(config)#access-list 100 permit ip host 3.3.3.3 host 1.1.1.1
R3(config)#crypto ipsec transform-set mingzi esp-aes esp-md5-hmac
R3(cfg-crypto-trans)#mode tunnel
第三步:
R1(config)#crypto map cisco 10 ipsec-isakmp
R1(config-crypto-map)#set transform-set mingzi
R1(config-crypto-map)#match address 100 //匹配刚才部署的ACL 100
R1(config-crypto-map)#set peer 202.100.2.3 //设置对等体为R3的地址
R1(config-crypto-map)#set pfs group5 //pfs是什么?完美向前保护
查看:
R1(config-crypto-map)#do show run | s crypto
crypto map cisco 10 ipsec-isakmp
set peer 202.100.2.3
set transform-set mingzi
set pfs group5
match address 100
调用:
R1(config)#int f0/0
R1(config-if)#crypto map cisco

同理R3也一样:
R3(config)#crypto map cisco 10 ipsec-isakmp
R3(config-crypto-map)#set peer 202.100.1.1
R3(config-crypto-map)#set transform-set mingzi
R3(config-crypto-map)#set pfs group5
R3(config-crypto-map)#match address 100
R3(config-if)#crypto map cisco
测试:
抓包:
R3#ping 1.1.1.1 source 3.3.3.3 //必须带环回口去Ping,否则是不会加密的。
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 3.3.3.3 .!!!!
分析:
前6个包是MM模式:
第一个阶段:发送策略,比如什么方式加密:3des-cbc(回忆cbc原理:先产生一个IV,然后拿这个IV跟第1个块去做异或运算,得出的结果再用3DES去加密,加密的结果拿出来跟第2个块做异或运算)、哪个组啊:组5;验证方式是:PSK预共享方式;存活时间:86400,
这是第一阶段,里边目前只有1个策略,当然如果配置了多个策略就会看到很多策略;第一第二包都干这个,包都一样的;
第三、第四包:传递一些组的信息,DH里边的公共秘钥交换;
第五、第六包:是加密的,后面64个字节是加密的;
快速模式的3个包:也是被加密的,只能看到前边的头部信息;
Ping包:里边也是加密的,外边看的是ESP协议。
R3#show crypto engine connections active //查看加密工具连接活跃状态:当前路由器加密和解密一共多少包,显示加密9个,解密9个。因为第一次Ping通了4个包,第二次Ping通了5个包。

   R1、R3一定要有对方环回口的路由条目,老师这里是默认路由,课件是静态路由;静态路由的话一定要有去往对端环回口的路由;不然通不了,通不了没法进行加密;
  只能通过撞击MAP来确定加密哪些流量来加密,工作原理:
  匹配到感兴趣流量:ACL中1.1.1.1-3.3.3.3的流量,如果匹配到了就会撞击上MAP,一旦撞击上MAP就让它回去加密,加密方式已经定义好了,比如aes、3des等,加密好以后,外层会添加新的IP:新的源和目:202.100.1.1、202.100.2.3,然后这个流量被封装完以后回再次查路由表,查什么呢?查有没有去往202.100.2.0的路由条目(如果是静态路由的话),如果有就按这个路由条目走,出去的时候就不会撞击这个Map了,因为感兴趣流写的知识1.1.1.1到3.3.3.3的流量,现在写的是202.100.1.1到202.100.1.2的流量;和原来的ACL不匹配,所以直接就从接口里出去了。
  我们这里写的是默认路由,所以查了2次路由表都匹配上了,所以需要查找2次路由表;这个必须要做,否则它就不知道哪些流量要加密,哪些流量不加密;
  有人问:怎么确定哪个流量来加密?就是这张重要的图。

  ASA是需要激活isakmp的;路由器是不需要的,默认就是激活的;
  R1#show crypto ipsec sa   //老师这块也看不懂

local ident (addr/mask/prot/port): (1.1.1.1/255.255.255.255/0/0) //本地信息
remote ident (addr/mask/prot/port): (3.3.3.3/255.255.255.255/0/0) //对端信息
current_peer 202.100.2.3 port 500 //ESP也是有端口号的,端口号就是500
#pkts encaps: 9, #pkts encrypt: 9, #pkts digest: 9 //加密9个
#pkts decaps: 9, #pkts decrypt: 9, #pkts verify: 9 //解密9个
inbound esp sas:
spi: 0x759AE9FD(1973086717) // spi用来标识SA,SA是用来确定×××之间两个站点流量采用的加密方式;
清除、debug信息
outbound esp sas:
spi: 0x460F4EB9(1175408313) //因为ipsec是双向的,IKE是单向的,所以会看到outbound和inbound,流量的入站和出站的处理方式是不太一样的;R1出站和R3入站的spi值应该是一样的,反过来R3出站和R1入站的spi值也是一样的;

R3#show crypto ipsec sa
inbound esp sas:
spi: 0x460F4EB9(1175408313)
outbound esp sas:
spi: 0x759AE9FD(1973086717)

R3#show crypto isakmp sa //老师说他也看不懂,这里一定要是QM_IDLE,ACTIVE

总的抓包结果:

第一个包:

第5、6个包是加密的:

快速模式的3个包都是加密的:

接下来是Ping包:

Ping包里边看不到任何东西,被加密过了:

猜你喜欢

转载自blog.51cto.com/13856092/2138530
今日推荐