拓扑:

描述:

1、总部HQ有2条公网出口,出接口e0/1连接ISP-1,出接口e0/2接口连接ISP-2;

2、该拓扑有3个分支机构,分别为Branch1、Branch2、Branch3,其中Branch1公网接口是固定IP地址,Branch2和Branch3是动态获取(模拟动态);

3、HQ连接ISP-1接口的固定ip地址是202.101.1.1/30,通过该接口与各Branch建立IPSec V*N,由于分支机构路由器不支持GRE封装(某些厂商品牌的路由器确实不支持),所以只能建立纯IPSec V*N;

4、ISP-1、ISP-2、Telnet服务器部署在公共网络,通过交换机互联的MA网络地址段8.8.8.0/24,Telnet服务器地址8.8.8.8/24,公网使用eigrp动态路由协议宣告各自直连网段,实现公网互通;

需求:

1、总部HQ内网有2个网段,其中10.100.1.0/24访问公网选择出口ISP-1、10.100.2.0/24访问公网选择出口ISP-2,两条线路互备;

2、总部HQ路由器连接ISP-1出口与各Branch建立IPSec V*N,其中Branch1是固定IP地址、Branch2和Branch3是动态获取公网IP地址;

3、IPSec V*N建立后,可以实现各站点之间内网互通;

4、Branch之间的内网互访需通过HQ进行转发;

公网配置:

hostname ISP-1

!

interface Ethernet0/0

ip address 202.101.1.2 255.255.255.252

!

interface Ethernet0/1

ip address 1.3.1.10 255.255.255.0

!

interface Ethernet0/2

ip address 1.3.2.10 255.255.255.0

!

interface Ethernet0/3

ip address 8.8.8.1 255.255.255.0

!

router eigrp 1

network 0.0.0.0

!

hostname ISP-2

!

interface Ethernet0/0

ip address 60.137.1.2 255.255.255.252

!

interface Ethernet0/1

ip address 1.4.1.10 255.255.255.0

!

interface Ethernet0/2

ip address 8.8.8.2 255.255.255.0

!

interface Ethernet0/3

no ip address

shutdown

!

router eigrp 1

network 0.0.0.0

!

hostname Telnet

!

username cisco privilege 15 password 0 cisco123

!

interface Ethernet0/0

ip address 8.8.8.8 255.255.255.0

!

router eigrp 1

network 0.0.0.0

!

line vty 0 4

login local

transport input all

!

通过以上配置,可以实现HQ与各分支机构路由器外网口互通

企业网配置

分支配置

分支机构VPN配置按照正常的IPSec VPN L2L配置,由于访问Internet要在出口路由器做nat,所以注意nat的感兴趣流要排除VPN之间互访流量,由于分支之间也有VPN隧道(分支-中心-分支),所以不要忘记排除分支之间的感兴趣流

hostname Branch1

!

crypto isakmp policy 10

encr aes

hash sha256

authentication pre-share

group 5

crypto isakmp key cisco123 address 202.101.1.1

!

crypto ipsec transform-set MYTRANS esp-aes esp-sha256-hmac

mode tunnel

!

crypto map MYMAP 10 ipsec-isakmp

set peer 202.101.1.1

set transform-set MYTRANS

match address VPN

!

interface Loopback0

ip address 10.1.1.1 255.255.255.0

ip nat inside

!

interface Ethernet0/0

ip address 1.3.1.1 255.255.255.0

ip nat outside

crypto map MYMAP

!

ip nat inside source list INTERNET interface Ethernet0/0 overload

!

ip route 0.0.0.0 0.0.0.0 1.3.1.10

!

ip access-list extended INTERNET

deny   ip 10.1.0.0 0.0.255.255 10.100.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.3.0.0 0.0.255.255

permit ip any any

#NAT感兴趣流,不要忘记排除分支之间的感兴趣流

!

ip access-list extended VPN

permit ip 10.1.0.0 0.0.255.255 10.100.0.0 0.0.255.255

permit ip 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255

permit ip 10.1.0.0 0.0.255.255 10.3.0.0 0.0.255.255

#VPN感兴趣流,不要忘记添加分支之间的感兴趣流

hostname Branch2

!

crypto isakmp policy 10

encr aes

hash sha256

authentication pre-share

group 5

crypto isakmp key cisco123 address 202.101.1.1

crypto isakmp keepalive 10 3 periodic

!

crypto ipsec transform-set MYTRANS esp-aes esp-sha256-hmac

mode tunnel

!

crypto map MYMAP 10 ipsec-isakmp

set peer 202.101.1.1

set transform-set MYTRANS

match address VPN

!

interface Loopback0

ip address 10.2.2.2 255.255.255.0

ip nat inside

!

interface Ethernet0/0

ip address 1.3.2.2 255.255.255.0

ip nat outside

crypto map MYMAP

!

ip nat inside source list INTERNET interface Ethernet0/0 overload

!

ip route 0.0.0.0 0.0.0.0 1.3.2.10

!

ip access-list extended INTERNET

deny   ip 10.2.0.0 0.0.255.255 10.100.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.3.0.0 0.0.255.255

permit ip any any

#NAT感兴趣流,不要忘记排除分支之间的感兴趣流

!

ip access-list extended VPN

permit ip 10.2.0.0 0.0.255.255 10.100.0.0 0.0.255.255

permit ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255

permit ip 10.2.0.0 0.0.255.255 10.3.0.0 0.0.255.255

#VPN感兴趣流,不要忘记添加分支之间的感兴趣流

hostname Branch3

!

crypto isakmp policy 10

encr aes

hash sha256

authentication pre-share

group 5

crypto isakmp key cisco123 address 202.101.1.1

!

crypto ipsec transform-set MYTRANS esp-aes esp-sha256-hmac

mode tunnel

!

crypto map MYMAP 10 ipsec-isakmp

set peer 202.101.1.1

set transform-set MYTRANS

match address VPN

!

interface Loopback0

ip address 10.3.3.3 255.255.255.0

ip nat inside

!

interface Ethernet0/0

ip address 1.4.1.3 255.255.255.0

ip nat outside

crypto map MYMAP

!

ip nat inside source list INTERNET interface Ethernet0/0 overload

!

ip route 0.0.0.0 0.0.0.0 1.4.1.10

!

ip access-list extended INTERNET

deny   ip 10.3.0.0 0.0.255.255 10.100.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.2.0.0 0.0.255.255

permit ip any any

#NAT感兴趣流,不要忘记排除分支之间的感兴趣流

!

ip access-list extended VPN

permit ip 10.3.0.0 0.0.255.255 10.100.0.0 0.0.255.255

permit ip 10.3.0.0 0.0.255.255 10.1.0.0 0.0.255.255

permit ip 10.3.0.0 0.0.255.255 10.2.0.0 0.0.255.255

#VPN感兴趣流,不要忘记添加分支之间的感兴趣流

HQ总部配置

hostname HQ

!

ip sla 1

icmp-echo 202.101.1.2 source-ip 202.101.1.1

frequency 5

ip sla schedule 1 life forever start-time now

!

ip sla 2

icmp-echo 60.137.1.2 source-ip 60.137.1.1

frequency 5

ip sla schedule 2 life forever start-time now

!

track 1 ip sla 1 reachability

#track 1 关联 ip sla 1 可达性

track 2 ip sla 2 reachability

#track 2 关联 ip sla 2 可达性

!

crypto isakmp policy 10

encr aes

hash sha256

authentication pre-share

group 5

#第一阶段策略

!

crypto isakmp key cisco123 address 0.0.0.0

#由于Branch2和Branch3是动态地址,所以只能使用0.0.0.0来匹配任意地址,也就是说不管Branch使用什么公网地址,只要有相同的预共享密钥,就能建立IPSec VPN

crypto ipsec transform-set MYTRANS esp-aes esp-sha256-hmac

mode tunnel

#第二阶段转换集

!

crypto dynamic-map MYDYMAP 9999

set transform-set MYTRANS

#创建动态map,用于与动态获取公网地址的Branch建立第二阶段SA,动态crypto map配置模式下只需要设置转换集,任意的peer和感兴趣流都可以被HQ中心站点接受,其实中心站点也无法设置peer和感兴趣流。因为Branch端公网地址和内部网络中心站点并不知道。所以,HQ和分支之间如果要建立隧道,只能由分支先触发感兴趣流,等建立了第一阶段和第二阶段的SA后,HQ就可以主动访问分支的内网了

!

ip access-list extended VPN_LIST_Branch1

permit ip 10.100.0.0 0.0.255.255 10.1.0.0 0.0.255.255

permit ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255

permit ip 10.3.0.0 0.0.255.255 10.1.0.0 0.0.255.255

#中心站点HQ与Branch1分支建立隧道的感兴趣流,由于HQ中转分支之间的VPN互访流量,所以不要忘记添加从其他分支到Branch1的感兴趣流

!

crypto map MYMAP 10 ipsec-isakmp

set peer 1.3.1.1

set transform-set MYTRANS

match address VPN_LIST_Branch1

#与Branch1分支建立静态map

crypto map MYMAP 1000 ipsec-isakmp dynamic MYDYMAP

#由于一个互联网接口只能调用一个crypto map,如果中心站点路由器要同时与多个对等体建立多个IPSec VPN,可以通过配置多个crypto map的序号来实现。例如,crypto map MYMAP 10和第一个站点建立IPSec VPN,crypto map MYMAP 20和第二个站点建立IPSec VPN。一般动态crypto map的序号应该配置较大,是为了让那些序号小的静态crypto map策略优先匹配,如果匹配不上明细策略,剩余的IPSec VPN连接请求由动态crypto map来处理。

interface Ethernet0/0

ip address 10.100.254.1 255.255.255.252

ip nat inside

ip policy route-map RM_PBR

#接口调用PBR,实现数据分流,PBR的方向永远是接收数据in方向

!

interface Ethernet0/1

ip address 202.101.1.1 255.255.255.252

ip nat outside

crypto map MYMAP

#连接ISP-1的外网接口,调用crypto map,该接口为固定IP地址,与分支建立IPSec VPN

!

interface Ethernet0/2

ip address 60.137.1.1 255.255.255.252

ip nat outside

!

router ospf 100

router-id 10.100.255.1

network 10.100.254.1 0.0.0.0 area 0

default-information originate

#内网OSPF配置,不做过多赘述

!

ip access-list extended NAT_LIST_INTERNET

deny   ip 10.100.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.100.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.100.0.0 0.0.255.255 10.3.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.3.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.3.0.0 0.0.255.255

permit ip any any

#定义内网访问外网NAT转换list,此处要排除VPN感兴趣流量,由于有分支之间互访流量,所以不要忘记排除分支之间互访的感兴趣流

route-map NAT_ISP1 permit 10

match ip address NAT_LIST_INTERNET

match interface Ethernet0/1

#创建名称为NAT_ISP1的route-map,用于nat转换源使用,匹配名称为NAT_LIST_INTERNET的感兴趣流和出接口Ethernet0/1,两个match语句必须都匹配

!

route-map NAT_ISP2 permit 10

match ip address NAT_LIST_INTERNET

match interface Ethernet0/2

#创建名称为NAT_ISP2的route-map,用于nat转换源使用,匹配名称为NAT_LIST_INTERNET的感兴趣流和出接口Ethernet0/2,两个match语句必须都匹配

!

ip nat inside source route-map NAT_ISP1 interface Ethernet0/1 overload

#创建第一个NAT转换表项,通过查找路由表,如果数据流匹配了该route-map语句,流量源来至NAT_LIST_INTERNET,出接口是e0/1,则转换出接口e0/1的接口IP地址,并做PAT

!

ip nat inside source route-map NAT_ISP2 interface Ethernet0/2 overload

#创建第二个NAT转换表项,通过查找路由表,如果数据流匹配了该route-map语句,流量源来至NAT_LIST_INTERNET,出接口是e0/2,则转换出接口e0/2的接口IP地址,并做PAT

ip route 0.0.0.0 0.0.0.0 202.101.1.2

ip route 0.0.0.0 0.0.0.0 60.137.1.2

#配置默认路由,用于访问Internet,由于是双出口,所以有两条默认路由

!

ip route 10.0.0.0 255.0.0.0 202.101.1.2

#由于是双出口,所以HQ内部网络出流量有两条路径可选,为了让VPN流量之间互访通过建立VPN隧道接口转发,则需要配置静态路由,手动指定从哪个路径转发VPN流量

!

ip access-list extended PBR_LIST_ISP1

permit ip 10.100.1.0 0.0.0.255 any

#配置策略路由的感兴趣流,匹配HQ中心站点内网10.100.1.0/24网段的源地址

!

ip access-list extended PBR_LIST_ISP2

deny   ip 10.100.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.100.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.100.0.0 0.0.255.255 10.3.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.1.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.3.0.0 0.0.255.255 10.2.0.0 0.0.255.255

deny   ip 10.1.0.0 0.0.255.255 10.3.0.0 0.0.255.255

deny   ip 10.2.0.0 0.0.255.255 10.3.0.0 0.0.255.255

permit ip 10.100.2.0 0.0.0.255 any

#配置策略路由的感兴趣流,匹配HQ中心站点内网10.100.2.0/24网段的源地址,此处不要忘记排除掉VPN流量,因为该感兴趣流接下来要指定通过ISP-2线路转发,该线路不建立VPN隧道,所以要进行排除,因为如果流量匹配到了10.100.2.0/24网段作为源地址,那么根据PBR就会选择通过ISP-2路径转发,该路径出接口并没有配置VPN,所以要进行排除

!

route-map RM_PBR permit 10

match ip address PBR_LIST_ISP1

set ip next-hop verify-availability 202.101.1.2 1 track 1

set ip next-hop 60.137.1.2

#PBR配置,源目地址匹配PBR_LIST_ISP1感兴趣流,则下一跳选择ISP-1,并且跟踪出接口可达性,如果接口down,立即切换ISP-2路径,切换时间根据IP SLA定义的频率和超时时间测算

!

route-map RM_PBR permit 20

match ip address PBR_LIST_ISP2

set ip next-hop verify-availability 60.137.1.2 1 track 2

set ip next-hop 202.101.1.2

#PBR配置,源目地址匹配PBR_LIST_ISP2感兴趣流,则下一跳选择ISP-2,并且跟踪出接口可达性,如果接口down,立即切换ISP-1路径,切换时间根据IP SLA定义的频率和超时时间测算

!

以下配置为避坑环节,测试的时候Branch与HQ建立第一阶段ISAKMP SA的流量,如果HQ选择ISP-1出接口,则不会遇到坑,如果通过ISP-2出接口建立第一阶段SA,此坑就出现了。因为该拓扑Branch2和Branch3是动态地址,需要Branch主动发起流量来触发vpn隧道建立,而第一阶段SA是通过公网地址之间建立,分支配置了set peer 202.101.1.1,源地址是分支的公网IP地址,目的IP地址是202.101.1.1,该方向的流量没有问题,但是当HQ回包流量如果选择了ISP-2作为下一跳(例如该拓扑,Branch3与HQ建立isakmp sa时,HQ的回包选择了ISP-2作为下一跳),那么ISAKMP SA就无法建立成功,为了避坑,使得第一阶段ISAKMP  SA建立成功,需要配置一个本地PBR,让UDP 500的流量始终通过ISP-1路径转发。

ip access-list extended ISAKMP

permit udp any eq isakmp any eq isakmp

#创建名称为ISAKMP的ACL,匹配源目端口号UDP 500的所有流量

!

route-map LOCAL_PBR permit 10

match ip address ISAKMP

set ip next-hop 202.101.1.2

#名称为LOCAL_PBR的route-map,match名称为ISAKMP的感兴趣流,set下一跳为ISP-1

!

ip local policy route-map LOCAL_PBR

#配置本地PBR

hostname R102

!

interface Loopback1

ip address 10.100.1.1 255.255.255.0

!

interface Loopback2

ip address 10.100.2.2 255.255.255.0

!

interface Ethernet0/0

ip address 10.100.254.2 255.255.255.252

!

router ospf 100

router-id 10.100.255.102

redistribute connected subnets

network 10.100.254.2 0.0.0.0 area 0

!

注意:

1、动态地址站点需要主动建立VPN隧道(触发感兴趣流),如果两个站点都是动态地址,那么两个站点建立隧道(需要中心站点中转),要同时主动触发到达彼此之间的感兴趣流(前提是到达中心站点的隧道已经建立完成);

2、中心站点手工配置到达分支VPN流量的静态路由,下一跳为建立VPN隧道接口的下一跳公网地址;

3、双出口,只有一个出口建立VPN隧道,那么一定要配置本地PBR,让UDP 500的ISAKMP流量通过指定出口(建立VPN接口)转发,使得可以成功建立第一阶段SA;

4、该方案用于实际生产环境中不支持GRE封装IPSec的设备,如果是纯思科设备建立采用DMVPN来实现,如果是多厂商设备,而都支持GRE封装,那么建议配置GRE over IPSec VPN,内网配置动态路由协议。

如下图:

Branch3主动建立到HQ的VPN隧道,从Branch3内网发起一个icmp到HQ的内网

撞击了名称为ISAKMP的ACL感兴趣流,调用本地PBR,通过ISP-1接口回包,使得隧道成功建立

双出口NAT+PBR+IPSec V*N相关推荐

  1. Cisco 双出口NAT配置

    Cisco 双出口NAT配置 目的:模拟拥有双出口链路情况下基于原地址策略路由功能,实现不同原内部地址从不同出口对外部网络的访问,由于多数实际情况下路由器在外部端口使用NAT对内网地址进行翻译,所以本 ...

  2. pbr 多出口_PBR+多出口NAT+IP SLA

    PBR策咯路由(Policy-Based Routing) route-map的一种应用,基于策略的路由比传统的路由能力更强,使用更灵活,它使网络管理者不仅能够根据目的地址而且能够根据协议类型.报文大 ...

  3. 华为设备实现双出口访问外网nat 策略路由配置

    使用ENSP模拟器实现 实验:双出口访问外网nat 策略路由配置 1.内网使用nat访问外网 2.访问联通流量默认走联通线路,电信流量默走电信线路 3.当线路出现故障时,可切换到另一个链路 4.来回路 ...

  4. 防火墙—IPSec VPN(NAT 穿透-双侧 NAT)

    两个防火墙之间通过 IKE 建立 IPSec VPN 隧道( NAT 穿透 - 双侧 NAT ) 组网需求:某公司总部和分部之间要通过 Internet 进行通信,为保证信息安全,计划搭建 IPSec ...

  5. 网络毕业设计--基于华为ensp防火墙双出口负载拟真实验

    本次仿真实验是关于防火墙负载的双出口毕设,大家可以参考组网结构,在此基础上可以进行各种改良,符合自己的实验需求是最终目的,下面直接上配置,想要定制的+绿泡泡18812668402 技术范围 接入层:M ...

  6. NAT和IPsec并存的几种模型(方案一)

    申明:第一次发博文,以下内容纯属个人经验总结,若有不妥当之处欢迎大家指点交流,QQ:765390765. NAT和ipsec本身是一对矛盾体,但是现实生活中又时经常用到的,现在总结出三种解决方案供大家 ...

  7. H3C 设备校园网双出口配置案例

    一.策略路由是什么? 在H3C设备上,谈到双出口,那么就避免不了策略路由这个概念,那么策略路由又是个什么鬼呢? 它与单纯依照IP报文的目的地址查找路由表进行转发不同,策略路由是一种依据用户制定的策略进 ...

  8. 4路外线(NAT+PBR真实案例)

    三路电信企业宽带固定IP.一路联通企业宽带固定IP. 需求:每个二层下组成一个内网.每个内网分配一路外线(暂时不做故障转移)  设备(1台cisco3560三层交换机.一台cisco2911路由器且只 ...

  9. Linux双网卡NAT共享上网

    Linux双网卡NAT共享上网 阅读目录(Content) 服务器设置: 1.激活IP转发 2.NAT配置 客户端设置 1.NAT方法: 2.网桥方法: linux双网卡NAT共享上网 术语字汇 私有 ...

最新文章

  1. Py之basemap:python库之basemap的简介、安装、使用方法之详细攻略
  2. [eBook] SQL 2008
  3. Keras序列模型学习
  4. 奥迪坚为中民燃气打造专业便民服务呼叫中心
  5. java 手写阻塞队列_Java阻塞队列的实现
  6. _INTSIZEOF
  7. SDN,你必须了解的基础知识【定期更新】
  8. 微信小程序生成小程序码,如何在开发版本调试?
  9. 百家姓 —— 特别的姓氏与姓氏的由来
  10. 管理感悟:怎样给程序找好的思路
  11. 2018年最新税收分类编码_2018年新编码器调查:31,000人告诉我们他们如何学习编码和获得开发人员工作
  12. SAP ABAP开发从入门到精通——第15章 面向对象ALV
  13. 2021年最新微信漫画小程序全开源商业版免费下载
  14. python数据分析入门到实战知了课堂_价值699元知了课堂零基础学Python 21天搞定Python分布爬虫...
  15. linux上apk免杀,kali 免杀工具shellter安装以及使用(示例代码)
  16. GOM引擎启动提示invalid filename怎么处理?
  17. Java图形界面框架构建
  18. PyTorch与PyTorch Geometric的安装
  19. win7c盘空间越来越小_你Windows10的C盘究竟多大才合适
  20. ANTS | 报错:Could not find ANTS program N4BiasFieldCorrection; please check installation

热门文章

  1. WLAN射频和信道--总结记录
  2. P1071,OpenJudge1.7-11潜伏者详解
  3. 完全卸载Adobe CS4 (Premiere/After Effects) – Adobe CS4 Clean Script绿色版
  4. 在软件工程领域,搞科研的这十年!
  5. 窃取信息的新恶意软件通过假冒的破解网站感染使用者
  6. LaTex如何输入数集符合(整数集、实数集、复数集)
  7. IP地址、URL及域名的相关概念
  8. linux下emmc检测工具,eMMC check(eMMC芯片是否新机检测工具)1.3.0 安卓版
  9. 计算机网络网卡是什么东西,网卡坏了有什么现象?判断电脑网卡坏的方法
  10. 跨国引入强势技术 安全行业又添生力军