Juniper (JNCIS-SP)
  • 1) Juniper Initial Configuration
  • 2) Juniper VLANs + Inter VLAN Routing + DHCP
    • 2.1) Классическая маршрутизация между VLAN (При помощи роутера)
      • Настройка VLAN'ов на SW-MSK-ARB
      • Настройка VLAN'ов на SW-SPB-NEV
      • Настройка IP-адресации, DHCP и маршрутизации между VLAN'ами
      • Проверка конфигурации
      • Полезные ссылки
    • 2.2) Маршрутизация между VLAN на L3-коммутаторе
  • 3) LAGs + Static Routing (с резервированием) + SysLog + SSH
    • Агрегирование каналов и настройка IP-адресов
    • Статическая маршрутизация с резервированием
    • Настройка доступа к Juniper по SSH
    • SysLog Server
    • Конфигурации Устройств
    • Полезные ссылки
  • 4) Q-in-Q
    • Настройка Q-in-Q
    • Конфигурации устройств
  • 5) MC-LAG (Multi-Chassis LAG) + BFD + IRB
    • MC-LAG
    • Конфигурации устройств
    • Полезные ссылки
  • 6) STP (RSTP/VSTP/MSTP + MVRP)
    • RSTP
    • VSTP
    • MSTP
    • STP Protection
    • Конфигурации устройств
    • Полезные ссылки
  • 7) Basic Routing Concepts
    • Полезные ссылки
  • 8) OSPF
    • 4.1) Смена типов областей и Load Balancing
      • Конфигурации устройств
    • 4.2) Настройка Virtual-Link, OSPF в Broadcast-сетях (Выбор DR и BDR) и OSPF summarization
      • Выбор DR и BDR
      • Настройка Virtual-Link + Route Summarization
      • Конфигурации устройств
    • Примечание (Router-ID)
    • OSPF Database and LSA
    • Полезные ссылки
  • 9) IS-IS
    • Практическая часть
    • Конфигурации устройств
    • Полезные ссылки
  • 10) BGP
    • eBGP
    • Анонсирование первых префиксов
    • iBGP
      • BGP Confederations
      • Атрибут Next-Hop и iBGP
      • BGP Route Reflectors
    • BGP Routing Policies
    • BGP Load Balancing
    • BGP Session Attributes
    • Конфигурации устройств
    • Примечание (Router-ID)
    • Полезные ссылки:
  • 11) MPLS
    • Static LSP
    • LDP
    • RSVP
    • L2/L3 VPN
    • Конфигурации Устройств
    • Полезные ссылки
  • 12) CSPF (Dynamic TE)
    • Настройка
    • Конфигурации устройств
    • Полезные ссылки
  • 13) Tunneling Technologies (IPIP/GRE)
    • Конфигурации устройств
    • Полезные ссылки
  • 14) High Availability
    • Конфигурации устройств
    • Полезные ссылки
  • 15) IPv6
  • Полезные ссылки
Powered by GitBook
On this page
  • 1. VRRP
  • 1.1. Краткая теория
  • 1.2. Настройка
  • 1.3. Проверка работы протокола
  • 1.4. Балансировка трафика
  • 2. Graceful Restart
  • 3. Graceful RE Switchover (GRES)
  • 4. Nonstop Active Routing (NSR)
  • 5. In-Service Software Upgrade (ISSU)
  • 6. Virtual Chassis

Was this helpful?

14) High Availability

PreviousПолезные ссылкиNextКонфигурации устройств

Last updated 3 years ago

Was this helpful?

1. VRRP

1.1. Краткая теория

VRRP (Virtual Router Redundancy Protocol) позволяет настроить резервирование шлюза по умолчанию. Выбирается один виртуальный IP и MAC-адрес. IP устанавливается на конечном устройстве. Виртуальный MAC же необходим для нормального заполнения коммутационной таблицы на свитчах и ARP-таблицы на конечных устройствах. Если Master станет недоступным, то ARP-таблица не изменится

Отличительные особенности:

  • Сообщения рассылаются на Multicast-группу 224.0.0.18 и содержат виртуальный IP (для согласования), аутентификацию виртуальный MAC, ID группы (На одном линке может быть настроено несколько VRRP-шлюзов).

  • 00:00:5E:00:01:{Group-ID} - Так выглядит виртуальный MAC-адрес.

  • Для каждой группы есть Master и Backup роутеры.

Процесс выбора Master-роутера:

  1. Наибольший приоритет (1-254).

  2. Наибольший IP-адрес интерфейса.

Особенности выбора Master-роутера

  • Если Virtual IP = IP-адресу интерфейса, то роутер с этим интерфейсом получает приоритет 255 и всегда будет Master-роутером для группы.

  • Есть Preemption (То-есть роутер с большим приоритетом при появлении в сети перехватывает роль Master-роутера).

1.2. Настройка

Тут всё довольно просто. Сначала настроим IP-адресацию, статические маршруты и какой-нибудь адрес на LoopBack-интерфейсе Internet'а (пусть будет 8.8.8.8). Настройка VRRP:

root@Gate-1# show | compare 
[edit interfaces ge-0/0/0 unit 0 family inet address 192.168.0.1/24]
+        vrrp-group 11 { ##VRRP-группа
+            virtual-address 192.168.0.254; ##Виртуальный адрес (Шлюз для PC)
+            priority 80; ##Приоритет
+            fast-interval 500;
+            preempt {
+                hold-time 25;
+            }
+            advertisements-threshold 3;
+        }
[edit]
+  protocols {
+      vrrp {
+          version-3; ##Версия VRRP
+      }
+  }

Подробнее о настройках:

  • fast-interval - количество времени (мс), после которого отсылается очередной VRRP-пакет. Есть ещё возможность указать advertise-interval в секундах.

  • preempt - включает preemption. Можно указать Hold-Time, чтобы перевыбор происходил не сразу, а спустя некоторое время в секундах (полезно, если линк флапает, например).

  • Ну и лучше явно указать, что мы используем 3-ю версию протокола, так как он поддерживает IPv6 и fast-interval. (Но не поддерживает аутентификацию)

  • advertisements-threshold - если не получаем advertisement-пакет 3 раза, то-есть 3*500мс=1,5с от Master-роутера, то Master считается недоступным.

Закоммитим и посмотрим результат:

root@Gate-1# run show vrrp    
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up             11   master   Active      A  0.454 lcl    192.168.0.1    
                                                                vip    192.168.0.254  

А теперь настроим Gate-2, но поставим приоритет 230 и посмотрим как работает Preemption:

root@Gate-2# run show vrrp    
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up             11   backup   Active      D  1.186 lcl    192.168.0.2    
                                                                vip    192.168.0.254  
                                                                mas    192.168.0.1    

[edit]
root@Gate-2# run show vrrp    
Interface     State       Group   VR state VR Mode   Timer    Type   Address
ge-0/0/0.0    up             11   master   Active      A  0.289 lcl    192.168.0.2    
                                                                vip    192.168.0.254  

Перевыбор происходит не сразу, а спустя заданное время.

1.3. Проверка работы протокола

А теперь проверим работу протокола. Стоит обратить внимание на таблицу коммутации (там виден виртуальный MAC-адрес, который был сгенерирован по схеме описанной в теории) и ARP-таблицу PC.

root@PC:~# mtr 8.8.8.8
                             My traceroute  [v0.86]
PC (0.0.0.0)                                           Thu May 20 17:32:13 2021
Resolver: Received error response 2. (server failure)er of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.2                       0.0%    12    0.6   5.5   0.5  32.9  11.3
 2. 8.8.8.8                           0.0%    11    1.4   1.3   1.0   1.5   0.0
 
 Switch>show mac address-table 
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.5e00.010b    DYNAMIC     Et0/2
   1    0050.0000.0800    DYNAMIC     Et0/0
   1    5000.0004.0002    DYNAMIC     Et0/1
   1    5000.0005.0002    DYNAMIC     Et0/2
Total Mac Addresses for this criterion: 4

root@PC:~# arp -a
? (192.168.0.254) at 00:00:5e:00:01:0b [ether] on ens3
? (192.168.0.1) at 50:00:00:04:00:02 [ether] on ens3

Отключаем Gate-2:

                             My traceroute  [v0.86]
PC (0.0.0.0)                                           Thu May 20 17:37:09 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                       0.0%    11    0.7   9.5   0.6  97.2  29.1
 2. 8.8.8.8                           0.0%    10    1.1   1.2   1.0   1.6   0.0

root@PC:~# arp -a
? (192.168.0.254) at 00:00:5e:00:01:0b [ether] on ens3
? (192.168.0.1) at 50:00:00:04:00:02 [ether] on ens3

Switch>show mac address-table 
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.5e00.010b    DYNAMIC     Et0/1
   1    0050.0000.0800    DYNAMIC     Et0/0
   1    5000.0004.0002    DYNAMIC     Et0/1
   1    5000.0005.0002    DYNAMIC     Et0/2

Теперь видно, что трафик идёт другим путём, а коммутатор просто перенёс MAC-адрес в своей таблице на другой порт. За счёт виртуального MAC-адреса не происходит заполнения таблицы коммутации лишними записями.

1.4. Балансировка трафика

Для балансировки трафика можно включить ещё одну группу с другим приоритетом и часть устройств настроить на другой виртуальный IP-адрес. Таким образом мы сделаем аналог балансировки трафика. Добавим, для примера ещё одно устройство (PC2) к нашему свитчу с адресом 192.168.0.6 и укажем на нём Gateway 192.168.0.1.

Соответственно, виртуальный IP у нас будет 192.168.0.1, а основным роутером для новой группы станет Gate-1, так как его приоритет станет 255. Настроим:

[edit interfaces ge-0/0/0 unit 0 family inet address 192.168.0.1/24]
root@Gate-1# show 
vrrp-group 11 {
    virtual-address 192.168.0.254;
    priority 80;
    fast-interval 500;
    preempt {
        hold-time 25;
    }
    advertisements-threshold 3;
}
vrrp-group 15 {
    virtual-address 192.168.0.1;
    priority 255;                ##Коммит можно будет сделать только если мы явно
    fast-interval 500;           ##укажем priority 255, т.к. virtual-address равен
    advertisements-threshold 3;  ##адресу интерфейса и уберём hold-time для 
}                                ##preemption или сделаем его 0
[edit interfaces ge-0/0/0 unit 0 family inet address 192.168.0.2/24]
root@Gate-2# show
vrrp-group 11 {
    virtual-address 192.168.0.254;
    priority 230;
    fast-interval 500;
    preempt {
        hold-time 25;
    }
        advertisements-threshold 3;
}
vrrp-group 15 {
     virtual-address 192.168.0.1;
     fast-interval 500;
     advertisements-threshold 3;
 }

Проверка PC:

                             My traceroute  [v0.86]
PC (0.0.0.0)                                           Thu May 20 19:01:13 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.2                       0.0%     5    0.8   3.4   0.8  13.4   5.5
 2. 8.8.8.8                           0.0%     4    1.1   1.2   1.1   1.3   0.0

Проверка PC1:

Switch>sh mac address-table 
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.5e00.010b    DYNAMIC     Et0/2
   1    0000.5e00.010f    DYNAMIC     Et0/1
   1    0050.0000.0800    DYNAMIC     Et0/0
   1    0050.0000.0900    DYNAMIC     Et0/3
   1    5000.0004.0002    DYNAMIC     Et0/1
Total Mac Addresses for this criterion: 5

root@PC1:~# arp -a
? (192.168.0.1) at 00:00:5e:00:01:0f [ether] on ens3

root@PC1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:00:00:09:00 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.6/24 brd 192.168.0.255 scope global ens3
       valid_lft forever preferred_lft forever
    inet6 fe80::250:ff:fe00:900/64 scope link 
       valid_lft forever preferred_lft forever
       
root@PC1:~# ip r
default via 192.168.0.1 dev ens3 onlink 
192.168.0.0/24 dev ens3  proto kernel  scope link  src 192.168.0.6 

root@PC1:~# mtr 8.8.8.8
                             My traceroute  [v0.86]
PC1 (0.0.0.0)                                          Thu May 20 18:18:36 2021
Resolver: Received error response 2. (server failure)er of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.1                       0.0%    41   22.3   2.3   0.5  22.3   4.8
 2. 8.8.8.8                           0.0%    40    1.7   1.2   1.1   1.7   0.0

После того как стал недоступен Gate-1:

Switch>sh mac address-table 
          Mac Address Table
-------------------------------------------

Vlan    Mac Address       Type        Ports
----    -----------       --------    -----
   1    0000.5e00.010b    DYNAMIC     Et0/2
   1    0000.5e00.010f    DYNAMIC     Et0/2
   1    0050.0000.0800    DYNAMIC     Et0/0
   1    0050.0000.0900    DYNAMIC     Et0/3
   1    5000.0004.0002    DYNAMIC     Et0/1
   1    5000.0005.0002    DYNAMIC     Et0/2
Total Mac Addresses for this criterion: 6

root@PC1:~# mtr 8.8.8.8
                             My traceroute  [v0.86]
PC1 (0.0.0.0)                                          Thu May 20 18:27:04 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 192.168.0.2                       0.0%     7    0.7   0.8   0.7   1.0   0.0
 2. 8.8.8.8                           0.0%     6    1.0   1.2   1.0   1.5   0.0

2. Graceful Restart

Как известно, у Juniper Forwarding Plane и Control Plane разделены. Бывают моменты, когда нам нужно перезагрузить Routing Engine. При этом мы можем не прерывать сервис во время перезагрузки. В этом помогает Graceful Restart. Настроим топологию и включим OSPF. А теперь настроим запустим MTR с R1 в сторону R5 и перезапустим R2:

root@R2> request system halt 
Halt the system ? [yes,no] (no) yes 

                                                                               
*** FINAL System shutdown message from root@R2 ***                           

System going down IMMEDIATELY                                                  

                                                                               
Waiting (max 60 seconds) for system process `vnlru' to stop... done
Waiting (max 60 seconds) for system process `bufdaemon' to stop... done
Waiting (max 60 seconds) for system process `syncer' to stop... 
Syncing disks, vnodes remaining... 0 0 0 0 done
All buffers synced.
Uptime: 3m26s
Khelp module "jsocket" can't unload until its refcount drops from 4 to 0.

The operating system has halted.
Please press any key to reboot.

Теперь мы увидим потери трафика на R1:

                             My traceroute  [v0.69]
R1 (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00)         Thu May 20 16:59:45 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 10.0.0.1                         44.7%    76    1.4  12.8   1.1  73.7  20.2
 2. 5.5.5.5                          46.1%    76    2.3   9.4   1.6  75.2  20.1

Graceful Restart позволяет оставить в работе Forwarding Plane, таким образом, транзитный трафик терятся не будет. О том, что устройство перезагружается будут знать только соседи. Включим Graceful Restart:

root@R2# show | compare 
[edit]
+  routing-options {
+      graceful-restart {
+          restart-duration 500;
+      }
+  }

Тут мы указали, чтобы соседи ждали 500 секунд перезагрузки устройства и только после этого начинали перестраивать свои топологии и считать, что оно недоступно. Закоммитим и перезапустим R2. Результат:

                             My traceroute  [v0.69]
R1 (0.0.0.0)(tos=0x0 psize=64 bitpattern=0x00)         Thu May 20 17:06:02 2021
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                       Packets               Pings
 Host                                Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 10.0.0.1                          0.0%    56    1.4  15.3   1.0 203.3  38.2
 2. 5.5.5.5                           0.0%    55    1.8   6.4   1.4  62.6  12.1

3. Graceful RE Switchover (GRES)

В шасси можно подключить ещё один RE. Это позволит переключиться на него при неполадках с основным RE. Основной и резервный RE содержат одну и ту же конфигурацию и синхронизируют состояние ядра операционной системы. Если внезапно отключится Master RE, то через 2 секунды это обнаружит Backup RE и примет роль Master'а. Это позволит не потерять управление роутером. Однако, Control Plane хранится в RE, поэтому Backup RE после того как он стал Master'ом начнёт запуск различных алгоритмов маршрутизации. Чтобы Graceful RE Switchover работал корректно, необходим уже работающий Graceful Restart. Пересылка трафика при этом на уровне PFE не прервётся.

Включается так:

root@R2# set chassis redundancy graceful-switchover    

Проверка работы:

root@R2# run show system switchover   

Выбор RE, который должен стать Master'ом:

root@R2# run request chassis routing-engine master switch check 

4. Nonstop Active Routing (NSR)

Это дополнение к предыдущему пункту. Позволяет полностью синхронизировать два RE, включая настройки и состояния протоколов. Т.е. демоны маршрутизации на Backup RE находятся в том же состоянии, что и на Master. Также для настройки NSR необходима синхронизация коммитов (её можно включить и для GRES без NSR, но тут она обязательна). По итогу, NSR позволяет сразу же переключиться на другой RE, не запуская процессы расчёта различных протоколов, так как всё синхронизируется в процессе работы.

Включение:

root@R2# show | compare 
[edit system]
+   commit synchronize;
[edit]
+  chassis {
+      redundancy {
+          graceful-switchover;
+      }
+  }
[edit routing-options]
-   graceful-restart {
-       restart-duration 500;
-   }
+   nonstop-routing;

Graceful Restart необходимо выключить, если используется NSR, так как NSR является заменой Graceful Restart.

После коммита R2 становится Master-ом ({master}[edit]) и мы можем проверить синхронизированные процессы для протоколов:

root@R2# commit 
warning: Could not connect to re1 : No route to host
warning: Cannot connect to other RE, ignoring it
commit complete

{master}[edit]
root@R2# run show task replication 
        Stateful Replication: Enabled
        RE mode: Master

    Protocol                Synchronization Status
    OSPF                    NotStarted            

5. In-Service Software Upgrade (ISSU)

Если включены GRES и NSR, то можно обновить нашу ОС без прерывания сервиса. Делается это командой:

root@R2# run request system software in-service-upgrade path-to-image reboot

6. Virtual Chassis

По факту - это стекирование. Когда один RE (или несколько синхронизированных) управляет различными FE и видит их как линейные карты. Подробнее тут: .

Virtual Chassis