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

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

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

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

Исходная конфигурация:

esr-15vf# show run
ip vrf VRF-Uplink
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

nat source
  ruleset to_Uplink
    to interface gigabitethernet 1/0/7
    rule 1
      match source-address prefix 192.168.1.0/24
      action source-nat interface
      enable
    exit
  exit

ip route 0.0.0.0/0 203.0.113.1
ip route vrf VRF-Uplink 0.0.0.0/0 198.51.100.1

Задача:

   Сделать резервирование uplink, при котором:


Решение:

1. Для организации связности между таблицами маршрутизации Global Routing Table(GRT) и VRF настроим lt-туннели c адресацией  172.16.10.0/30.

tunnel lt 1                                                                         - Создаем туннель для GRT;
  peer lt 2                                                                         - Задаем номер противоположный LT туннель;
  ip firewall disable                                                               - В данном примере не используется firewall, поэтому выключаем его;
  ip address 172.16.10.1/30                                                         - Задаем IP-адрес туннеля, адреса туннелей должны быть в одной подсети;
  enable                                                                            - Включаем туннель.
exit

tunnel lt 2                                                                         - Создаем туннель для VRF-Uplink                   
  peer lt 1                                                                         - Задаем номер противоположный LT туннель;
  ip vrf forwarding VRF-Uplink                                                      - Задаем VRF в котором будет работать туннель;
  ip firewall disable                                                               - В данном примере не используется firewall, поэтому выключаем его;
  ip address 172.16.10.2/30                                                         - Задаем IP-адрес туннеля, адреса туннелей должны быть в одной подсети;
  enable                                                                            - Включаем туннель.
exit


2. Создадим и настроим ip sla для отслеживания next-hop uplink в GRT.

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


3. Создадим и настроим track.

track 1
  track sla test 1
  enable
exit


4. Добавим маршруты.

ip route 0.0.0.0/0 203.0.113.1 track 1                                              - Маршрут по умолчанию в GRT;                      
ip route 0.0.0.0/0 172.16.10.2 10                                                   - Резервный маршрут по умолчанию в VRF-Uplink через lt tunnel;
ip route vrf VRF-Uplink 0.0.0.0/0 203.0.110.1                                       - Маршрут по умолчанию в VRF-Uplink;
ip route vrf VRF-Uplink 192.168.1.0/24 172.16.10.1                                  - Обратный маршрут из VRF-Uplink до LAN сети через lt tunnel.

- Когда ip sla test 1 в состоянии "Successful" данный маршрут "ip route 0.0.0.0/0 203.0.113.1" будет активен в таблице маршрутизации. 

- Как только sla test 1 переходит в состояние fail, маршрут "ip route 0.0.0.0/0 203.0.113.1" удаляется и становится активным маршрут "ip route 0.0.0.0/0 172.16.10.2" в VRF через lt tunnel.

В данном примере рассматриваются статические маршруты между LT-туннелями, однако также возможно использование протоколов динамической маршрутизации.


5. Создаем еще один ruleset c настройками SNAT для VRF.

ruleset to_VRF-Uplink
  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
esr-15vf# show ip sla test status 
Test      Type           Source                                 Destination                            Status         Last Run              Description            
-------   ------------   ------------------------------------   ------------------------------------   ------------   -------------------   --------------------   
1         icmp-echo      203.0.113.2                            203.0.113.1                            Successful     2025-08-01 04:01:30   --                     

esr-15vf# show track 1
Track 1:
  State:         Up
  Changes count: 12 (last 00,00:04:42)
  Mode:          And
  Delay up:      0s
  Delay down:    0s
  Description:   --

Conditions:

Type        ID                     State   Mode             Last change (d,h:m:s)       VRF                                
---------   --------------------   -----   --------------   -------------------------   --------------------------------   
SLA         1                      True    State success    00,00:04:42                 --                                 

Actions:

Static routes:
  0.0.0.0/0 via 203.0.113.1: Installed

esr-15vf# show ip route
Codes: C - connected, S - static, R - RIP derived,
       O - OSPF derived, IA - OSPF inter area route,
       E1 - OSPF external type 1 route, E2 - OSPF external type 2 route,
       B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route,
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area,
       H - NHRP, * - FIB route
S     * 0.0.0.0/0          [1/0]             via 203.0.113.1 on gi1/0/7        [static 03:56:56] 
C     * 172.16.10.0/30     [0/0]             dev lt 1                          [direct 2025-07-31] 
C     * 192.168.1.0/24     [0/0]             dev gi1/0/5                       [direct 2025-07-31] 
C     * 203.0.113.0/30     [0/0]             dev gi1/0/7                       [direct 03:55:11] 
esr-15vf# show ip nat translations outside-destination-address 192.0.2.33
Prot   Inside source           Inside destination      Outside source          Outside destination     Pkts         Bytes        
----   ---------------------   ---------------------   ---------------------   ---------------------   ----------   ----------   
icmp   192.168.1.25            192.0.2.33               203.0.113.2             192.0.2.33               --           --      
esr-15vf# show ip sla test status 
Test      Type           Source                                 Destination                            Status         Last Run              Description            
-------   ------------   ------------------------------------   ------------------------------------   ------------   -------------------   --------------------   
1         icmp-echo      203.0.113.2                            203.0.113.1                            Fail           2025-08-01 04:04:13   --                     

esr-15vf# show track 1
Track 1:
  State:         Down
  Changes count: 13 (last 00,00:00:14)
  Mode:          And
  Delay up:      0s
  Delay down:    0s
  Description:   --

Conditions:

Type        ID                     State   Mode             Last change (d,h:m:s)       VRF                                
---------   --------------------   -----   --------------   -------------------------   --------------------------------   
SLA         1                      False   State success    00,00:00:14                 --                                 

Actions:

Static routes:
  0.0.0.0/0 via 203.0.113.1: Not installed

esr-15vf# show ip route
Codes: C - connected, S - static, R - RIP derived,
       O - OSPF derived, IA - OSPF inter area route,
       E1 - OSPF external type 1 route, E2 - OSPF external type 2 route,
       B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route,
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area,
       H - NHRP, * - FIB route
S     * 0.0.0.0/0          [1/10]            via 172.16.10.2 on lt 1           [static 02:41:19] 
C     * 172.16.10.0/30     [0/0]             dev lt 1                          [direct 2025-07-31] 
C     * 192.168.1.0/24     [0/0]             dev gi1/0/5                       [direct 2025-07-31] 

esr-15vf# show ip nat translations vrf VRF-Uplink OUtside-Destination-Address 192.0.2.33
Prot   Inside source           Inside destination      Outside source          Outside destination     Pkts         Bytes        
----   ---------------------   ---------------------   ---------------------   ---------------------   ----------   ----------   
icmp   192.168.1.25            192.0.2.33               198.51.100.2            192.0.2.33               --           --           

ip vrf VRF-Uplink
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
  ip address 172.16.10.2/30
  enable
exit

nat source
  ruleset to_Uplink
    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_VRF-Uplink
    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-адресом, не принадлежащим этому интерфейсу, что приводит к потере связности, пока пользователь не установит новую сессию.

Чтобы устранить данное поведение, рекомендуется настроить механизм принудительного сброса сессий при изменении маршрутизации(ссылка на след статью).