Исходные данные: 

   Основной uplink — в глобальной таблице маршрутизации (не в VRF), с настроенным SNAT:           

  • interface gigabitethernet 1/0/7
  • ip address 203.0.113.2/30
  • next-hop 203.0.113.1

   Резервный uplink — находится в VRF:

  • interface gigabitethernet 1/0/8
  • ip address 198.51.100.2/30
  • next-hop 198.51.100.1
  • vrf - VRF-Uplink

   Локальная сеть:

  • interface gigabitethernet 1/0/5
  • ip address 192.168.1.1/24

   tunnel lt 1:

  • ip address 172.16.10.1/30

   tunnel lt 2:

  • ip address 172.16.10.2/30
  • vrf - VRF-Uplink
Исходная конфигурация
ip vrf VRF-Uplink
exit

security zone Trusted
exit
security zone Untrusted
exit

interface gigabitethernet 1/0/5
  description "LAN"
  ip firewall disable
  ip address 192.168.1.1/24
exit
interface gigabitethernet 1/0/7
  description "Uplink"
  ip firewall disable
  ip address 203.0.113.2/30
exit
interface gigabitethernet 1/0/8
  ip vrf forwarding VRF-Uplink
  description "VRF-Uplink"
  ip firewall disable
  ip address 198.51.100.2/30
exit

tunnel lt 1
  peer lt 2
  ip firewall disable
  ip address 172.16.10.1/30
  enable
exit
tunnel lt 2
  peer lt 1
  ip vrf forwarding VRF-Uplink
  ip firewall disable
  security-zone Trusted-VRF
  ip address 172.16.10.2/30
  enable
exit

nat source
  ruleset to_main
    to interface gigabitethernet 1/0/7
    rule 1
      match source-address prefix 192.168.1.0/24
      action source-nat interface
      enable
    exit
  exit
  ruleset to_reserved
    ip vrf forwarding VRF-Uplink
    to interface gigabitethernet 1/0/8
    rule 1
      match source-address prefix 192.168.1.0/24
      action source-nat interface
      enable
    exit
  exit
exit

ip route 0.0.0.0/0 203.0.113.1 track 1
ip route 0.0.0.0/0 172.16.10.2 10
ip route vrf VRF-Uplink 0.0.0.0/0 198.51.100.1
ip route vrf VRF-Uplink 192.168.1.0/24 172.16.10.1

ip sla
ip sla test 1
  icmp-echo 203.0.113.1 source-ip 203.0.113.2
  enable
exit
ip sla schedule 1 life forever start-time now

ip ssh server

track 1
  track sla test 1
  enable
exit

Проблема:

На оборудовании ESR трансляция адресов (NAT) применяется только в момент установления firewall-сессии и привязывается к ней статически. В процессе существования сессии параметры NAT не пересчитываются, даже если изменилась маршрутная информация или произошла смена активного канала.

Таким образом, имеет место следующий сценарий:

  • Исходная сессия проходит через firewall, маршрутизируется через интерфейс "gi1/0/7" и подвергается SNAT с преобразованием исходного IP-адреса в "203.0.113.2".
  • При отказе основного канала трафик начинает перенаправляться через резервный интерфейс "gi1/0/8", находящийся в отдельном VRF.
  • Поскольку сессия в firewall не пересоздаётся, трансляция адреса остаётся прежней — но так как ip адрес(203.0.113.2) с "gi1/0/7" недоступен, через резервный канал начинают отправляться не натированные пакеты.
  • В результате пакеты уходят через "gi1/0/8(VRF)" с IP-адресом, не принадлежащим этому интерфейсу, что приводит к потере связности, пока пользователь не установит новую сессию.

Решение:

1.Создаем зоны безопасности для интерфейсов в GRT и VRF.

security zone Trusted
exit

security zone Untrusted
exit

security zone Trusted-VRF
  ip vrf forwarding VRF-Uplink
exit

security zone Untrust-VRF
  ip vrf forwarding VRF-Uplink
exit

2 Добавим зоны безопасности к интерфейсам и lt туннелям.

interface gigabitethernet 1/0/5
  security-zone Trusted
exit

interface gigabitethernet 1/0/7
  security-zone Untrusted
exit

interface gigabitethernet 1/0/8
  ip vrf forwarding VRF-Uplink
  security-zone Untrust-VRF
exit

tunnel lt 1
  security-zone Untrusted
exit

tunnel lt 2
  ip vrf forwarding VRF-Uplink
  security-zone Trusted-VRF
exit

3.Для пропуска трафика из зоны «Trusted» в зону «Untrusted» создадим пару зон и добавим правило, разрешающее проходить всему трафику и добавим "check output-interface". 

check output-interface - Данной командой разрешается очистка Firewall-сессий, в случае если выходной интерфейс изменен.
security zone-pair Trusted Untrusted
  rule 10
    action permit
    check output-interface
    enable
  exit
exit

4. Для пропуска трафика из зоны «Trusted-VRF» в зону «Untrusted-VRF» создадим ещё пару зон и добавим правило, разрешающее проходить всему трафику. 

security zone-pair Trusted-VRF Untrust-VRF
  rule 1
    action permit
    enable
  exit
exit

Проверяем:

После того как была добавлена команда "check output-interface", при изменение выходного интерфейса, принудительно сбрасывается сессия(отправляется TCP Reset)  .

17:01:11.354279 10:ff:e0:63:c8:39 > ec:b1:e0:d0:cb:cc, ethertype IPv4 (0x0800), length 66: 192.168.1.25.54810 > 192.0.2.35.22: Flags [.], ack 3437, win 572, options [nop,nop,TS val 2684240234 ecr 650065], length 0
17:01:11.354380 10:ff:e0:63:c8:39 > ec:b1:e0:d0:cb:cc, ethertype IPv4 (0x0800), length 114: 192.168.1.25.54810 > 192.0.2.35.22: Flags [P.], seq 2812:2860, ack 3437, win 572, options [nop,nop,TS val 2684240234 ecr 650065], length 48
17:01:11.392070 ec:b1:e0:d0:cb:cc > 10:ff:e0:63:c8:39, ethertype IPv4 (0x0800), length 66: 192.0.2.35.22 > 192.168.1.25.54810: Flags [.], ack 2860, win 29, options [nop,nop,TS val 650075 ecr 2684240234], length 0
17:01:21.139857 10:ff:e0:63:c8:39 > ec:b1:e0:d0:cb:cc, ethertype IPv4 (0x0800), length 130: 192.168.1.25.54810 > 192.0.2.35.22: Flags [P.], seq 2860:2924, ack 3437, win 572, options [nop,nop,TS val 2684250019 ecr 650075], length 64
17:01:21.355224 10:ff:e0:63:c8:39 > ec:b1:e0:d0:cb:cc, ethertype IPv4 (0x0800), length 130: 192.168.1.25.54810 > 192.0.2.35.22: Flags [P.], seq 2860:2924, ack 3437, win 572, options [nop,nop,TS val 2684250235 ecr 650075], length 64
17:01:21.355658 ec:b1:e0:d0:cb:cc > 10:ff:e0:63:c8:39, ethertype IPv4 (0x0800), length 60: 192.0.2.35.22 > 192.168.1.25.54810: Flags [R], seq 3188760302, win 0, length 0


  • Нет меток