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. Настройка клиентских устройств
  • 2. Настройка ICL (Inter-Chassis Link)
  • 3. Настройка ICCP (Inter-Control Center Communications Protocol)
  • 4. Active-Standby Mode
  • 5. Active-Active Mode
  • 6. Проверка работы

Was this helpful?

  1. 5) MC-LAG (Multi-Chassis LAG) + BFD + IRB

MC-LAG

Previous5) MC-LAG (Multi-Chassis LAG) + BFD + IRBNextКонфигурации устройств

Last updated 4 years ago

Was this helpful?

1. Настройка клиентских устройств

Тут всё как обычно, кроме того, что порты xe-0/0/1 и xe-0/0/2 на CEs объединяются в один агрегированный интерфейс, будто на другом конце одно устройство. Сам конфиг:

CE1
chassis {
    aggregated-devices {
        ethernet {
            device-count 1;
        }
    }
}
interfaces {
    xe-0/0/0 {
        unit 0 {
            family ethernet-switching {
                interface-mode access;
                vlan {
                    members 10;
                }
            }
        }
    }
    xe-0/0/1 {
        gigether-options {
            802.3ad ae0;
        }
    }
    xe-0/0/2 {
        gigether-options {
            802.3ad ae0;
        }
    }
    ae0 {
        aggregated-ether-options {
            lacp {
                active;
                periodic fast;
            }
        }
        unit 0 {
            family ethernet-switching {
                interface-mode trunk;
                vlan {
                    members 10;
                }
            }
        }
    }
    em1 {
        unit 0 {
            family inet {
                address 169.254.0.2/24;
            }
        }
    }
}
vlans {
    v10 {
        vlan-id 10;
    }
}

2. Настройка ICL (Inter-Chassis Link)

Для настройки связности между двумя PE-коммутаторами нам нужно настроить Lo0 адреса и для отдельного VLAN'а настроить IRB-интерфейс, после чего включить на интерфейсах IRB и Lo0 OSPF. Это необходимо для того, чтобы была связность между LoopBack-адресами и функционировал Inter-Control Center Communications Protocol (ICCP), речь о котором пойдёт далее. Вот так выглядит конфигурация на одном из PE-коммутаторов:

Active-PE1
interfaces {
    ae0 {
        flexible-vlan-tagging;
        encapsulation flexible-ethernet-services;
        aggregated-ether-options {
            lacp {
                active;
                periodic fast;
            }
        }
        unit 0 {
            vlan-id 4000;
            family inet {
                address 192.168.1.0/31;
            }
        }
        unit 10 {                       
            family bridge {
                interface-mode trunk;
                vlan-id-list 10;
            }
        }
    }
}
protocols {
    ospf {
        area 0.0.0.0 {
            interface lo0.0 {
                passive;
            }
            interface ae0.0 {           
                interface-type p2p;
            }
        }
    }
}

Проверяем связность до Lo0:

root@Active-PE1# run ping 10.0.0.2 source 10.0.0.1 count 4
PING 10.0.0.2 (10.0.0.2): 56 data bytes
64 bytes from 10.0.0.2: icmp_seq=0 ttl=64 time=103.254 ms
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=103.791 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=103.857 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=112.798 ms

--- 10.0.0.2 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max/stddev = 103.254/105.925/112.798/3.975 ms

Связность есть, поэтому можно переходить к настройке ICCP.

3. Настройка ICCP (Inter-Control Center Communications Protocol)

ICCP отвечает за передачу информации между устройствами, состоящими в MC-LAG. Связность по данному протоколу настраивается также, как и в iBGP, т.е. устройства являются друг для друга пирами, а связность устанавливается на LoopBack-адресах.

Active-PE1
protocols {
    iccp {
        local-ip-addr 10.0.0.1;
        peer 10.0.0.2 {
            redundancy-group-id-list 1;
            liveness-detection {
                minimum-interval 1000;
                multiplier 3;
            }
        }
    }
}
switch-options {
    service-id 1;
}

Тут, как видно, настроен протокол ICCP. Нужно разобрать по строчкам что делает каждая команда.

Команда

Расшифровка

set switch-options service-id 1

Устанавливаем Service ID для каждого MC-AE интерфейса, который принадлежит к LAG. Необходим для синхронизации MAC-таблиц, ARP-таблиц и т.д.

set protocols iccp local-ip-addr 10.0.0.1

Устанавливаем Source-IP, с которого будет послыаться информация об этом шасси

set protocols iccp peer 10.0.0.2 redundancy-group-id-list 1

Тут устанавливаем LoopBack-IP пира и указываем его Service-ID (Должен совпадать с нашим)

set protocols iccp peer 10.0.0.2 liveness-detection minimum-interval 1000

Разворачиваем BFD и ставим интервал отправки Hello-пакетов в 1000мс (в рабочих условиях чаще)

set protocols iccp peer 10.0.0.2 liveness-detection multiplier 3

Ставим сколько пакетов BDF должен недополучить, чтобы считать соседа мертвым (т.е после 3 секунд наш сосед будет считаться мёртвым)

Т.е. топология сети может быть разной, и если прямой линк пропадёт, то связность по протоколу ICCP всё равно останется. В данном случае такого не произойдёт, так как у нас только один линк от роутера. Это сделано, чтобы не настраивать STP, который будет рассмотрен в других главах.

Посмотрим установилось ли соединение по ICCP и BFD:

root@Active-PE1# run show bfd session
                                                  Detect   Transmit
Address                  State     Interface      Time     Interval  Multiplier
10.0.0.2                 Up                       3.000     1.000        3

1 sessions, 1 clients
Cumulative transmit rate 1.0 pps, cumulative receive rate 1.0 pps

{master:0}[edit protocols iccp]
root@Active-PE1# run show iccp

Redundancy Group Information for peer 10.0.0.2
  TCP Connection       : Established
  Liveliness Detection : Up
  Redundancy Group ID          Status
    1                           Up

Client Application: lacpd
  Redundancy Group IDs Joined: None

Client Application: l2ald_iccpd_client
  Redundancy Group IDs Joined: None

4. Active-Standby Mode

Такая конфигурация редко где используется, но проще настраивается по причине того, что в Active-Active в передаче трафика участвуют два устройства. Настройка выглядит так:

Active-PE1
interfaces {
    ge-0/0/1 {
        gigether-options {
            802.3ad ae1;
        }
    }
    ae1 {
        flexible-vlan-tagging;
        encapsulation flexible-ethernet-services;
        aggregated-ether-options {
            lacp {
                active;
                periodic fast;
                system-id aa:bb:cc:dd:ee:ff;
                admin-key 1;
            }
            mc-ae {
                mc-ae-id 1;
                redundancy-group 1;
                chassis-id 0;
                mode active-standby;
                status-control active;
            }                           
        }
        unit 10 {
            family bridge {
                interface-mode trunk;
                vlan-id-list 10;
            }
        }
    }
}

Разберём по пунктам зачем и что нужно:

set interfaces ae1 aggregated-ether-options lacp system-id aa:bb:cc:dd:ee:ff
set interfaces ae1 aggregated-ether-options lacp admin-key 1
Это необходимо, чтобы со стороны клиента всё выгяледло так, будто его интерфейсы 
подсоединены к одному устройству. Т.е. это нужно, чтобы клиентские интерфейсы 
сформировали LAG.

set interfaces ae1 aggregated-ether-options mc-ae mc-ae-id 1
Идентификатор агрегированного интерфейса. Должен совпадать на обоих интерфейсах двух
устройств со стороны провайдера, смотрящих в сторону одного клиента.


set interfaces ae1 aggregated-ether-options mc-ae redundancy-group 1
Группа избыточности. Нужно для ICCP. должно совпадать на интерфейсах в сторону одного
клента.

set interfaces ae1 aggregated-ether-options mc-ae chassis-id 0
Указываем ID для шасси, чтобы мы могли понять какой интерфейс кому принадлежит.
Может быть 0 или 1. ID должен быть разным на разных устройствах.

set interfaces ae1 aggregated-ether-options mc-ae mode active-standby
Указываем Operational Mode для MC-LAG. Должен быть одинкаовым на всех шасси.

set interfaces ae1 aggregated-ether-options mc-ae status-control active
Тут мы выбираем Operational Mode уже для конкретного шасси

Заодно добавим на Router Bridge-Domain и интерфейс для маршрутизации:

interfaces {
    ge-0/0/0 {
        unit 0 {
            family bridge {
                interface-mode trunk;
                vlan-id-list 10;
            }
        }
    }
    ge-0/0/1 {
        unit 0 {
            family bridge {
                interface-mode trunk;
                vlan-id-list 10;
            }
        }                               
    }
    irb {
        unit 10 {
            family inet {
                address 8.8.8.1/24;
            }
        }
    }
    lo0 {
        unit 0 {
            family inet {
                address 50.0.0.1/32;
            }
        }
    }
}
bridge-domains {
    v10 {
        vlan-id 10;
        routing-interface irb.10;
    }
}

5. Active-Active Mode

Тут всё аналогично, только добавляется несколько новых команд:

chassis {
    aggregated-devices {
        ethernet {
            device-count 5;
        }
    }
}
interfaces {
    ae0 {
        aggregated-ether-options {
            lacp {
                active;
                periodic fast;
            }
        }
        unit 0 {
            family ethernet-switching {
                interface-mode trunk;
                vlan {
                    members [ 10 4000 ];
                }
            }
        }                               
    }
    ae1 {
        aggregated-ether-options {
            lacp {
                active;
                periodic fast;
                system-id ff:ee:dd:cc:bb:aa;
                admin-key 1;
            }
            mc-ae {
                mc-ae-id 1;
                redundancy-group 1;
                chassis-id 0;
                mode active-active;
                status-control active;
            }
        }
        unit 0 {
            family ethernet-switching {
                interface-mode trunk;
                vlan {
                    members 10;
                }                       
            }
        }
    }
    irb {
        unit 4000 {
            family inet {
                address 192.168.0.1/24;
            }
        }
    }
}
multi-chassis {
    multi-chassis-protection 10.0.0.4 {
        interface ae0;
    }
}

Multi-chassis-protection необходимо для функционирования Active-Active. Если даже протокол ICCP cкажет, что пир недоступен (например, если ICCP установлен не на LoopBack-адресах), то Multi-chassis-protection позволит избежать петли.

6. Проверка работы

Active-Active cо стороны провайдера:

root@Active-PE3> show interfaces mc-ae extensive 
 Member Link                  : ae1
 Current State Machine's State: mcae active state
 Local Status                 : active
 Local State                  : up
 Peer Status                  : active
 Peer State                   : up
     Logical Interface        : ae1.0
     Topology Type            : bridge
     Local State              : up
     Peer State               : up
     Peer Ip/MCP/State        : 10.0.0.4 ae0.0 up
 
 MCAE Configuration
     Redundancy Group         : 1
     MCAE ID                  : 1
     MCAE Mode                : active_active
     Status Control           : active
     Chassis ID               : 0
 LACP Configuration
     System ID                : ff:ee:dd:cc:bb:aa
     Admin Key                : 1

root@Active-PE4> show interfaces mc-ae extensive 
 Member Link                  : ae1
 Current State Machine's State: mcae active state
 Local Status                 : active
 Local State                  : up
 Peer Status                  : active
 Peer State                   : up
     Logical Interface        : ae1.0
     Topology Type            : bridge
     Local State              : up
     Peer State               : up
     Peer Ip/MCP/State        : 10.0.0.3 ae0.0 up
 
 MCAE Configuration
     Redundancy Group         : 1
     MCAE ID                  : 1
     MCAE Mode                : active_active
     Status Control           : standby
     Chassis ID               : 1
 LACP Configuration
     System ID                : ff:ee:dd:cc:bb:aa
     Admin Key                : 1

Active-Active cо стороны клиента:

root@CE2> show lacp interfaces              
Aggregated interface: ae0
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      xe-0/0/1       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      xe-0/0/1     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
      xe-0/0/2       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      xe-0/0/2     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
    LACP protocol:        Receive State  Transmit State          Mux State 
      xe-0/0/1                  Current   Fast periodic Collecting distributing
      xe-0/0/2                  Current   Fast periodic Collecting distributing

Active-Standby cо стороны провайдера:

root@Active-PE1> show interfaces mc-ae      
 Member Link                  : ae1
 Current State Machine's State: mcae active state
 Local Status                 : active
 Local State                  : up
 Peer Status                  : standby
 Peer State                   : up
     Logical Interface        : ae1.10
     Topology Type            : bridge
     Local State              : up
     Peer State               : up
     Peer Ip/MCP/State        : N/A

root@Standby-PE2> show interfaces mc-ae 
 Member Link                  : ae1
 Current State Machine's State: mcae standby state
 Local Status                 : standby
 Local State                  : up
 Peer Status                  : active
 Peer State                   : up
     Logical Interface        : ae1.10
     Topology Type            : bridge
     Local State              : up
     Peer State               : up
     Peer Ip/MCP/State        : N/A

Active-Standby cо стороны клиента:

root@CE1> show lacp interfaces 
Aggregated interface: ae0
    LACP state:       Role   Exp   Def  Dist  Col  Syn  Aggr  Timeout  Activity
      xe-0/0/1       Actor    No    No   Yes  Yes  Yes   Yes     Fast    Active
      xe-0/0/1     Partner    No    No   Yes  Yes  Yes   Yes     Fast    Active
      xe-0/0/2       Actor    No    No    No   No  Yes   Yes     Fast    Active
      xe-0/0/2     Partner    No    No    No   No   No   Yes     Fast    Active
    LACP protocol:        Receive State  Transmit State          Mux State 
      xe-0/0/1                  Current   Fast periodic Collecting distributing
      xe-0/0/2                  Current   Fast periodic           Attached

Т.е. отличия Active-Standby от Active-Active тут видны хорошо.

Ну и пинги, как проверка работы канала и IRB:

root@Linux2:~# ping 8.8.8.8 -c 4
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=64 time=108 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=64 time=114 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=64 time=203 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=64 time=288 ms

--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3001ms
rtt min/avg/max/mdev = 108.100/178.723/288.424/73.704 ms
root@Linux2:~# ping 50.0.0.1 -c 4
PING 50.0.0.1 (50.0.0.1) 56(84) bytes of data.
64 bytes from 50.0.0.1: icmp_seq=1 ttl=64 time=103 ms
64 bytes from 50.0.0.1: icmp_seq=2 ttl=64 time=102 ms
64 bytes from 50.0.0.1: icmp_seq=3 ttl=64 time=159 ms
64 bytes from 50.0.0.1: icmp_seq=4 ttl=64 time=166 ms

--- 50.0.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3002ms
rtt min/avg/max/mdev = 102.810/132.991/166.167/29.741 ms
Схема сети