我们来介绍Router与ASA之间配置LAN-to-LAN×××,即Router-to-ASA LAN-to-LAN××× 来加深对防火墙以及ipsec LAN-to-LAN×××的理解
实验环境拓扑如下:
说明:我们下面需要以上图的环境来演示LAN-to-LAN×××的效果,其中两个远程公司的网络上海和北京,如R5与R4之间需要直接使用私有地址来互访,比如R5通过直接访问地址192.168.1.4来访问R4,而R2则相当于Internet路由器,R2只负责让R1与ASA能够通信,R2不会配置任何路由,R2不允许拥有上海与北京公司内部的路由10.1.1.0与192.168.1.0,在配置完LAN-to-LAN×××之后,最终上海与北京两个网络之间通过×××隧道来穿越没有路由的R2来进行通信,实现在私网与私网之间穿越公网的通信。
1.配置基础网络环境
(1)配置R1:
r1(config)#intf0/0
r1(config-if)#ip add12.1.1.1 255.255.255.0
r1(config-if)#nosh
r1(config-if)#exit
r1(config)#intf0/1
r1(config-if)#ip add10.1.1.1 255.255.255.0
r1(config-if)#nosh
r1(config-if)#exit
r1(config)#ip route0.0.0.0 0.0.0.0 12.1.1.2
说明:配置R1的接口地址,并写默认路由指向Internet(路由器R2),地址12.1.1.2。
(2)配置R2:
r2(config)#intf0/0
r2(config-if)#ip add12.1.1.2 255.255.255.0
r2(config-if)#nosh
r2(config-if)#exit
r2(config)#intf0/1
r2(config-if)#ip add23.1.1.2 255.255.255.0
r2(config-if)#nosh
r2(config-if)#exit
说明:配置R2的接口地址,因为R2模拟Internet,R2只需要有公网路由12.1.1.0和23.1.1.0即可,所以R2不需要写任何路由,也不允许写任何路由。
配置ASA:
ciscoasa(config)# inte0/0
ciscoasa(config-if)# ipadd 192.168.1.3 255.255.255.0
ciscoasa(config-if)# noshut
ciscoasa(config-if)#nameif inside
INFO: Security level for"inside" set to 100 by default.
ciscoasa(config-if)#exit
ciscoasa(config)# inte0/1
ciscoasa(config-if)# ipadd 23.1.1.3 255.255.255.0
ciscoasa(config-if)# noshut
ciscoasa(config-if)#nameif outside
INFO: Security level for"outside" set to 0 by default.
ciscoasa(config-if)#
ciscoasa(config-if)#route outside 0 0 23.1.1.2
说明:配置ASA的接口地址,并写默认路由指向Internet(路由器R2),地址23.1.1.2。
2.测试基础网络环境
(1)测试R1到ASA的连通性:
r1#ping23.1.1.3
Type escape sequence toabort.
Sending 5, 100-byte ICMPEchos to 23.1.1.3, timeout is 2 seconds:
!!!!!
Success rate is 100percent (5/5), round-trip min/avg/max = 20/44/80 ms
r1#
说明:因为R1与ASA都有默认路由指向Internet(路由器R2),而R2与R1和ASA都是可达的,所以R1与ASA通信正常。
说明:因为R2模拟Internet路由器,所以R2没有写任何路由,R2的责任就只是保证R1与ASA能够通信即可。
3.配置LAN-to-LAN×××
(1)在ASA上配置IKE(ISAKMP)策略:
ciscoasa(config)# cryptoisakmp policy 1
ciscoasa(config-isakmp-policy)#encryption 3des
ciscoasa(config-isakmp-policy)#hash sha
ciscoasa(config-isakmp-policy)#authentication pre-share
ciscoasa(config-isakmp-policy)#group 2
ciscoasa(config-isakmp-policy)#exit
说明:定义了ISAKMP policy1,加密方式为3des,hash算法为sha,认证方式为Pre-Shared Keys(PSK),密钥算法(Diffie-Hellman)为group2。
(2)在ASA上定义认证标识:
ciscoasa(config)#tunnel-group 12.1.1.1 type ipsec-l2l
ciscoasa(config)#tunnel-group 12.1.1.1 ipsec-attributes
ciscoasa(config-tunnel-ipsec)#pre-shared-key cisco123
ciscoasa(config-tunnel-ipsec)#exit
说明:因为之前定义的认证方式为Pre-SharedKeys (PSK),所以需要定义认证密码,这里定义与peer12.1.1.1,即与R1的认证密码为cisco123,并且双方密码必须一致,否则无法建立IKESA。
(3)在ASA上配置IPsectransform:
ciscoasa(config)# cryptoipsec transform-set ccie esp-3des esp-sha-hmac
说明:配置了transform-set为ccie,其中数据封装使用esp加3des加密,并且使用esp结合sha做hash计算。
(4)在ASA上定义感兴趣流量:
ciscoasa(config)#access-list *** permit ip 192.168.1.0 255.255.255.0 10.1.1.0255.255.255.0
说明:这里需要被IPsec保护传输的流量为北京公司至上海公司的流量,即192.168.1.0/24发往10.1.1.0/24的流量,切记不可使用any来表示地址。
(5)在ASA上创建cryptomap:
ciscoasa(config)# cryptomap l2l 1 match address ***
ciscoasa(config)# cryptomap l2l 1 set peer 12.1.1.1
ciscoasa(config)# cryptomap l2l 1 set transform-set ccie
说明:在ASA上配置cryptomap为l2l,序号为1,即第1组策略,其中指定加密数据发往的对端为12.1.1.1,即和12.1.1.1建立IPsec隧道,调用的IPsectransform为ccie,并且指定ACL***中的流量为被保护的流量。
(6)在ASA上将cryptomap和ISAKMP策略应用于接口outside接口E0/1:
ciscoasa(config)# cryptomap l2l interface outside
ciscoasa(config)# cryptoisakmp enable outside
说明:将cryptomap和ISAKMP策略应用在去往上海公司的接口E1上。
(7)使用相同方式配置R1的LAN-to-LAN×××:
r1(config)#crypto isakmppolicy 1
r1(config-isakmp)#encryption3des
r1(config-isakmp)#hashsha
r1(config-isakmp)#authenticationpre-share
r1(config-isakmp)#group2
r1(config-isakmp)#exit
r1(config)#crypto isakmpkey cisco123 address 23.1.1.3
r1(config)#crypto ipsectransform-set ccie esp-3des esp-sha-hmac
r1(cfg-crypto-trans)#exit
r1(config)#access-list100 permit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255
r1(config)#crypto mapl2l 1 ipsec-isakmp
r1(config-crypto-map)#setpeer 23.1.1.3
r1(config-crypto-map)#settransform-set ccie
r1(config-crypto-map)#matchaddress 100
r1(config-crypto-map)#exit
r1(config)#intf0/0
r1(config-if)#crypto mapl2l
r1(config-if)#exit
r1(config)#
*Mar 1 00:21:45.171:%CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
r1(config)#
说明:R1与PIX的IKE和IPsec策略必须保持一致。
4.测试×××
(1)从上海公司c2向北京公司c1发送流量:
r5#ping192.168.1.4
Type escape sequence toabort.
Sending 5, 100-byte ICMPEchos to 192.168.1.4, timeout is 2 seconds:
!!!!!
Success rate is 100percent (5/5), round-trip min/avg/max = 44/96/160 ms
说明:上海公司c2向北京公司c1发送的5个数据包,有5个成功穿越了Internet,说明该流量激活了IKESA,并且在双方应该成功建立了IPsec隧道,所以才实现了×××的功能。需要注意的是,如果没有触发流量成功,请到对端发送流量触发。
说明:由于双方×××配置正确且相同,所以×××隧道已经成功转发双方的流量。
(3)查看R1上IKESA的peer:
r1#show crypto isakmppeers
Peer: 23.1.1.3 Port: 500Local: 12.1.1.1
Phase1 id:23.1.1.3
说明:R1已经成功与ASA建立IKEpeer,说明IKESA也应该成功建立,R1本地源地址为12.1.1.1,目标为23.1.1.3,目标端口号为500。
(4)查看R1上的IKESA(ISAKMPSA):
r1#show crypto isakmpsa
IPv4 Crypto ISAKMPSA
dst src state conn-idslot status
12.1.1.1 23.1.1.3QM_IDLE 1002 0 ACTIVE
IPv6 Crypto ISAKMPSA
说明:R1已经成功与ASA建立IKESA。
(7)查看ASA上IKESA的peer:
ciscoasa# show cryptoisakmp sa
Active SA: 1
Rekey SA: 0 (A tunnelwill report 1 Active and 1 Rekey SA during rekey)
Total IKE SA:1
1 IKE Peer:12.1.1.1
Type : L2L Role :initiator
Rekey : no State :MM_ACTIVE
ciscoasa#
说明:ASA上也看到已经成功与R1建立IKEpeer,说明IKESA也应该成功建立。
(8)查看ASA上的激活的隧道数:
ciscoasa# show cryptoisakmp stats
Global IKEStatistics
Active Tunnels:1
Previous Tunnels:2
In Octets:5012
In Packets:34
In Drop Packets:5
In Notifys:10
In P2 Exchanges:10
In P2 Exchange Invalids:0
In P2 Exchange Rejects:0
In P2 Sa DeleteRequests: 1
Out Octets:3648
Out Packets:24
Out Drop Packets:0
Out Notifys:16
Out P2 Exchanges:1
Out P2 ExchangeInvalids: 0
Out P2 Exchange Rejects:0
Out P2 Sa DeleteRequests: 1
Initiator Tunnels:1
Initiator Fails:0
Responder Fails:0
System Capacity Fails:0
Auth Fails: 0
Decrypt Fails:0
Hash Valid Fails:0
No Sa Fails:0
ciscoasa#
说明:如果已经与一方成功建立IKESA,那么在这里就需要看到至少1个活动隧道(ActiveTunnels)。
(9)查看ASA上的IPsecSA:
ciscoasa# show cryptoipsec sa
interface:outside
Crypto map tag: l2l, seqnum: 1, local addr: 23.1.1.3
access-list *** permitip 192.168.1.0 255.255.255.0 10.1.1.0 255.255.255.0
local ident(addr/mask/prot/port): (192.168.1.0/255.255.255.0/0/0)
remote ident(addr/mask/prot/port): (10.1.1.0/255.255.255.0/0/0)
current_peer:12.1.1.1
#pkts encaps: 6, #pktsencrypt: 6, #pkts digest: 6
#pkts decaps: 7, #pktsdecrypt: 7, #pkts verify: 7
#pkts compressed: 0,#pkts decompressed: 0
#pkts not compressed: 6,#pkts comp failed: 0, #pkts decomp failed: 0
#pre-frag successes: 0,#pre-frag failures: 0, #fragments created: 0
#PMTUs sent: 0, #PMTUsrcvd: 0, #decapsulated frgs needing reassembly: 0
#send errors: 0, #recverrors: 0
local crypto endpt.:23.1.1.3, remote crypto endpt.: 12.1.1.1
path mtu 1500, ipsecoverhead 58, media mtu 1500
current outbound spi:F04751E8
inbound espsas:
spi: 0x1E66BA90(510048912)
transform: esp-3desesp-sha-hmac none
in use settings ={L2L,Tunnel, }
slot: 0, conn_id: 8192,crypto-map: l2l
sa timing: remaining keylifetime (kB/sec): (4274999/3502)
IV size: 8bytes
replay detectionsupport: Y
outbound espsas:
spi: 0xF04751E8(4031205864)
transform: esp-3desesp-sha-hmac none
in use settings ={L2L,Tunnel, }
slot: 0, conn_id: 8192,crypto-map: l2l
sa timing: remaining keylifetime (kB/sec): (4274999/3502)
IV size: 8bytes
replay detectionsupport: Y
ciscoasa#
说明:IPsecSA中显示了之前通了的包成功被IPsec加密,并且可以看出该SA为Active状态,同样,目前的IPsecmode工作在Tunnel模式。
5.测试NAT对LAN-to-LAN××× 的影响:
(1)在ASA上配置NAT:
ciscoasa(config)# global(outside) 1 interface
INFO: outside interfaceaddress added to PAT pool
ciscoasa(config)# nat(inside) 1 0.0.0.0 0.0.0.0
说明:在北京公司防火墙ASA上开启NAT,并且将所有内网流量通过NAT将源IP转换为外网接口E0/1(即outside口)的地址。
(2)从上海公司c2向北京公司c1发送流量:
c2#ping192.168.1.4
Type escape sequence toabort.
Sending 5, 100-byte ICMPEchos to 192.168.1.4, timeout is 2 seconds:
.....
说明:和预期一样,IPsec流量是不能穿越NAT的。
说明:北京公司到上海公司的流量也不能穿越NAT。
(4)配置ASA使北京公司到上海公司的流量绕过NAT:
ciscoasa(config)#access-listnonat extended permit ip 192.168.1.0 255.255.255.0 10.1.1.0255.255.255.0
ciscoasa(config)# nat(inside) 0 access-list nonat
说明:在NAT进程0的流量则不被NAT转换,所以北京公司到上海公司的流量不被NAT转换。
(5)再次从北京公司c1向上海公司c2发送流量:
r5#ping192.168.1.4
Type escape sequence toabort.
Sending 5, 100-byte ICMPEchos to 192.168.1.4, timeout is 2 seconds:
!!!!!
Success
rate is 100 percent(5/5), round-trip min/avg/max = 44/93/232 ms说明:因为配置了北京公司到上海公司的流量不被NAT转换,所以北京公司到上海公司的流量再次通过IPsec×××隧道穿越了Internet。
说明:同上原因,上海公司到北京公司的流量再次通过IPsec×××隧道穿越了Internet。
转载于:https://blog.51cto.com/983865387/1858615