1.拓扑图:

 

2.基本接口配置

R1:

R1(config)#int e0/0
R1(config-if)#ip add 10.1.1.1 255.255.2555.0
R1(config-if)#no sh

R1(config-if)#int l0
R1(config-if)#ip add 1.1.1.1 255.255.255.0

FW1:

pixfirewall(config)# int e0
pixfirewall(config-if)# ip add 10.1.1.10 255.255.255.0
pixfirewall(config-if)# nameif inside
INFO: Security level for "inside" set to 100 by default.
pixfirewall(config-if)# no sh

pixfirewall(config-if)# int e1
pixfirewall(config-if)# ip add 202.100.1.10 255.255.255.0
pixfirewall(config-if)# nameif outside
INFO: Security level for "outside" set to 0 by default.
pixfirewall(config-if)# no sh

R2:

R2(config)#INT E0/0
R2(config-if)#ip add 202.100.1.2 255.255.255.0
R2(config-if)#no sh
R2(config-if)#int e0/1
R2(config-if)#ip add 202.100.2.2 255.255.255.0
R2(config-if)#no sh

R3:

R3(config)#int e0/0
R3(config-if)#ip add 202.100.2.3 255.255.255.0
R3(config-if)#no sh
R3(config-if)#ip add 3.3.3.3 255.255.255.0
R3(config-if)#no sh


3.路由配置:

R1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.10
pixfirewall(config)# route outside 0.0.0.0 0.0.0.0 202.100.1.2
R3(config)#ip route 0.0.0.0 0.0.0.0 202.100.2.2

4.防火墙NAT及策略配置:

pixfirewall(config)#  access-list 10 permit ip 10.1.1.0 255.255.255.0 any
pixfirewall(config)# nat (inside) 1 access-list 10
pixfirewall(config)# global (outside) 1 interface

pixfirewall(config)# access-list outside extended permit icmp any any
pixfirewall(config-if)# access-group outside in interface outside
 

备注:可以不用针对***放行udp的500和4500端口,所有的***流量可以由防火墙内部路由器动态路由协议触发,在R3看到的源端口不是4500,而是防火墙NAT的一个随机端口,并且防火墙会维护这个状态信息,返回的包不需要策略即可放行。


5.***配置

R1:

A.配置感兴趣流
R1(config)#ip access-list extended ***
R1(config-ext-nacl)#permit gre any any


B.配置第一阶段策略:
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#group 2
R1(config-isakmp)#ha md
R1(config-isakmp)#en de
R1(config-isakmp)#au pr
R1(config-isakmp)#exit
R1(config)#crypto isakmp key 0 cisco address 202.100.2.3

C.配置第二阶段策略:

R1(config)#crypto ipsec transform-set transet esp-des esp-md5-hmac

D.配置Crypto MAP:
R1(config)#crypto map crymap 10 ipsec-isakmp
R1(config-crypto-map)#set peer 202.100.2.3
R1(config-crypto-map)#set transform-set transet
R1(config-crypto-map)#match address ***

E.物理接口应用MAP:
R1(config)#int e0/0
R1(config-if)#crypto map crymap

R3:

A.配置感兴趣流

R3(config)#ip access-list extended ***
R3(config-ext-nacl)#permit gre any any

B.配置第一阶段策略:

R3(config)#crypto isakmp policy 10
R3(config-isakmp)#en des
R3(config-isakmp)#ha md
R3(config-isakmp)#gr 2
R3(config-isakmp)#au pr
R3(config-isakmp)#exit
R3(config)#crypto isakmp key 0 cisco add 202.100.1.10

C.配置第二阶段策略:
R3(config)#crypto ipsec transform-set transet esp-des esp-md5-hmac

D.配置Crypto MAP:
R3(config)#crypto map crymap 10 ipsec-isakmp
R3(config-crypto-map)#set peer 202.100.1.10
R3(config-crypto-map)#set transform-set transet
R3(config-crypto-map)#match address ***

E.物理接口应用MAP:
R3(config)#int e0/0
R3(config-if)#crypto map crymap

6.GRE及动态路由配置

R1:

R1(config)#int tunnel 0
R1(config-if)#ip add 192.168.0.1 255.255.255.0
R1(config-if)#tunnel source ethernet 0/0
R1(config-if)#tunnel destination 202.100.2.3

R1(config)#router ospf 1
R1(config-router)#router-id 1.1.1.1
R1(config-router)#network 1.1.1.0 0.0.0.255 a 0
R1(config-router)#network 192.168.0.0 0.0.0.255 a 0

R3:

R3(config)#int tunnel 0
R3(config-if)#ip add 192.168.0.3 255.255.255.0
R3(config-if)#tunnel source ethernet 0/0
R3(config-if)#tunnel destination 10.1.1.1

备注:目标地址必须为R1实际接口地址,GRE被IPSEC包裹,如果目标地址写NAT后的地址,无法被R1识别。

R3(config)#router ospf 1
R3(config-router)#router-id 3.3.3.3
R3(config-router)#network 3.3.3.0 0.0.0.255 a 0
R3(config-router)#network 192.168.0.0 0.0.0.255 a 0