在 Cisco 路由器上使用基于策略的路由时跟踪加密映射状态

网络工程 思科 路由 cisco-isr pbr
2021-07-16 04:10:31

如果我想做的配置实际上是可能的,我会遇到一些挑战并且需要一些建议。请不要杀我,我知道配置不是很“nice”...

我们将 DMVPN 用于我们的 WAN,其中默认路由是通过在该 DMVPN 实例上运行的 EIGRP 来的。前门 VRF 用于隧道端点,在那里我们有一条通往提供商的默认路由。

接口是:

  • Gi0/0/0 (outside), VRF: inet, 0.0.0.0/0 指向ISP
  • Gi0/0/1(内部),VRF:默认,0.0.0.0/0 指向 DMVPN 集线器
  • Tun0 (DMVPN),VRF:默认

流量通过内部接口进入,并通过隧道路由到 DMVPN 集线器。为了在本网站上实施直接互联网访问,我们与云安全提供商合作对我们的网络流量进行过滤。为此,我们需要建立到该提供商的隧道,仅通过该隧道发送网络流量。安全提供者仅支持基于策略的隧道(加密映射,无 VTI)。

可以定义加密映射,这不是问题,需要应用于出口接口。然而,我怀疑,尽管没有尝试,可以将加密映射应用于隧道接口。

现在的替代解决方案是实施基于策略的路由,将 Web 流量放到另一个 VRF 并将加密映射应用到 Gi0/0/0,如下所示:

ip access-list extended DIA-OUT
  permit tcp any any eq 80
  permit tcp any any eq 443

ip access-list extended DIA-IN
  permit tcp any eq 80 any
  permit tcp any eq 443 any

ip access-list extended TEN
  permit ip any 10.0.0.0 0.255.255.255

route-map DIA-OUT deny 10
  match ip address TEN
route-map DIA-OUT permit 20
  match ip address DIA-OUT
  set vrf frontdoor
  ! if that does not work
  ! set ip next-hop recursive vrf inet-public 8.8.8.8
  ! As no specific route for 8.8.8.8 exists, the default route will
  ! be used. Not sure if the crypto map applies then, though 

route-map DIA-IN permit 10
  match ip address DIA-IN
  set global

crypto map DIA_CRYPTO_MAP 100 ipsec-isakmp
  set peer vpn.mycloudprovider.com dynamic
  set transform-set MY_SET
  set isakmp-profile MY_PROFILE
  match address DIA-OUT

interface GigabitEthernet 0/0/0
  description outside
  ip vrf frontdoor
  ip address dhcp
  ip policy route-map DIA-IN
  ! unsure if the crypto map applies here
  crypto map DIA_CRYPTO_MAP

interface GigabitEthernet 0/0/1
  description inside
  ip address <inside-ip> 255.255.255.0
  ip policy route-map DIA-OUT
  ip vrf receive frontdoor

ip vrf receive 可以在此处找到有关使用的更多信息

在外部接口上,应该只有三种不同类型的流量:

  • IPSec 封装 DMVPN 流量,公共 IP 作为源 IP
  • 端口 80、10/8 上的 Web 流量作为来源
  • 端口 443 上的 Web 流量,10/8 作为源

没有配置 NAT,如果隧道关闭,我可能会添加一个 ACL 来丢弃网络流量。即使这是未经测试的,我还是有信心它应该可以工作(如果您有更好的方法,或者认为上述解决方案不起作用,请告诉我:=))。我唯一不确定的是 Gi0/0/0 上的 PBR 是否适用于 VPN 流量。让我们来看看...

现在真正的问题是:

DIA-OUT 路由映射将流量重定向到前门 VRF,无论隧道是否启动。我想以某种方式确保这仅在隧道实际启动时才会发生。否则,流量将按照默认路由通过 DMVPN 转发。

现在,即使我可以跟踪 IPSec SA,这也是一个鸡与蛋的问题。隧道只是由一些流量实际上正在击中加密映射而构建的。

我不能使用可靠的 PBR(验证可达性),因为我不知道下一跳(技术上没有,因为我使用加密映射)。我可以使用 IP SLA 和跟踪的组合来检查通过隧道的可达性,但是我无法影响基于跟踪对象的 PBR 决策。match track据我所知,这行不通。

知道如何可靠地做到这一点吗?

1个回答

由于我还没有收到答案并且自己也没有找到解决方案,因此我不得不假设这根本不可能。由于我们无论如何都在更改我们的云安全提供商并且现在可以使用 VTI,因此我不会跟进该主题。

现在我认为不可能按要求实施并接受这个答案。如果其他人找到答案并将其张贴在这里,我将很乐意接受答案。