在×××的教程中,我们使用IPsec×××实现了站点到站点之间的×××连接,但是这是不能完全满足需求的,例如,北京总公司与上海,深圳分公司都要使用×××技术保证数据安全。并且,深圳与上海两个分公司互相传送信息也要通过总公司,因为这样可以让总公司更好的进行监控和管理,那么,这些又要如何实现。
技术拓展,首先开始我们所做的站点到站点之间的IPsec×××只是两个路由设备之间的实现,一对多并没有提到。其次分公司的互相通信也要通过×××连接,并且透过总公司进行传输,又要如何实现,我们通过以下示例进行描述。
拓扑如下:
拓扑描述:
R1模拟北京总公司,R3为上海分公司,R4为深圳分公司。连接虚拟PC作为测试使用。R2模拟ISP,只配置IP地址进行连接即可。
解决方案:
1. 多台对一台设备的×××连接。
多台路由设备跟一台设备连接×××,无非就是多配置即便配置命令即可,但是大部分命令我们可以一样,如果各种加密方式,可以设置为一样的,那么我们必须要配置的有以下几个。预共享密钥,因为预共享密钥配置命令最后需要填写对等体的IP地址,所以需要配置不同的;访问控制列表,因为不同的×××通信的内部地址也是不同的,所以需要不同的访问控制列表;加密地图,加密地图是对访问控制列表和传输集,对等体的引用,因为在接口上只能使用crypto map mapname 进行应用,只能应用一个加密地图,所以通过地图序号的不同而进行不同的连接(crypto isakmp map benetmap 10 ipsec-isakmp)。其中的10就是地图的序号,当我们创建第二个×××连接的时候使用不同的序号,例如11然后应用一次地图名称即可。在加密地图中,match address引用不同的访问控制列表和set peer引用不同的对等体,实现不同×××的连接。
2. 上海分公司和深圳分公司通过北京总公司×××通信。
其实只是访问控制列表的原因,举例来说当上海的×××服务器上配置的访问控制列表只可以到北京总部,那么其他的IP地址都会走NAT了,那么久需要在上海×××的访问控制列表上再添加一条到深圳分公司的访问控制条目。但是即使自己允许了,北京不允许还是不能通过,所以需要在北京总部的×××服务器的深圳与北京连接的访问控制表中加上一条上海到深圳的访问控制条目。同理,需要在北京到上海的×××访问控制列表中加上深圳到上海访问控制条目,再在深圳的×××服务器上加上深圳到上海的访问控制条目,通过对访问控制条目的配置,实现透过北京×××通信。
配置如下
虚PC IP地址配置
设备R1具体配置信息
R1(config)#int f0/0
R1(config-if)#ip add 200.1.1.1 255.255.255.0
R1(config-if)#no shu
R1(config-if)#int f1/0
R1(config-if)#ip add 192.168.1.1 255.255.255.0
R1(config-if)#no shu
R1(config)#ip route 0.0.0.0 0.0.0.0 200.1.1.2
R1(config)#crypto isakmp policy 10
R1(config-isakmp)#encryption aes
R1(config-isakmp)#hash md5
R1(config-isakmp)#authentication pre-share
R1(config-isakmp)#group 1
R1(config-isakmp)#lifetime 86400
R1(config-isakmp)#exit
R1(config)#crypto isakmp key 0 aa address 201.1.1.1
R1(config)#crypto isakmp key 0 bb address 202.1.1.1
R1(config)#access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
R1(config)#access-list 102 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
R1(config)#crypto ipsec transform-set benet ah-md5-hmac esp-des
R1(cfg-crypto-trans)#exit.
R1(config)#crypto map benetmap 10 ipsec-isakmp
R1(config-crypto-map)#match address 101
R1(config-crypto-map)#set peer 201.1.1.1
R1(config-crypto-map)#set transform-set benet
R1(config-crypto-map)#exit
R1(config)#crypto map benetmap 11 ipsec-isakmp
R1(config-crypto-map)#match address 102
R1(config-crypto-map)#set peer 202.1.1.1
R1(config-crypto-map)#set transform-set benet
R1(config-crypto-map)#exit
R1(config)#int f0/0
R1(config-if)#crypto map benetmap
*Mar 1 00:08:56.623: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
设备R2具体配置信息
R2(config)#int f1/0
R2(config-if)#ip add 200.1.1.2 255.255.255.0
R2(config-if)#no shu
R2(config-if)#int f0/0
R2(config-if)#ip add 201.1.1.2 255.255.255.0
R2(config-if)#no shu
R2(config)#int f2/0
R2(config-if)#ip add 202.1.1.2 255.255.255.0
R2(config-if)#no shu
设备R3配置信息
R3(config)#int f0/0
R3(config-if)#ip add 192.168.3.1 255.255.255.0
R3(config-if)#no shu
R3(config-if)#int f1/0
R3(config-if)#ip add 201.1.1.1 255.255.255.0
R3(config-if)#no shu
R3(config)#ip route 0.0.0.0 0.0.0.0 201.1.1.2
R3(config)#crypto isakmp policy 10
R3(config-isakmp)#encryption aes
R3(config-isakmp)#hash md5
R3(config-isakmp)#authentication pre-share
R3(config-isakmp)#group 1
R3(config-isakmp)#lifetime 86400
R3(config-isakmp)#exit
R3(config)#crypto isakmp key 0 aa address 200.1.1.1
R3(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.1.0 0.0.0.255
R3(config)#crypto ipsec transform-set benet ah-md5-hmac esp-des
R3(cfg-crypto-trans)#exit.
R3(config)#crypto map benetmap 10 ipsec-isakmp
R3(config-crypto-map)#match address 101
R3(config-crypto-map)#set peer 200.1.1.1
R3(config-crypto-map)#set transform-set benet
R3(config-crypto-map)#exit
R3(config)#int f1/0
R3(config-if)#crypto map benetmap
测试R1与R3之间的×××通信
R4配置信息
R4(config)#int f0/0
R4(config-if)#ip add 202.1.1.1 255.255.255.0
R4(config-if)#no shu
R4(config-if)#int f1/0
R4(config-if)#ip add 192.168.2.1 255.255.255.0
R4(config-if)#no shu
R4(config-if)#exit
R4(config)#ip route 0.0.0.0 0.0.0.0 202.1.1.2
R4(config)#crypto isakmp policy 10
R4(config-isakmp)#encryption aes
R4(config-isakmp)#hash md5
R4(config-isakmp)#authentication pre-share
R4(config-isakmp)#group 1
R4(config-isakmp)#lifetime 86400
R4(config-isakmp)#exit
R4(config)#crypto isakmp key 0 bb address 200.1.1.1
R4(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
R4(config)#crypto ipsec transform-set benet ah-md5-hmac esp-des
R4(cfg-crypto-trans)#exit
R4(config)#crypto map benetmap 10 ipsec-isakmp.
R4(config-crypto-map)#match address 101
R4(config-crypto-map)#set peer 200.1.1.1
R4(config-crypto-map)#set transform-set benet
R4(config-crypto-map)#exit
R4(config)#int f0/0
R4(config-if)#crypto map benetmap
*Mar 1 00:58:28.611: %CRYPTO-6-ISAKMP_ON_OFF: ISAKMP is ON
测试R4与R1之间的×××连接是否成功。
测试R3与R4内部是否能够通信。
不能通信,然后通过配置访问控制列表进行设置
R1(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
R1(config)#access-list 102 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
R3(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255
R4(config)#$ 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
测试结果。