首先,仍然是聊需求:

首先,老样子,先聊聊需求,为什么要做这个? 

有三个公司,其中俩个分点深圳、北京有办公人员,故需要复用公网线路(nat),使用防火墙或者路由器待定,武汉为纯机房,无需nat实现。点对点网络***建立,保证所有各分支直接通过内网进行互访。

通俗理解:

 三个分点走加密传输,不裸奔。不使用物理专线。


此处省略几百字。。。。。


好,直接上实验拓扑结构,如下。标注的比较清楚,各位随意。

PS:简单说下

R1、R5、R7分别模拟各分支的主机。

R2、R4、R6模拟各分支出口路由器

R3模拟运营商设备,这里为了方便,一台就足够了。

***互联接入方式,使用全互联,为什么不做hub-sp形状,主要不推荐这种方式。存在单点故障

Cisco-Router-IPSEC-***之基础配置篇_第1张图片

配置思路:

 1.底层所有配置打通

 2.默认路由、nat、配置

 3.ipsec-***配置

 4.测试各分支线路联通


直接上配置:


R3(模拟运营商)配置:

ISP(config)#int loopback 10

ISP(config-if)# ip address 114.114.114.114 255.255.255.255

!

ISP(config)#int f0/0

ISP(config-if)# ip address 34.1.1.3 255.255.255.0

ISP(config-if)# no shut

!

ISP(config)# int f1/0

ISP(config-if)# ip address 23.1.1.3 255.255.255.0

ISP(config-if)# no shut

!

ISP(config)# int f1/1

ISP(config-if)# ip address 36.1.1.3 255.255.255.0

ISP(config-if)# no shut

!

R1(深圳模拟主机)配置:【模拟主机】

R1(config)# no ip routing

R1(config)#int f1/0

R1(config-if)# ip address dhcp

R1(config-if)# no shut

 

R5(北京模拟主机)配置:

R5(config)# no ip routing

R5(config)#int f0/0

R5(config-if)# ip address dhcp

R5(config-if)# no shut

 

R7(武汉模拟主机)配置:

R7(config)#no ip routing

R7(config)#int f1/0

R7(config-if)# ip address dhcp

R7(config-if)# no shut



深圳router配置:

1.底层基础配置

SZ(config)#interface FastEthernet0/0

SZ(config-if)#ip address 23.1.1.2255.255.255.0

SZ(config-if)#ip nat outside     【nat ouside方向,具体不做赘述】

SZ(config-if)#crypto map ***map   【挂载***策略】

!

SZ(config)#interface FastEthernet1/0

SZ(config-if)#ip address 192.168.10.1255.255.255.0

SZ(config-if)#ip nat inside     【nat inside方向】

 

SZ(config)#ip route 0.0.0.0 0.0.0.023.1.1.3   【默认路由】


SZ(config)#ip access-list extended lan-pat   【定义名字为lan-pat的扩展ACL】

SZ(config-ext-nacl)# permit ip 192.168.10.00.0.0.255 any 【定义需要nat转换的子网】

 

SZ(config)#ip nat inside source list lan-pat interface FastEthernet0/0 overload

【开启nat出接口地址复用,并挂载扩展ACL,不做赘述】

SZ(config)#ip dhcp pool sz       【起dhcp的地址池名】

SZ(dhcp-config)# network 192.168.10.0 255.255.255.0   【允许使用的子网】

SZ(dhcp-config)# default-router 192.168.10.1   【网关】

SZ(dhcp-config)# dns-server 8.8.8.8         【DNS服务器】

SZ(dhcp-config)# lease 300               【租期】


配置互联网密钥交换(IKE) 【第一步为网络底层配置,这里省略不做赘述】

SZ(config)#crypto isakmp policy 10  

 //  定义ISAKMP策略集,以便在IPSec端点之间建立ISAKMP对等体关系,这里的10是代表的优先级,取值范围在1-10000,1表示优先级最高

SZ(config-isakmp)# encr 3des  //  配置消息加密算法为3des

SZ(config-isakmp)# authentication pre-share //  配置对等体身份验证方法为预共享密钥

SZ(config-isakmp)# group 2 //  配置密钥交换参数为1536位的Deffie-Hellman


SZ(config)#crypto isakmp key 6 allen address 34.1.1.4  //  配置第一阶段预共享密钥,密钥为allen,远程对等体的IP地址为34.1.1.4

SZ(config)#crypto isakmp key 6 allen address 36.1.1.6 //  配置第一阶段预共享密钥,密钥为allen,远程对等体的IP地址为36.1.1.6

!

SZ(config)#crypto ipsec transform-set***set esp-3des esp-md5-hmac 

//  创建一个变换集名为R1set,变换集定义数据流量如何被保护。如果不配置连接模式,默认就是tunnel,即mode tunnel

!

SZ(config)#ip access-list extended ***add  【定义名为***add俩端内网的流量,后称“感兴趣流”】

SZ(config-ext-nacl)# permit ip 192.168.10.00.0.0.255 192.168.20.0 0.0.0.255

 

SZ(config)#ip access-list extended ***add2 【定义名为***add2俩端内网的流量,后称“感兴趣流”】

SZ(config-ext-nacl)# permit ip 192.168.10.00.0.0.255 192.168.30.0 0.0.0.255


SZ(config)#crypto map ***map 10ipsec-isakmp 

//  建立IPSec加密映射,使用ISAKMP建立IPSEC SA,以保护当前加密映射条目指定的数据库

SZ(config-crypto-map)# set peer 34.1.1.4       //  指定对等体IP地址

SZ(config-crypto-map)# set transform-set***set   //  指定变换集

SZ(config-crypto-map)# match address ***add     //  引用前面定义的兴趣流扩展ACL


SZ(config)#crypto map ***map 15ipsec-isakmp

SZ(config-crypto-map)#set peer 36.1.1.6

SZ(config-crypto-map)#set transform-set***set

SZ(config-crypto-map)#match address ***add2


SZ(config)#interface FastEthernet0/0   【公网出接口】

SZ(config-if)#crypto map ***map   【挂载***策略】


到这里配置深圳分点出口路由器ipsec-***配置结束。



北京router配置:


BJ(config)#interface FastEthernet0/0

BJ(config-if)# ip address 192.168.20.1255.255.255.0

BJ(config-if)# ip nat inside

BJ(config)#interface FastEthernet1/0

BJ(config-if)# ip address 34.1.1.4255.255.255.0

BJ(config-if)# ip nat outside


 

BJ(config)# ip route 0.0.0.0 0.0.0.0 34.1.1.3


BJ(config)# ip access-list extended lan-pat

BJ(config-ext-nacl)# permit ip 192.168.20.00.0.0.255 any


BJ(config)# ip nat inside source list lan-pat interface FastEthernet1/0 overload



BJ(config)#ip dhcp pool bj

BJ(dhcp-config)# network 192.168.20.0 255.255.255.0

BJ(dhcp-config)# default-router 192.168.20.1

BJ(dhcp-config)# dns-server 8.8.8.8

BJ(dhcp-config)# lease 300

 

BJ(config)# crypto isakmp policy 10

BJ(config-isakmp)# encr 3des

BJ(config-isakmp)# authentication pre-share

BJ(config-isakmp)# group 2

 

BJ(config)# crypto isakmp key allen address 23.1.1.2

BJ(config)# crypto isakmp key allen address 36.1.1.6

 

BJ(config)#crypto ipsec transform-set***set esp-3des esp-md5-hmac


BJ(config)# ip access-list extended ***add1

BJ(config-ext-nacl)# permit ip 192.168.20.00.0.0.255 192.168.10.0 0.0.0.255

 

BJ(config)# ip access-list extended ***add2

BJ(config-ext-nacl)# permit ip 192.168.20.00.0.0.255 192.168.30.0 0.0.0.255

 

BJ(config)#crypto map ***map 10ipsec-isakmp

BJ(config-crypto-map)# set peer 23.1.1.2

BJ(config-crypto-map)# set transform-set***set

BJ(config-crypto-map)# match address***add1

 

BJ(config)#crypto map ***map 15ipsec-isakmp

BJ(config-crypto-map)# set peer 36.1.1.6

BJ(config-crypto-map)# set transform-set***set

BJ(config-crypto-map)# match address***add2


BJ(config)#interface FastEthernet1/0

BJ(config-if)# crypto map ***map


北京分点配置结束。



武汉router配置:


WH(config)# interface FastEthernet0/0

WH(config-if)# ip address 36.1.1.6255.255.255.0

WH(config-if)# crypto map ***map


WH(config)# interface FastEthernet1/0

WH(config-if)# ip address 192.168.30.1255.255.255.0


WH(config)# ip route 0.0.0.0 0.0.0.036.1.1.3



WH(config)#ip dhcp pool wh

WH(dhcp-config)# network 192.168.30.0255.255.255.0

WH(dhcp-config)# default-router 192.168.30.1

WH(dhcp-config)# dns-server 8.8.8.8

WH(dhcp-config)# lease 300

!

WH(config)#crypto isakmp policy 10

WH(config-isakmp)# encr 3des

WH(config-isakmp)# authentication pre-share

WH(config-isakmp)# group 2

 

WH(config)# crypto isakmp key allen address 23.1.1.2

WH(config)# crypto isakmp key allen address 34.1.1.4

!

WH(config)# crypto ipsec transform-set***set esp-3des esp-md5-hmac


WH(config)# ip access-list extended ***add1

WH(config-ext-nacl)# permit ip 192.168.30.00.0.0.255 192.168.10.0 0.0.0.255

WH(config)# ip access-list extended ***add2

WH(config-ext-nacl)# permit ip 192.168.30.00.0.0.255 192.168.20.0 0.0.0.255


WH(config)# crypto map ***map 10ipsec-isakmp

WH(config-crypto-map)# set peer 23.1.1.2

WH(config-crypto-map)# set transform-set***set

WH(config-crypto-map)# match address***add1

 

WH(config)# crypto map ***map 15ipsec-isakmp

WH(config-crypto-map)# set peer 34.1.1.4

WH(config-crypto-map)# set transform-set***set

WH(config-crypto-map)# match address***add2


武汉分点配置结束。



好,现在开始从深圳测试ping北京、武汉分点内网主机,ping武汉分点:

R1#ping 192.168.20.2


Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.20.2, timeout is 2 seconds:

UUUUU

Success rate is 0 percent (0/5)


R1#ping 192.168.30.2

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.30.2, timeout is 2 seconds:

UUUUU

Success rate is 0 percent (0/5)

R1#


从北京测试ping深圳、武汉内网主机:

R5#ping 192.168.10.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:

UUUUU

Success rate is 0 percent (0/5)


R5#ping 192.168.30.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.30.1, timeout is 2 seconds:

UUUUU

Success rate is 0 percent (0/5)

R5#



为什么呢?明明配置都是正确的,为什么是U(目标不可达)?因为是实验环境,我们不妨做一次nat debug调试看下路由器处理的过程【真机不要随便debug,切记】

BJ#debug ip nat detailed 

*Dec 23 16:47:08.935: NAT: o: icmp (192.168.30.1, 8) -> (34.1.1.4, 8) [61]     

*Dec 23 16:47:08.935: NAT: s=34.1.1.3, d=34.1.1.4->192.168.20.2 [61]

*Dec 23 16:47:09.003: NAT*: i: icmp (192.168.20.2, 8) -> (192.168.30.1, 8) [34502]

*Dec 23 16:47:09.003: NAT*: s=192.168.20.2->34.1.1.4, d=192.168.30.1 [34502]

*Dec 23 16:47:09.067: NAT: o: icmp (192.168.30.1, 8) -> (34.1.1.4, 8) [62]     

*Dec 23 16:47:09.071: NAT: s=34.1.1.3, d=34.1.1.4->192.168.20.2 [62]


分析上面日志发现北京的主机出去访问,怎么被nat转换成公网地址了。这个明显有问题。公网地址ping内网地址,肯定ping不通的。

因为深圳分店存在NAT转换,,我们在给出接口natoverload的时候,如果不把对端内网的流量提前deny,即:强行让流量不走nat出去。也就是在我们其他产商口中提到的“源不转换”的配置。

PS:为什么武汉不用做源不转换,因为武汉不存在nat复用的情况,所以无需配置“源不转换”

所以这里,立刻发现,北京的分点有nat出接口复用,会不会是发起对端内网访问时,匹配到了这条acl。

BJ#show ip access-lists

Extended IP access list lan-pat

    10 permit ip 192.168.20.0 0.0.0.255 any (2 matches)  【果然默认匹配到了】


good,问题找到了,那我们进到这个lan-pat的acl中,将源和目的的访问再该acl里面进行deny,使***的流量匹配到tunnel上,走tunnel隧道出去。

BJ(config)#ip access-list extended lan-pat

BJ(config-ext-nacl)# 1 deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255

BJ(config-ext-nacl)# 2 deny ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255


PS:命令最前面的1是序列号,思科默认从10开始排序,这里写1自然就排到了默认10的上面。那现在我们在访问下试试

R5#ping 192.168.10.1               

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.10.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/41/60 ms


R5#ping 192.168.30.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.30.1, timeout is 2 seconds:

.!!!!

Success rate is 80 percent (4/5), round-trip min/avg/max = 20/41/60 ms

R5#


 

好了,到这里,所有分支的内网主机全部互相ping通,皆大欢喜。因为这是比较基础和普遍的IPSEC-***部署方式,我这里就不过多说了。


欢迎各位大拿,路过拍砖。一字一句,都非常感谢。