前言:
***作为一项成熟的技术,广泛应用于组织总部和分支机构之间的组网互联,其利用组织已有的互联网出口,虚拟出一条“专线”,将组织的分支机构和总部连接起来,组成一个大的局域网。IPSEC引进了完整的安全机制,包括加密、认证和数据防篡改功能。
IPsec的协商分为两个阶段:
第一阶段:验证对方,协商出IKE SA ,保护第二阶段IPSEC Sa协商过程
第二阶段:保护具体的数据流
拓扑如下:
(测试结果用红色字体展现)
在这种情况下,不做NAT的时候,***可以正常使用,两边的私网是不能访问互联网的。
那么在做了NAT之后,私网可以访问互联网了,但是 *** 却不能通信了。那么要怎么解决呢?
***的配置这里就不再做过多的说明了,之前写的博客里面有做详细的配置讲解。要看的小伙伴们可以查看 http://pengjiawang.blog.51cto.com/10989721/1853989 哦!
下面我们直接开始做NAT吧!
首先测试一下IPSec ***的联通性
CQ#ping 2.2.2.2 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 36/61/80 ms
CQ#
是可以通的哦!
测试与互联网的连通性
CQ#ping 202.1.1.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/44 ms
CQ#ping 202.1.1.1 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
.....
Success rate is 0 percent (0/5)
CQ#
可以看出,私网是不能ping通互联网的哈!
做NAT的配置
CQ(config)#ip access-list extended pat
CQ(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 any //允许网段1.1.1.0访问所有的网段。因为互联网上的地址很多,不可能一个个的配置。
CQ(config)#ip nat inside source list pat interface f0/0 overload //做基于接口的pat
CQ(config)#int f0/0
CQ(config-if)#ip nat outside
CQ(config-if)#int lo 0
CQ(config-if)#ip nat inside
//应用到接口,那么NAT已经做完了,下面来测试一下结果
CQ#ping 202.1.1.1 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/13/24 ms
CQ#
测试***
CQ#ping 2.2.2.2 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
UUUUU
Success rate is 0 percent (0/5)
CQ#
可以看得出,显示的是不可达。为什么会这样呢?
我们来查看一下ACL
CQ#sh ip access-lists
Extended IP access list pat
10 permit ip 1.1.1.0 0.0.0.255 any (8 matches)
Extended IP access list ***
10 permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 (20 matches)
CQ#
有两个ACL,一个是***的,一个是NAT的
其实,cisco路由器上的ACL是有优先级的,那么在cisco中,认为NAT的规则要优先于map的规则。
那么在这种情况下就会出现一个很有趣的现象
一开始 1.1.1.0 的网段进入路由器,匹配的显示名为pat的策略,而这条策略是做NAT转换的,转换了之后,互联网上不存在私网 2.2.2.0 的地址,所以就会显示不可达。实际上,因为策略 pat 已经匹配了这股流量,那么 *** 就不会再匹配了。
那要怎么解决呢?
其实我们可以根据他的规则做出相应的改变,我们可以在规则 pat 剔除去往 2.2.2.0 的流量(***流量),从而让 *** 的策略匹配这股流量。
配置如下:
CQ(config)#ip access-list extended pat
CQ(config-ext-nacl)#5 deny ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 //定义的序号为5 序号要在 10 permit ip 1.1.1.0 0.0.0.255 any 的前面,因为acl是从上往下匹配的
这样的话,在pat这条策略里面,就不会去匹配***的流量了,转而让***的策略匹配
测试结果:
CQ#ping 2.2.2.2 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 16/32/44 ms
CQ#ping 202.1.1.1 so lo 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:
Packet sent with a source address of 1.1.1.1
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 4/24/44 ms
CQ#
这样问题就解决了。