Перейти к содержанию

Huawei NetEngine 8000

Лицензии

Информации по лицензиям в открытом доступе нет. Она доступна только для партнеров Huawei с наделенными правами просмотра соответствующей информации.

Каждый вид лицензии при покупке оборудования может входить в какой-либо бандл и не указываться явно в спецификации.

Всю уточняющую информацию можно получить только через персонального менеджера. 😡

port-basic

Port basic license

Это лицензия нужна для того, чтобы работали интерфейсы. Без этой лицензии скорость на портах будет ограничена до 100 Мбит/сек, а так же будет остутствовать возможность использовать LAG и активировать другие виды лицензий. Кодовые названия лицензии для каждого типа портов.

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8S0F1AE1C3          NetEngine 8000 F1A-8H20Q Fixed Port 10GE Upgrade RTU         
LCR8S0F1AE1C1          NetEngine 8000 F1A-8H20Q Fixed Port 100GE Upgrade RTU        
LCR8S0F1AE1C2          NetEngine 8000 F1A-8H20Q Fixed Port 25GE Upgrade RTU  

Соответственно на 25GE порты можно применить как лицензию LCR8S0F1AE1C3, так и LCR8S0F1AE1C2 в зависимости от того, какая скорость будет использоваться. Пример:

0/1/28               LCR8S0F1AE1C3   1               0               No allocated   
                     LCR8S0F1AE1C2   1               0               No allocated   
0/1/29               LCR8S0F1AE1C3   1               0               No allocated   
                     LCR8S0F1AE1C2   1               0               No allocated   

Здесь 28-29 порты 25GE.

port-core-aggregation

Port core&aggregation license

Данные лицензии включают на портах следующий функционал на интерфейсах:

  • SR
  • RSVP-TE
  • MPLS-TE
  • VxLAN
  • HQoS

Кодовые названия лицензии для каждого типа портов

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8SF0CRAGC1          NetEngine 8000 F Series Core&Aggregation Scenario Port Function License(per 50GE/40GE)
LCR8SF0CRAGC4          NetEngine 8000 F Series Core&Aggregation Scenario Port Function License(per 10GE)

При этом для 25 и 100 гигабитных портов требуется по 2 ресурса данных лицензий. Пример:

Physical Position    FeatureName     Needed Count    Used Count      Active Status  
------------------------------------------------------------------------------------
0/1/24               LCR8SF0CRAGC4   1               0               No allocated   
0/1/25               LCR8SF0CRAGC4   1               0               No allocated   
0/1/26               LCR8SF0CRAGC4   1               0               No allocated   
0/1/27               LCR8SF0CRAGC4   1               0               No allocated   
0/1/28               LCR8SF0CRAGC4   2               0               No allocated   
0/1/29               LCR8SF0CRAGC4   2               0               No allocated   
0/1/30               LCR8SF0CRAGC4   2               0               No allocated   

Здесь 24-27 порты 10GE, а 28-30 25GE

port-evpn

Port evpn license

Кодовые названия лицензии для каждого типа портов.

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8SF0EVPNC1          NetEngine 8000 F Series EVPN Port Function License(per 50GE/40GE)
LCR8SF0EVPNC4          NetEngine 8000 F Series EVPN Port Function License(per 10GE) 

port-l3vpn

Port L3VPN licenseCR8PF1ABASC1

Кодовые названия лицензии для каждого типа портов.

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8SF0L3VPC1          NetEngine 8000 F Series L3VPN Port Function License(per 50GE/40GE)
LCR8SF0L3VPC4          NetEngine 8000 F Series L3VPN Port Function License(per 10GE)

port-slicing

Port slicing license

Кодовые названия лицензии для каждого типа портов.

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8SF0SLC0C5          NetEngine 8000 F Series Port Slicing Function License(per 50GE/40GE)
LCR8SF0SLC0C4          NetEngine 8000 F Series Port Slicing Function License(per 10GE)

port-srv6

Port SRv6 license

Кодовые названия лицензии для каждого типа портов.

FeatureName            Description                                                  
------------------------------------------------------------------------------------
LCR8SF0SRV6C1          NetEngine 8000 F Series SRv6 Function License(per 50GE/40GE) 
LCR8SF0SRV6C4          NetEngine 8000 F Series SRv6 Function License(per 10GE) 

Базовая настройка

# Хостнейм
sysname NE-DP32-8-1

# Отключаем Plug-n-play
undo pnp enable

# Отключаем DCN (Тоже Plug-n-play технология Huawei для Zero провиженинга)
undo dcn

# Отключаем параноидальный режим для создания пользователей
undo user-security-policy enable

# Отключаем блокировку по IP при неудачных попытках авторизации по SSH
ssh server ip-block disable

# Настраиваем router-id для протколов динамической маршрутизации
router id 100.0.0.1

# Настраиваем MGM порт
undo ip vpn-instance __LOCAL_OAM_VPN__
ip vpn-instance management
 ipv4-family
 ipv6-family
interface GigabitEthernet 0/0/0
 ip binding vpn-instance management
 ip address 10.10.10.191 24

# Удаляем лишних пользователей, заводим нужных
undo ssh user root
aaa
 # Отключить блокировку при неправильно вводе пароля
 user-block failed-times 0 period 5  
 undo local-user root
 local-user admin password
 # Enter password:
 local-user admin level 3
 local-user admin service-type ssh
 local-user admin password expire 0

# Настраиваем VTY
user-interface vty 0 20
 authentication-mode aaa
 protocol inbound ssh
 history-command max-size 256
 idle-timeout 360 59

# Настраиваем ACL для доступа по SSH
acl name ssh_access basic number 2050  
 description OoBM Link only
 rule permit vpn-instance management source any
ssh server acl ssh_access  

# DNS
dns resolve     
dns server 80.65.16.1
dns server 80.65.20.1
dns domain orionnet.ru

Всякие полезные команды

# Показать, очистить текущий буфер
display configuration candidate
clear configuration candidate

# Показать текущий конфиг контекста
display this

# Показать настройки интерфейса
dis curr interface gi 0/0/0

# Выбрать диапазон интерфейсов (все порты)
port-group group-member gi 0/1/0 to gi 0/1/27 25GE 0/1/28 to 25GE 0/1/47 100GE 0/1/48 to 100GE 0/1/55 

# Очистить настройки интерфейса
clear configurtion interface 100 0/1/52 

# Показать IP интерфейсы, на которых сконфигурены адреса
dis ip int br ip-configured

# Показать FIB (аналог CEF)
dis fib slot 1

# Отключить пейджинг
screen-length 0

# Выйти в user-view независимо от уровня контекста
return

AAA

Отключить блокировку при неудачных попытках авторизации

user-block failed-times 0 period 1

Отключить проверку сложности пароля

undo user-password complexity-check

Для входа необходимо сконфигурировать:

  1. User interface (VTY, Console) - обеспечивают место входа
  2. User management - обеспечивают безопасность
  3. Terminal services - предоставляют протоколы подключения
user-interface maximum-bty 21
user-interface vty 0 20
 idle-timeout 600
 screen-length 0

Доступ по SSH ключу

 aaa
  local-user user1 password irreversible-cipher $1c$*CzmY/2DqO$K0Em58ci|7|_v1,S[n,IzWj@2K1KCBqV`6HEA]Y,$
  local-user user1 service-type ssh
  local-user user1 level 3
  local-user user1 state active
  local-user user1 password expire 0
rsa peer-public-key user1 encoding-type openssh
 public-key-code begin
  ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDARXQ1GYiWz74V6KldRHt3ogPK3s5EP4Oy+xRRs0m4ZzSjA0/vVj+TVR8foDsHgzUhDVf+esSt8KmvVG16FmueO4TEmDGZPyu8P81Xq7GrfyLPzhJBI7UM9mgFIYNX5CpG6ZqcWCy72GeMu1UEb2DVAZnMjbVzym00m7GPcp10Z+YD8k5zfeh0N2OYzDAPN2kJmQpgCMKXDsQhjQwoY+ggc0bouQnpwXJdOO9lOfLz
XT2oBCSP7ytJBaoByhP8fJUVKNkQILY3kMpVwp4+bSS2s0EZwxaJckhhnWZL/98Ld/epWYPN81/el8gXwQZzxcLpbcjuHaZXqW4tXzCqelJL user1@work
  public-key-code end
 peer-public-key end
ssh user user1
ssh user user1 authentication-type rsa
ssh user user1 assign rsa-key chernyshev_d
ssh user user1 service-type all

Группы и команды

Допустим нужно завести пользователя cbackup, которому должно быть доступно чтение текущей конфигурации и не более.

aaa
 task-group cbackup
  # Нужен, чтобы прочитать конфигурацию
  task config read
  # Нужен, чтобы указать screen-length 0 temp
  task tty execute 
  # Нужен, чтобы работала команда quit :)
  task shell execute
 #
 user-group cbackup
  task-group cbackup
 # Заводим пользователя стандартным способом
 local-user cbackup password irreversible-cipher $1c$G"WCYNg{TW$|$3E<hHTn>"s5-P<&[0Qkiv;Z$sLD3~E7MY$UJ}Q$
 local-user cbackup service-type ssh
 local-user cbackup state active
 local-user cbackup user-group cbackup 
# Ключи пользователя должен быть добавлен (смотри предыдущий раздел)
ssh user cbackup
ssh user cbackup authentication-type rsa
ssh user cbackup assign rsa-key cbackup
ssh user cbackup service-type stelnet

SNMP

snmp-agent
snmp-agent sys-info contact "Contact"
snmp-agent sys-info location "Location"
snmp-agent sys-info version v2c
# MGMT Interface in management VRF
snmp-agent protocol source-interface GigabitEthernet0/0/0
acl name snmp_access basic
 description OoBM Link only
 rule 5 permit vpn-instance management
snmp-agent acl snmp_access
snmp-agent community read community_name

NTP

Настройка в качестве клиента

ntp-service server disable
ntp-service ipv6 server disable
ntp-service server source-interface all disable
ntp-service ipv6 server source-interface all disable
ntp-service unicast-server 1.1.1.1 source-interface LoopBack0
ntp-service unicast-server 2.2.2.2 source-interface LoopBack0
#
clock timezone KRAT add 07:00:00

Syslog

info-center channel 0 name graylog
info-center source bgp channel 0 log level notification
info-center source evpn channel 0 log level notification
info-center source isis channel 0 log level notification
info-center source info channel 0 log level notification
info-center source default channel 0 log level notification
info-center loghost 10.226.255.2 vpn-instance management source-ip 10.226.255.191 channel 0 level notification local-time

NetStream

Полноый экспорт Netflow 5 без сэмплирования

system
ip netstream export source x.x.x.x
ip netstream export host y.y.y.y 9996
slot 0
interface Eth-Trunk10.39
 ip netstream inbound
 ip netstream outbound
 ip netstream sampler fix-packets 1 inbound
 ip netstream sampler fix-packets 1 outbound
slot
 slot 1:ip netstream sampler to slot self

Порты

Создание LAG

# На портах не должно быть конфигурации перед добавлением в транк
clear config interface 100GE 0/1/52
y
clear config interface 100GE 0/1/52
y
# Создаем транк
interface eth-trunk 52
 mode lacp-static
 trunkport 100GE 0/1/52 mode active
 trunkport 100GE 0/1/54 mode active

Настройка сабинтерфейса

interface et52.100
 vlan-type dot1q 100
 ip address 172.16.80.1 24
 undo shutdown

PBR

Настройка Policy Based Routing-а заключается в настройке пяти сущностей:

  • NQA (Network Quality Analysis) - аналог IP SLA в Cisco. Запускает набор тестов для проверки доступности/качества и т.д.
dis cur conf nqa

Пример:

#
nqa test-instance NATS NQA_NAT0
 test-type icmp
 description !! Test availability of NAT0 !!
 destination-address ipv4 192.168.1.1
 interval seconds 1
 timeout 1
 probe-count 2
 source-interface LoopBack0
 frequency 3
 start now
#
nqa test-instance NATS NQA_NAT1
 test-type icmp
 description !! Test availability of NAT1 !!
 destination-address ipv4 192.168.2.1
 interval seconds 1
 timeout 1
 probe-count 2
 source-interface LoopBack0
 frequency 3
 start now
#
  • ACL (Access List) - собственно акцесс листы, на основе которых классифицируется трафик для дальнейшей обработки.
dis cur conf acl-basic|acl-adv

Прмер:

#
acl name ACL-NAT0 basic
 rule 10 permit source 172.16.0.0 0.0.127.255
#
acl name ACL-NAT1 basic
 rule 10 permit source 172.24.0.0 0.0.255.255
#
  • TB (Traffic Behaviur) - действие, которое нужно произвести с траффиком, которое попадает под классификацию.
dis cur conf behaviour

Пример:

traffic behavior TB-NAT0
 redirect ipv4-multinhp nhp 192.168.1.1 nqa NATS NQA_NAT0 nhp 192.168.2.1 nqa NATS NQA_NAT1 routing-filter default-routing pri-type common
#
traffic behavior TB-NAT1
 redirect ipv4-multinhp nhp 192.168.2.1 nqa NATS NQA_NAT1 nhp 192.168.1.1 nqa NATS NQA_NAT0 routing-filter default-routing pri-type common
#

❗️ Для того, чтобы менялся только маршрут по-умолчанию, нужно глобально настроить поведение маршрутизатора, позволив ему подменять default-route.

#               
slot 1          
 redirect routing-filter default-routing
#  
  • Classifier - Классифицирует трафик для дальнейшего применения политик маршрутизации.
dis cur conf classifier

Прмер:

#
traffic classifier TC-NAT0 operator or
 if-match acl name ACL-NAT0
#
traffic classifier TC-NAT1 operator or
 if-match acl name ACL-NAT1
#
  • Traffic Policy (TP) - связывает определенных класс трафика с определенным действием (behavior). Непосредственно добавляется на интерфейс.
dis cur conf trafficpolicy

Прмер:

#
traffic policy TO-NAT
 share-mode # Использовать общую политику для всех интерфейсов
 classifier TC-NAT0 behavior TB-NAT0 precedence 100
 classifier TC-NAT1 behavior TB-NAT1 precedence 110
#

Общая схема настройки PBR

image-20210226150801598

IS-IS

Настройка с задействованным функционалом segment routing и TI-LFA (Topology Independent - Loop Free Alternate Fart ReRoute)

isis 1
 description == Hooves and horns ==
 is-level level-2
 cost-style wide
 timer lsp-generation 5 1 50 level-1
 timer lsp-generation 5 1 50 level-2
 flash-flood 15 level-1
 flash-flood 15 level-2
 bfd all-interfaces enable
 bfd all-interfaces min-tx-interval 50 min-rx-interval 50
 circuit-cost 100000 level-2
 network-entity 49.0001.0000.0000.0001.00
 is-name LAB.NE8000-1
 timer spf 5 1 50
 # Включение функционала SR. SRGB на всех PE желательно делать одианковым.
 segment-routing mpls
 segment-routing global-block 16000 23999
 frr
  loop-free-alternate level-2
  ti-lfa level-2
  interface Eth-Trunk52.3947
#
vlan-type dot1q 3947
 ...
 isis enable 1
 # Отключаем выбор DR, указав p2p линк
 isis circuit-type p2p
 isis circuit-level level-2
 isis authentication-mode md5 plain t,fyfan2020
 isis small-hello
 isis bfd enable
 ...
#
int lo 0
    ...
    isis enable 1
    # Задачем Prefix SID для SR
    isis prefix-sid index <n>

Диагностика

# Показать проблемы IS-IS
dis isis troubleshooting

BGP

Диагностика

display bgp troubleshooting

RR и Next-Hop

В некоторых экзотических случаях, например при общении по iBGP с Linux машиной, бывает необходимо подменить next-hop на адрес интерфейса, с которого установлена сессия. NE8000 для iBGP этого сделать не даст (next-hop-local не сработает). Можно настроить следующим образом:

#
xpl route-filter RF-EXPORT
  apply ip next-hop peer-address
end-filter
#
bgp <asn>
  ipv4-family unicast
    reflect change-path-attribute
    peer <peer> reflect-client
    peer <peer> route-filter RF-EXPORT
...

## MPLS

Базовая настройка

```c
mpls
mpls lsr-id <loopback 0 ip>

Segment Routing

Общие настройки

segment-routing 
 # При построении L2VPN будет использоваться именно SR
 tunnel-prefer segment-routing

https://www.segment-routing.net/tutorials/

# Показать метки, назначенные для Adjacency сегментов
dis segment-routing adjacency mpls forwarding

# Показать метки, назначенные для Prefix сегментов
dis segment-routing prefix mpls forwarding

# Показать состояние всех созданных LSP тоннелей
display tunnel-info all

# Пропингать удаленный хост через тоннель
ping lsp segment-routing ip 100.0.0.2 32 version draft2

#

Для того, чтобы L3VPN использовал тоннели SR, необходимо в VRF это указать

tunnel-policy p1
 tunnel select-seq sr-lsp load-balance-number 2     
commit

ip vpn-instance <vpnname>
 ipv4-family
    tnl-policy p1
commit

Для того, чтобы преимущественно использовались SR-MPLS BE тоннели (вместо LDP, например)

segment-routing 
 tunnel-prefer segment-routing

EVPN

Активация лицензии

При попытке привязать какой-либо интерфейс к EVPN инстансу, появится сообщение об ошибке. Лицензия активируется для физического интерфейса.

# Необходимо активировать лицензию
[~NE-DP32-8-1-GigabitEthernet0/1/0]evpn binding vpn-instance core-test 
Error: The evpn license is not activated for interface GE0/1/0.

# Аактивация лицензии
[~NE-DP32-8-1-license]active port-evpn slot 1 card 1 port 0 
Error: The port-basic licenses have not been activated for the ports in the range 0. Activate them first.

[~NE-DP32-8-1-license]active port-basic slot 1 card 1 port 0 
Info: Use the display command to check the activation status of the port-basic licenses after committing the command.
[*NE-DP32-8-1-license]active port-evpn slot 1 card 1 port 0 
Info: Use the display command to check the activation status of the port-evpn licenses after committing the command.

commmit

# Проверяем, что все активировалось
<NE-DP32-8-1>display license resource usage port-basic all active 
...
License detailed information:
====================================================================================
Physical Position    FeatureName     Needed Count    Used Count      Active Status  
------------------------------------------------------------------------------------
0/1/0                LCR8S0F1AE1C3   1               1               Activated  
...

<NE-DP32-8-1>display license resource usage port-evpn all active  
...
License detailed information:
====================================================================================
Physical Position    FeatureName     Needed Count    Used Count      Active Status  
------------------------------------------------------------------------------------
0/1/0                LCR8SF0EVPNC4   1               1               Activated   

Настройка

Топология стенда

image-20200715115856027

Single Homed

Port-based

Простейший способ настройки EVPN, в котором с инстансом связывается физический интерфейс (port-based), который смотрит в сторону CE. Все пакеты попадают в соответствющий инстанс.

EVPN instance d c c vpn-i

evpn vpn-instance core-test
 # RD
 route-distinguisher 100:2
 description << Instance without bridge >>
 # RT
 vpn-target 1:2 export-extcommunity
 vpn-target 1:2 import-extcommunity
 # Ограничиваем количество MAC-ов в инстансе
 mac limit 1000

BGP

bgp 65300
 peer 100.0.0.2 as-number 65300
 peer 100.0.0.2 connect-interface LoopBack0
 #
 l2vpn-family evpn
  peer 100.0.0.2 enable

Привязка интерфейса к EVPN инстансу

interface GigabitEthernet0/1/1
 mtu 9198
 description << EVPN test to 4900-1 Te1/1 >>
 undo shutdown
 evpn binding vpn-instance core-test

Аналогично настраивается на другом PE.

image-20200715115856027

Vlan-aware (BD EVPN)

Vlan-aware Bundle - однму EVI несколько BD с указанием bd-tag для нормализации. Vlan-bundle настраивается аналогично, но без использования bd-tag (нормализацию вланов использовать в таком случае нельзя, но метки MPLS расходуются более экономно).

В Vlan-aware режиме путем снятия тега с разных сторон VPN-а можно использовать разные vlan (нормализация вланов).

Настриваем BD (Bridge Domain)

bridge-domain 10
 evpn binding vpn-instance core-bridge bd-tag 100

Настраиваем EVPN ???

evpn
 vlan-extend private enable
 vlan-extend redirect enable
 local-remote frr enable
 #
 mac-duplication

Настриваем EVI (EVPN Instance) в режиме bd-mode

evpn vpn-instance core-bridge bd-mode
 route-distinguisher 100:1
 description << CORE Backbone L2 >>
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
 mac limit 1000

Настроиваем интерфейс, который необходимо добавить в BD

Subinterface нельзя привязывать к BD домену, так как он является routed

[*NE-DP32-8-1-GigabitEthernet0/1/0.666]evpn bind vpn-instance core-bridge
Error: Non-supported interface type.

Чтобы привязать SUB интерфейс к Bridge-domain-у необходимо настроить егов режиме l2

interface GigabitEthernet0/1/0.666 mode l2
 description << EVPN BD TEST >>
 encapsulation dot1q vid 666
 bridge-domain 10

С другой стороны:

bridge-domain 20
 evpn binding vpn-instance core-bridge bd-tag 200
#
evpn
 vlan-extend private enable
 vlan-extend redirect enable
 local-remote frr enable
 #
 mac-duplication
#
evpn vpn-instance core-bridge bd-mode
 route-distinguisher 100:1
 description << CORE Backbone L2 >>
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
 mac limit 1000
#
interface GigabitEthernet0/1/1.666 mode l2
 description << EVPN BD TEST >>
 encapsulation dot1q vid 666
 bridge-domain 20

Для использования разных vlan в VPN на интерфейсах перед добавлением в BD необходимо снять vlan tag.

#NE8000-1
interface GigabitEthernet0/1/0.665 mode l2
 description << EVPN Vlan-aware mode >>
 encapsulation dot1q vid 665
 rewrite pop single
 bridge-domain 10

#NE8000-2
interface GigabitEthernet0/1/1.666 mode l2
 description << EVPN Vlan-aware mode >>
 encapsulation dot1q vid 666
 rewrite pop single
 bridge-domain 20

Dual Homed

Схема подключения

Huawei-NE8000-EVPN+L3+Aggregation

L2 сервис

EVPN инстанс

evpn    
 # ??
 df-election ac-influence enable
 # Оптимальное использование линков
 vlan-extend private enable
 vlan-extend redirect enable
 # ??
 local-remote frr enable
 # Защита от дубликации вланов, если клиент запетляет сеть (access-side)
 # Основано mac sequens (mac mobility)
 mac-duplication
 # Настроиваем режим балансировки отдельно для ES
 esi 0000.0000.0000.0000.1111
  evpn redundancy-mode all-active
# Собственно инстанс, к которому привяжемся
evpn vpn-instance core-bridge bd-mode
 route-distinguisher 100:1
 description << CORE Backbone L2 >>
 vpn-target 1:1 export-extcommunity
 vpn-target 1:1 import-extcommunity
 mac limit 1000     

BGP между PE для обмена EVPN маршрутами

bgp 65300                                                                                                     
...
 l2vpn-family evpn
  policy vpn-target
  peer 109.226.255.212 enable
  # ???
  peer 109.226.255.212 advertise irb  

Bridge Domain

bridge-domain 10
 evpn binding vpn-instance core-bridge bd-tag 666

Настроиваем e-trunk (при создании обязательно необходимо задать security-key)

# ??
lacp e-trunk priority 100
#
e-trunk 1
 priority 200
 peer-address 100.0.0.2 source-address 100.0.0.1
 security-key cipher %^%#*fs}C;H0"@m55<KG*PdWJnokE4|;W686!K!r2*v3%^%#
 authentication-mode enhanced-hmac-sha256

В сторону CE на каждом из PE настраиваем etherchannel и назначаем ему ESI, отличный от нуля для работы в MH режиме. Пример PE1:

interface Eth-Trunk1
 mtu 9198       
 mode lacp-static
 e-trunk 1
 # Для работы A/A
 e-trunk mode force-master
 esi 0000.0000.0000.0000.1111
#
interface GigabitEthernet0/1/0
 description << C4900-2 Te1/1 >>
 undo shutdown  
 eth-trunk 1    
 undo dcn  

Так же на PE2 необходимо указать system-id для e-trunk. MAC должен быть одинаковым на обоих PE, если агрегированный интерфейс собирается в режиме LACP.

lacp e-trunk system-id 78b4-6aaf-3271
lacp e-trunk priority 100

Принимаем нужные вланы от CE со снятием метки для нормализации.

interface Eth-Trunk1.666 mode l2
 description << EVPN Vlan-aware AA mode >>
 encapsulation dot1q vid 666
 rewrite pop single
 bridge-domain 10

L3 сервис

Относится к настройке anycast-gateway ❓ ❓

# This ensures a rapid traffic switchover after a CE fault occurs.
arp constant-send enable
arp constant-send maximum 1

IP VPN инстанс (L3VPN), который будет связан с EVPN инстансом через IRB интерфейс

# RT и RD не обязательно должны быть такими же, как у EVI
ip vpn-instance core-bridge-l3
 description << EVPN L3 services for Core backbone >>
 ipv4-family    
  route-distinguisher 100:1
  apply-label per-nexthop
  routing-table limit 1000 100
  vpn-target 1:1 export-extcommunity evpn
  vpn-target 1:1 import-extcommunity evpn
  # Использовать EVPN для передачи маршрутной информации
  # L3VPN -> EVPN
  evpn mpls routing-enable

Настраиваем одинаково на обохи PE Bridge интерфейс, то есть добавляем L3 интерфейс в Bridge-domain. Номер интерфейса равен номеру BD. IP адреса на всех PE в одном EVPN инстансе с указанием MAC, чтобы обеспечить работу anycast-gateway. Привязываем данный IRB к L3VPN инстансу.

interface Vbdif10
 ip binding vpn-instance core-bridge-l3
 ip address 192.168.128.254 255.255.255.0
 # ??
 arp generate-rd-table enable
 # ??
 arp distribute-gateway enable
 # ??
 arp collect host enable
 mac-address 0200-0000-0010

Настройки BGP для обмена маршрутами с CE. При этом сессия будет установлена лишь с одним из PE.

import-route direct - импортируем коннектед маршруты, находящиеся в данном VRF

import-rib public route-filter default-only - из глобальной таблицы импортируем дефолтный маршрут (default-only в данном случае это xpl фильтр)

advertise l2vpn evpn - экспортировать полученный префиксы в соответствующий EVI (L3 сервис EVPN), связанные с VPN иснтансом через Bridge интерфейс.

192.168.128.20 - это второй CE, который на схеме не указан. RR настроен, потому что между CE нет BGP сессии.

bgp 65300
...
ipv4-family vpn-instance core-bridge-l3
  import-route direct
  import-rib public route-filter default-only
  # Анонсировать префиксы, полученные через EVPN
  # EVPN -> L3VPN
  advertise l2vpn evpn
  peer 192.168.128.10 as-number 31257
  peer 192.168.128.10 reflect-client
  peer 192.168.128.20 as-number 31257
  peer 192.168.128.20 reflect-client