ISP IPSEC LAB_第1张图片

1-IPSEC理论

http://down.51cto.com/data/2112582

2-IPSEC LAN To LAN ×××

ISP IPSEC LAB_第2张图片

具体的我不介绍了,网上太多

R1(config)#crypto isakmp policy 100

R1(config-isakmp)#encryption 3des

R1(config-isakmp)#hash sha

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#group ?

1 Diffie-Hellman group 1

2 Diffie-Hellman group 2

5 Diffie-Hellman group 5

R1(config-isakmp)#group 1

R1(config-isakmp)#lifetime 60

R1(config-isakmp)#exit

R1(config)#crypto ipsec transform-set cisco ah-md5-hmac

R1(cfg-crypto-trans)#?

Crypto transform configuration commands:

default Set a command to its defaults

exit Exit from crypto transform configuration mode

mode encapsulation mode (transport/tunnel)

no Negate a command or set its defaults

R1(cfg-crypto-trans)#mode tunnel

R1(config)#access-list 100 permit ip 14.1.1.0 0.0.0.255 35.1.1.0 0.0.0.255

R1(config)#crypto map cisco1 100 ipsec-isakmp

\\100为Sequence to insert into crypto map entry

% NOTE: This new crypto map will remain disabled until a peer

and a valid access list have been configured.

R1(config-crypto-map)#match address 100

R1(config-crypto-map)#set peer 23.1.1.3

R1(config-crypto-map)#set transform-set cisco

R1(config-crypto-map)#set security-association lifetime seconds 6000

R1(config)#int s1/0

R1(config-if)#crypto map cisco1

R1(config)#crypto isakmp key cisco address 23.1.1.3

Show 命令:

Show crypto iskamp sa / detail

Show Crypto IPSEC sa

R1#show crypto engine connections active

Crypto Engine Connections

ID Type Algorithm Encrypt Decrypt LastSeqN IP-Address

5 IPsec MD5 0 623 623 12.1.1.1

6 IPsec MD5 623 0 0 12.1.1.1

R1#show crypto session

Crypto session current status

Interface: Serial1/0

Session status: UP-NO-IKE

Peer: 23.1.1.3 port 500

IPSEC FLOW: permit ip 14.1.1.0/255.255.255.0 35.1.1.0/255.255.255.0

Active SAs: 2, origin: crypto map

R1#clear crypto isakmp \\清除命令

R1#clear crypto sa

Debug crypto iskamp / ipsec

3-IPSEC ACL

入方向:

ISP IPSEC LAB_第3张图片

挂在接口 s1/0 in方向 : access –list permit esp / permit udp (500)/ permit ahp流量

Crypto map xxxx \\这个是cypto map ACL

Set ip access-group 102 in

出方向:

ISP IPSEC LAB_第4张图片

4-IPSEC over GRE

ISP IPSEC LAB_第5张图片

R1与R3身后的路由是不能跑动态路由协议的,所以用ipsec over gre来解决这个问题

且它只加密R1与R3身后的流量

R2(config)#ip route 10.1.1.0 255.255.255.0 f0/1

R2(config)#ip route 10.1.2.0 255.255.255.0 f1/0

R1(config)#int tunnel 13

R1(config-if)#no shut

R1(config-if)#ip add 192.168.1.1 255.255.255.252

R1(config-if)#tunnel source f0/1

R1(config-if)#tunnel destination 200.1.1.2

R1(config)#ip route 10.1.2.0 255.255.255.0 Tunnel13

R3#sh run int tunnel 13

Building configuration...

Current configuration : 130 bytes

!

interface Tunnel13

ip address 192.168.1.2 255.255.255.252

tunnel source FastEthernet1/0

tunnel destination 100.1.1.1

R3(config)#ip route 10.1.1.0 255.255.255.0 Tunnel13

配置关键点:

1)两端的隧道地址要处于同一网段;

2)不要忘记配置通过tunnel访问对方私网的路由。

验证GRE配置成功否

R5#traceroute 10.1.1.4

Type escape sequence to abort.

Tracing the route to 10.1.1.4

1 10.1.2.3 84 msec 64 msec 20 msec

2 192.168.1.1 80 msec 96 msec 84 msec

3 10.1.1.4 80 msec * 112 msec

注意:不要把公网也就是GRE tunnel源,目地地址放入动态路由协议里面宣告,否则会出现tunnel与动态路由时up,时down的情况。因为gre tunnel的建立是靠默认路由,而动态路由又是通过GRE隧道学到的,如果把静态默认路由宣告后,那么R1学到10.1.1.0是从tunnel0口出去了,gre tunnel的建立原本是从默认路由走fa0/0出去的而现在却是去tunne0(路由表最长匹配原则),然后默认路由失效,这显然是矛盾的,路由器会找不到方向,,这样gre tunnel会导致tunnel建立超时,会down掉,那么自然而然基于gre tunnel的动态路由协议也会down掉,这时动态路由还没起来,而GRE tunnel隧道的建立使用的默认路由又可以匹配了,此时tunnel 又建立,动态路由也起来了,这样会一直up&down下去。

R1(config)#crypto isakmp policy 10

R1(config-isakmp)#authentication pre-share

R1(config-isakmp)#exit

R1(config)#crypto isakmp key cisco123 add 200.1.1.2

R1(config)#crypto ipsec transform-set yeslab esp-des esp-sha-hmac

R1(cfg-crypto-trans)#mode tunnel

R1(cfg-crypto-trans)#exit

R1(config)#crypto map fuyi 10 ipsec-isakmp

R1(config-crypto-map)#set peer 200.1.1.2

\\crypto map fuyi local-address lo 0

\\如果设置peer为环回口则需要敲入这条命令

R1(config-crypto-map)#set transform-set yeslab

R1(config-crypto-map)#match address 100

R1(config-crypto-map)#exit

R1(config)#access-list 100 per ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255

/IKE第一阶段需要核实远程对等体的身份,然后建立一个安全的已验证的通道进行通信。IKE第一阶段的协商有:采用加密和散列算法保护自身的技术、采用预共享/公钥加密/数字签名的验证方法、采用(Diffe-Hellman组)会话密钥生成参数。/IKE第一阶段协商后,建立一个双向的ISAKMP/IKE SA进行通信。

/IKE第2阶段可以保护用户数据并建立IPSEC的SA。IKE第2阶段的协商有:采用ESP/AH保护套(封装协议)、保护套的算法(采用DES、3DES、AES、SHA)、正在受保护的网络或IP流量、协商协议的可选密钥材料。IKE第2阶段协商结束后,IKE建立两个单向IPSEC SA,用于用户数据处理(一个发送用户数据、另一个接收加密数据)。

未加密前:

ISP IPSEC LAB_第6张图片

加密后:

R1(config)#int tunnel 13

R1(config-if)#crypto map fuyi

R1#sh crypto isakmp sa

IPv4 Crypto ISAKMP SA

dst src state conn-id status

200.1.1.2 100.1.1.1 QM_IDLE 1001 ACTIVE

R1#show crypto ipsec sa

interface: Tunnel13

Crypto map tag: fuyi, local addr 100.1.1.1

protected vrf: (none)

local ident (addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)

remote ident (addr/mask/prot/port): (10.1.2.0/255.255.255.0/0/0)

current_peer 200.1.1.2 port 500

PERMIT, flags={origin_is_acl,}

#pkts encaps: 8, #pkts encrypt: 8, #pkts digest: 8

#pkts decaps: 8, #pkts decrypt: 8, #pkts verify: 8

#pkts compressed: 0, #pkts decompressed: 0

#pkts not compressed: 0, #pkts compr. failed: 0

#pkts not decompressed: 0, #pkts decompress failed: 0

#send errors 1, #recv errors 0

local crypto endpt.: 100.1.1.1, remote crypto endpt.: 200.1.1.2

path mtu 1476, ip mtu 1476, ip mtu idb Tunnel13

current outbound spi: 0x554186D6(1430357718)

PFS (Y/N): N, DH group: none

再看抓包截图:

ISP IPSEC LAB_第7张图片

5- GRE Over IPSEC

clip_p_w_picpath014

针对GRE 流量,定义感兴趣流,这样就对整个流量包括R1/R3的身后流量和R1/R3动态路由协议的保护

GRE over ipsec 可以使用传输模式,因为通讯点和加密点是一样的(100.1.1.1 <-->200.1.1.2)。当然 Mode也可以为隧道模式

怎么去理解 gre over ipsec?

建立ipsec隧道,对ipsec隧道定义兴趣流为gre,只要是gre流量则使用ipsec加密,于是,只要是通过gre隧道的流量均会再次经过ipsec的处理,这就是 GRE over IPsec

试验基础在ipsec over gre上来进行修改

在R1 /R3上分别加一条感兴趣流

R1#sh access-lists

Extended IP access list 100

10 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255

Extended IP access list 101

10 permit ip 0.0.0.0 255.255.255.252 0.0.0.0 255.255.255.252

在tunnel口下 关掉crypto map fuyi

R1(config)#interface tunnel 13

R1(config-if)#no crypto map fuyi

更改crypto map的兴趣流

R1(config)#crypto map fuyi 10 ipsec-isakmp

R1(config-crypto-map)#no match add 100

R1(config-crypto-map)#match add 101

调用在出接口上

R1(config)#int f0/1

R1(config-if)#crypto map fuyi

6-IPSEC NAT

AH会对IP 头部做个一个hash无法穿越NAT

ESP Transport模式无法穿越,因为不会产生新的ip头部

关闭NAT穿越:no crypto ipsec nat-tra udp-en

模拟NAT穿越是开启的.

.

定义感兴趣流:

R1#sh access-lists

Extended IP access list 101

10 permit ip host 10.1.1.4 host 10.1.2.5 (9 matches)

R1#sh run | se cry

no service password-encryption

crypto isakmp policy 10

authentication pre-share

crypto isakmp key cisco123 address 200.1.1.2

crypto ipsec transform-set yeslab esp-des esp-sha-hmac

crypto map fuyi 10 ipsec-isakmp

set peer 200.1.1.2

set transform-set yeslab

match address 101

\\接口f0/1下调用

crypto map fuyi

R2#sh run | se ip nat

ip nat inside

ip nat outside

ip nat inside source list 100 interface FastEthernet1/0 overload

R2#sh access-lists

Extended IP access list 100

20 permit ip host 100.1.1.1 host 200.1.1.2 (6 matches)

R3#sh run | se cry

no service password-encryption

crypto isakmp policy 10

authentication pre-share

crypto isakmp key cisco123 address 200.1.1.1 \\注意peer地址

crypto ipsec transform-set yeslab esp-des esp-sha-hmac

crypto map fuyi 10 ipsec-isakmp

set peer 200.1.1.1 \\注意peer 地址

set transform-set yeslab

match address 101

crypto map fuyi

试验结果:

clip_p_w_picpath016

原理可以参考:

http://wenku.baidu.com/view/7560dd3210661ed9ad51f356.html


原试验可以在我下载中心下载到,

模拟试验可以在我的百度云盘下载到

http://pan.baidu.com/s/1v27eu