Пример настройки VXLAN в режиме распределенного шлюза с использованием BGP EVPN
Поддерживаемые продукты и версии
Этот пример относится к CE12800, CE8800, CE7800 и CE6800 (за исключением CE6850EI, CE6810EI и CE6810LI) по версии V200R001C00 или более поздней версии.
Требования к сети
Распределенные шлюзы VXLAN конфигурируются для решения таких проблем в традиционных централизованных сетях шлюза VXLAN как не оптимальные маршруты переадресации и проблемы спецификации записей ARP.
В сети на Figure 1-11 VM предприятия реализованы в разных ЦОДах. VM1 на Server1 относится к VLAN 10, а VM1 а Server2 относится к VLAN 20. VM1 на Server1 и VM1 на Server2 находятся в разных сегментах сети. Server1 соединяется с VXLAN через Device2 и Device4. Чтобы VM1, находящиеся в разных ЦОДах, могли взаимодействовать, Настройте распределенные шлюзы VXLAN. Устройство Device1 реализовано в AS 100, Device2 и Device4 реализованы в AS 200, а Device3 реализовано в AS 300. Device1, Device2, Device3 и Device4 используют AS 100 для BGP EVPN.
Устройство |
Интерфейс |
IP-адрес |
---|---|---|
Device1 |
10GE1/0/1 |
192.168.3.2/24 |
10GE1/0/2 |
192.168.2.2/24 |
|
10GE1/0/3 |
192.168.4.2/24 |
|
LoopBack0 |
1.1.1.1/32 |
|
Device2 |
10GE1/0/1 |
192.168.2.1/24 |
LoopBack0 |
2.2.2.2/32 |
|
LoopBack1 |
2.2.2.210/32 |
|
Device3 |
10GE1/0/1 |
192.168.3.1/24 |
LoopBack0 |
3.3.3.3/32 |
|
Device4 |
10GE1/0/1 |
192.168.4.1/24 |
LoopBack0 |
4.4.4.4/32 |
|
LoopBack1 |
2.2.2.210/32 |
План конфигурации
- Настройте EBGP между Device1 и Device2, между Device1 и Device3 и между Device1 и Device4.
- Настройте соединение между Device2 и Device4 в качестве корневого моста, и задайте для них одинаковый идентификатор моста.
- Настройте M-LAG между Device2 и Device4.
- Настройте точку доступа к услугам на Device2, Device3 и Device4 для дифференцирования трафика услуг.
- Настройте EVPN в качестве уровня управления VXLAN.
- Настройте Device1 как соседное устройство BGP EVPN для Device2, Device3 и Device4.
- Настройте Device2, Device3 и Device4 как соседные устройства BGP EVPN для Device1 и настройте Device2, Device3 и Device4 как клиенты RR.
- Настройте объекты VPN и EVPN на Device2, Device3 и Device4.
- Настройте список репликации на входе на Device2, Device3 и Device4.
- Настройте Device2, Device3 и Device4 как шлюзы VXLAN уровня 3.
- Настройте BGP между Device1 и Device2, Device3 и Device4 для объявления маршрутов IRB.
Подготовка данных
Для завершения настройки понадобятся следующие данные:
- Идентификаторы VLAN VM (10 и 20)
- IP-адреса интерфейсов, к которым подключаются устройства
- Идентификаторы BD (10 и 20)
- Идентификаторы VNI (10 и 20)
- Идентификаторы VNI (5010)
- RD объекта EVPN (10:1, 20:1 и 40:1) и RT объекта EVPN (10:1, 20:1 и 11:1)
- RD объекта VPN (11:11, 44:44 и 22:22) и RT объекта VPN (1:1, 2:2 и 11:1)
- Помимо ERT X и IRT X для локального объекта VPN нужно настроить ERT Y и IRT Y с полем EVPN для итерации маршрутов, за счет которой объект EVPN сможет генерировать маршруты хоста.
- Помимо ERT A, ERT B, IRT A и IRT B для двух BD, для объекта EVPN нужно настроить ERT Y для итерации маршрута с объектом VPN. Как правило, нет необходимости конфигурировать IRT Y. Если IRT Y сконфигурирован, объекты EVPN в разных BD будут передавать друг другу MAC-адреса.
Procedure
- Настройте протокол маршрутизации.
# Настройте Device1. Повторите этот шаг для Device2, Device3 и Device4.
<HUAWEI>system-view [~HUAWEI] sysname Device1 [*HUAWEI] commit [~Device1] interface loopback 0 [*Device1-LoopBack0] ip address 1.1.1.1 32 [*Device1-LoopBack0] quit [*Device1] interface 10ge 1/0/1 [*Device1-10GE1/0/1] undo portswitch [*Device1-10GE1/0/1] ip address 192.168.3.2 24 [*Device1-10GE1/0/1] quit [*Device1] interface 10ge 1/0/2 [*Device1-10GE1/0/2] undo portswitch [*Device1-10GE1/0/2] ip address 192.168.2.2 24 [*Device1-10GE1/0/2] quit [*Device1] interface 10ge 1/0/3 [*Device1-10GE1/0/3] undo portswitch [*Device1-10GE1/0/3] ip address 192.168.4.2 24 [*Device1-10GE1/0/3] quit [*Device1] bgp 100 [*Device1-bgp] peer 192.168.2.1 as-number 200 [*Device1-bgp] peer 192.168.3.1 as-number 300 [*Device1-bgp] peer 192.168.4.1 as-number 200 [*Device1-bgp] network 1.1.1.1 32 [*Device1-bgp] quit [*Device1] commit
Поскольку Device 2 и Device 4 относятся к AS 200, чтобы устройства уведомляли друг друга о маршрутах BGP, выполните команду peer 192.168.2.2 allow-as-loop на Device 2 и peer 192.168.4.2 allow-as-loop на Device 4.
- Настройте режим туннеля VXLAN и включите функцию расширения
ACL VXLAN.(Выполните этот шаг только на CE12800 (за
исключением CE12800E), CE6870EI и CE6875EI).
# Настройте Device2. Конфигурации Device3 и Device4 аналогичны конфигурациям Device2, поэтому они здесь не упоминаются.
[~Device2] ip tunnel mode vxlan [*Device2] assign forward nvo3 acl extend enable [*Device2] commit
NOTE:
После изменения режима туннеля VXLAN или включения функции расширения ACL VXLAN сохраните конфигурацию и перезапустите устройство, чтобы настройка вступила в силу. Перезагрузите устройство немедленно или после завершения всех конфигураций.
- Настройте соединение между Device2 и Device4
в качестве корневого моста, и задайте для них одинаковый идентификатор
моста.
NOTE:
Если два устройства, составляющие M-LAG, подключаются к коммутаторам в нисходящем направлении, необходимо сконфигурировать корневую защиту.
# Настройте Device2.
[~Device2] stp root primary [*Device2] stp bridge-address 0039-0039-0039 [*Device2] interface eth-trunk 10 [*Device2-Eth-Trunk10] stp edged-port enable [*Device2-Eth-Trunk10] commit [~Device2-Eth-Trunk10] quit
# Настройте Device4.
[~Device4] stp root primary [*Device4] stp bridge-address 0039-0039-0039 [*Device4] interface eth-trunk 10 [*Device4-Eth-Trunk10] stp edged-port enable [*Device4-Eth-Trunk10] commit [~Device4-Eth-Trunk10] quit
- Настройте M-LAG между
Device2 и Device4.
NOTE:
В случае отказа канала, по которому устройство Device2 подключено к VXLAN в восходящем направлении, Device2 отбрасывает весь принятый абонентский трафик, поскольку нисходящие интерфейсы в восходящем направлении недоступны. Выполните команду monitor-link для привязки интерфейсов Device2 в восходящем и нисходящем направлениях. Если нисходящий интерфейс Device2 в восходящем направлении переходит в состояние Down, интерфейс в нисходящем направлении также переходит в состояние Down. В этом случае абонентский трафик не передается и не отбрасывается устройством Device2.
- Настройте точку доступа к услугам на Device2, Device3 и Device4.
# Настройте Device2. Повторите этот шаг для Device3 и Device4.
[~Device2] bridge-domain 10 [*Device2-bd10] quit [*Device2] interface eth-trunk 10.1 mode l2 [*Device2-Eth-Trunk10.1] encapsulation dot1q vid 10 [*Device2-Eth-Trunk10.1] bridge-domain 10 [*Device2-Eth-Trunk10.1] quit [*Device2] commit
- Настройте EVPN в качестве уровня
управления VXLAN.
# Настройте Device1. Повторите этот шаг для Device2, Device3 и Device4.
[~Device1] evpn-overlay enable [*Device1] commit
- Настройте Device2, Device3 и
Device4 как соседные устройства BGP EVPN для Device1 и Настройте их
как клиенты RR.# Настройте соседные устройства BGP EVPN для Device1.
[~Device1] bgp 100 instance evpn1 [*Device1-bgp-instance-evpn1] peer 2.2.2.2 as-number 100 [*Device1-bgp-instance-evpn1] peer 2.2.2.2 connect-interface LoopBack0 [*Device1-bgp-instance-evpn1] peer 3.3.3.3 as-number 100 [*Device1-bgp-instance-evpn1] peer 3.3.3.3 connect-interface LoopBack0 [*Device1-bgp-instance-evpn1] peer 4.4.4.4 as-number 100 [*Device1-bgp-instance-evpn1] peer 4.4.4.4 connect-interface LoopBack0 [*Device1-bgp-instance-evpn1] l2vpn-family evpn [*Device1-bgp-instance-evpn1-af-evpn] peer 2.2.2.2 enable [*Device1-bgp-instance-evpn1-af-evpn] peer 2.2.2.2 reflect-client [*Device1-bgp-instance-evpn1-af-evpn] peer 3.3.3.3 enable [*Device1-bgp-instance-evpn1-af-evpn] peer 3.3.3.3 reflect-client [*Device1-bgp-instance-evpn1-af-evpn] peer 4.4.4.4 enable [*Device1-bgp-instance-evpn1-af-evpn] peer 4.4.4.4 reflect-client [*Device1-bgp-instance-evpn1-af-evpn] undo policy vpn-target [*Device1-bgp-instance-evpn1-af-evpn] quit [*Device1-bgp-instance-evpn1] quit [*Device1] commit
- Настройте Device1 как соседное
устройство BGP EVPN для Device2, Device3 и Device4.# Настройте Device1 как соседное устройство BGP EVPN для Device2. Повторите этот шаг для Device3 и Device4.
[~Device2] bgp 100 instance evpn1 [*Device2-bgp-instance-evpn1] peer 1.1.1.1 as-number 100 [*Device2-bgp-instance-evpn1] peer 1.1.1.1 connect-interface LoopBack0 [*Device2-bgp-instance-evpn1] l2vpn-family evpn [*Device2-bgp-instance-evpn1-af-evpn] peer 1.1.1.1 enable [*Device2-bgp-instance-evpn1-af-evpn] quit [*Device2-bgp-instance-evpn1] quit [*Device2] commit
- Настройте объекты VPN и EVPN
на Device2, Device3 и Device4.
# Настройте объекты VPN и EVPN на Device2. Повторите этот шаг для Device3 и Device4.
[~Device2] ip vpn-instance vpn1 [*Device2-vpn-instance-vpn1] vxlan vni 5010 [*Device2-vpn-instance-vpn1] ipv4-family [*Device2-vpn-instance-vpn1-af-ipv4] route-distinguisher 11:11 [*Device2-vpn-instance-vpn1-af-ipv4] vpn-target 1:1 [*Device2-vpn-instance-vpn1-af-ipv4] vpn-target 11:1 evpn [*Device2-vpn-instance-vpn1-af-ipv4] quit [*Device2-vpn-instance-vpn1] quit [*Device2] bridge-domain 10 [*Device2-bd10] vxlan vni 10 [*Device2-bd10] evpn [*Device2-bd10-evpn] route-distinguisher 10:1 [*Device2-bd10-evpn] vpn-target 10:1 [*Device2-bd10-evpn] vpn-target 11:1 export-extcommunity [*Device2-bd10-evpn] quit [*Device2-bd10] quit [*Device2] commit
- Настройте список репликации на
входе на Device2, Device3 и Device4.
# Настройте Device2. Повторите этот шаг для Device3 и Device4. Не нужно настраивать MAC-адрес для интерфейса NVE на Device3.
[~Device2] interface nve 1 [*Device2-Nve1] source 2.2.2.210 [*Device2-Nve1] mac-address 0000-5e00-0101 [*Device2-Nve1] vni 10 head-end peer-list protocol bgp [*Device2-Nve1] quit [*Device2] commit
NOTE:
Убедитесь, что IP-адреса и MAC-адреса интерфейсов NVE на Device2 и Device4 совпадают, поскольку они относятся к шлюзам, работающим в режиме "активный-активный".
- Настройте Device2, Device3 и Device4 как шлюзы
VXLAN уровня 3.# Настройте интерфейс услуг loopback на Device2. Конфигурации Device3 и Device4 аналогичны конфигурациям Device2, поэтому они здесь не упоминаются. (Не нужно выполнять этот шаг на моделях CE12800, CE6855HI, CE6870EI, CE6875EI, CE6880EI и CE7855EI).
[~Device2] interface eth-trunk 2 [*Device2-Eth-Trunk2] service type tunnel [*Device2-Eth-Trunk2] quit [*Device2] interface 10ge 1/0/5 [*Device2-10GE1/0/5] eth-trunk 2 [*Device2-10GE1/0/5] quit [*Device2] commit
NOTE:
- Интерфейсы-участники должны быть свободными физическими интерфейсами, не участвующими в передаче услуг. К состоянию интерфейсов требования отсутствуют.
- Пропускная полоса Eth-Trunk должна быть не менее чем в два раза больше полосы пропускания, требуемой для передачи трафика шлюза VXLAN уровня 3. Например, если трафик отправляется от пользователей к шлюзу через сеть VXLAN со скоростью 10 Гбит/с, добавьте два интерфейса 10GE к интерфейсу Eth-Trunk, который нужно использовать в качестве интерфейса услуг loopback.
# Настройте шлюз VXLAN уровня 3 на Device2. Конфигурации Device3 и Device4 аналогичны конфигурациям Device2, поэтому они здесь не упоминаются. IP-адреса интерфейсов VBDIF устройств Device2 и Device3 должны находиться в разных сетевых сегментах. Настройте один IP-адрес и MAC-адрес для интерфейса VBDIF на Device2 и Device4. Не нужно настраивать MAC-адрес для интерфейса VBDIF на Device3.[~Device2] interface Vbdif10 [*Device2-Vbdif10] ip binding vpn-instance vpn1 [*Device2-Vbdif10] ip address 10.1.1.1 255.255.255.0 [*Device2-Vbdif10] mac-address 0000-5e00-0102 [*Device2-Vbdif10] vxlan anycast-gateway enable //Запустите команду arp distribute-gateway enable в V200R001C00. [*Device2-Vbdif10] arp collect host enable [*Device2-Vbdif10] quit [*Device2] commit
NOTE:
Убедитесь, что IP-адреса и MAC-адреса интерфейсов VBDIF на Device2 и Device4 совпадают, поскольку они относятся к шлюзам, работающим в режиме "активный-активный".
- Настройте BGP между Device1 и Device2, Device3
и Device4 для объявления маршрутов IRB.
# Настройте Device1. Конфигурации Device2, Device3 и Device4 аналогичны конфигурациям Device1, поэтому они здесь не упоминаются.
[~Device1] bgp 100 instance evpn1 [~Device1-bgp-instance-evpn1] l2vpn-family evpn [~Device1-bgp-instance-evpn1-af-evpn] peer 2.2.2.2 advertise irb [*Device1-bgp-instance-evpn1-af-evpn] peer 3.3.3.3 advertise irb [*Device1-bgp-instance-evpn1-af-evpn] peer 4.4.4.4 advertise irb [*Device1-bgp-instance-evpn1-af-evpn] quit [*Device1-bgp-instance-evpn1] quit [*Device1] commit
Проверка конфигурации
После завершения конфигурирования выполните команду display vxlan tunnel на Device2, Device3 и Device4 для проверки информации туннеля VXLAN. В следующем примере показан отчет о выполнении команды на Device2.
[~Device2] display vxlan tunnel
Number of vxlan tunnel : 0
Tunnel ID Source Destination State Type Uptime
-----------------------------------------------------------------------------------
4026531841 2.2.2.210 3.3.3.3 up dynamic 0023h21m
VM1, находящиеся на разных серверах, могут взаимодействовать.
Файл конфигурации
В примере ниже используется файл конфигурации CE12800.
Файл конфигурации Device1
# sysname Device1 # evpn-overlay enable # interface 10GE1/0/1 undo portswitch ip address 192.168.3.2 255.255.255.0 # interface 10GE1/0/2 undo portswitch ip address 192.168.2.2 255.255.255.0 # interface 10GE1/0/3 undo portswitch ip address 192.168.4.2 255.255.255.0 # interface LoopBack0 ip address 1.1.1.1 255.255.255.255 # bgp 100 peer 192.168.2.1 as-number 200 peer 192.168.3.1 as-number 300 peer 192.168.4.1 as-number 200 # ipv4-family unicast network 1.1.1.1 255.255.255.255 peer 192.168.2.1 enable peer 192.168.3.1 enable peer 192.168.4.1 enable # bgp 100 instance evpn1 peer 2.2.2.2 as-number 100 peer 2.2.2.2 connect-interface LoopBack0 peer 3.3.3.3 as-number 100 peer 3.3.3.3 connect-interface LoopBack0 peer 4.4.4.4 as-number 100 peer 4.4.4.4 connect-interface LoopBack0 # l2vpn-family evpn undo policy vpn-target peer 2.2.2.2 enable peer 2.2.2.2 advertise irb peer 2.2.2.2 reflect-client peer 3.3.3.3 enable peer 3.3.3.3 advertise irb peer 3.3.3.3 reflect-client peer 4.4.4.4 enable peer 4.4.4.4 advertise irb peer 4.4.4.4 reflect-client # return
Файл конфигурации Device2
# sysname Device2 # assign forward nvo3 acl extend enable # dfs-group 1 source ip 2.2.2.2 # stp bridge-address 0039-0039-0039 stp instance 0 root primary # evpn-overlay enable # ip vpn-instance vpn1 ipv4-family route-distinguisher 11:11 vpn-target 1:1 export-extcommunity vpn-target 11:1 export-extcommunity evpn vpn-target 1:1 import-extcommunity vpn-target 11:1 import-extcommunity evpn vxlan vni 5010 # bridge-domain 10 vxlan vni 10 evpn route-distinguisher 10:1 vpn-target 10:1 export-extcommunity vpn-target 11:1 export-extcommunity vpn-target 10:1 import-extcommunity # interface Vbdif10 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0000-5e00-0102 vxlan anycast-gateway enable arp collect host enable # interface Eth-Trunk1 stp disable mode lacp-static peer-link 1 # interface Eth-Trunk10 stp edged-port enable mode lacp-static dfs-group 1 m-lag 1 # interface Eth-Trunk10.1 mode l2 encapsulation dot1q vid 10 bridge-domain 10 # interface 10GE1/0/1 undo portswitch ip address 192.168.2.1 255.255.255.0 # interface 10GE1/0/2 eth-trunk 10 lacp force-up # interface 10GE1/0/3 eth-trunk 1 # interface 10GE1/0/4 eth-trunk 1 # interface LoopBack0 ip address 2.2.2.2 255.255.255.255 # interface LoopBack1 ip address 2.2.2.210 255.255.255.255 # interface Nve1 source 2.2.2.210 vni 10 head-end peer-list protocol bgp mac-address 0000-5e00-0101 # bgp 200 peer 192.168.2.2 as-number 100 # ipv4-family unicast network 2.2.2.2 255.255.255.255 network 2.2.2.210 255.255.255.255 peer 192.168.2.2 enable peer 192.168.2.2 allow-as-loop # bgp 100 instance evpn1 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0 # l2vpn-family evpn policy vpn-target peer 1.1.1.1 enable peer 1.1.1.1 advertise irb # return
Файл конфигурации Device3
# sysname Device3 # assign forward nvo3 acl extend enable # evpn-overlay enable # ip vpn-instance vpn1 ipv4-family route-distinguisher 22:22 vpn-target 2:2 export-extcommunity vpn-target 11:1 export-extcommunity evpn vpn-target 2:2 import-extcommunity vpn-target 11:1 import-extcommunity evpn vxlan vni 5010 # bridge-domain 20 vxlan vni 20 evpn route-distinguisher 20:1 vpn-target 20:1 export-extcommunity vpn-target 11:1 export-extcommunity vpn-target 20:1 import-extcommunity # interface Vbdif20 ip binding vpn-instance vpn1 ip address 20.1.1.1 255.255.255.0 vxlan anycast-gateway enable arp collect host enable # interface 10GE1/0/1 undo portswitch ip address 192.168.3.1 255.255.255.0 # interface 10GE1/0/2.1 mode l2 encapsulation dot1q vid 20 bridge-domain 20 # interface LoopBack0 ip address 3.3.3.3 255.255.255.255 # interface Nve1 source 3.3.3.3 vni 20 head-end peer-list protocol bgp # bgp 300 peer 192.168.3.2 as-number 100 # ipv4-family unicast network 3.3.3.3 255.255.255.255 peer 192.168.3.2 enable # bgp 100 instance evpn1 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0 # l2vpn-family evpn policy vpn-target peer 1.1.1.1 enable peer 1.1.1.1 advertise irb # return
Файл конфигурации Device4
# sysname Device4 # assign forward nvo3 acl extend enable # dfs-group 1 source ip 4.4.4.4 # stp bridge-address 0039-0039-0039 stp instance 0 root primary # evpn-overlay enable # ip vpn-instance vpn1 ipv4-family route-distinguisher 44:44 vpn-target 1:1 export-extcommunity vpn-target 11:1 export-extcommunity evpn vpn-target 1:1 import-extcommunity vpn-target 11:1 import-extcommunity evpn vxlan vni 5010 # bridge-domain 10 vxlan vni 10 evpn route-distinguisher 40:1 vpn-target 10:1 export-extcommunity vpn-target 11:1 export-extcommunity vpn-target 10:1 import-extcommunity # interface Vbdif10 ip binding vpn-instance vpn1 ip address 10.1.1.1 255.255.255.0 mac-address 0000-5e00-0102 vxlan anycast-gateway enable arp collect host enable # interface Eth-Trunk1 stp disable mode lacp-static peer-link 1 # interface Eth-Trunk10 stp edged-port enable mode lacp-static dfs-group 1 m-lag 1 # interface Eth-Trunk10.1 mode l2 encapsulation dot1q vid 10 bridge-domain 10 # interface 10GE1/0/1 undo portswitch ip address 192.168.4.1 255.255.255.0 # interface 10GE1/0/2 eth-trunk 10 lacp force-up # interface 10GE1/0/3 eth-trunk 1 # interface 10GE1/0/4 eth-trunk 1 # interface LoopBack0 ip address 4.4.4.4 255.255.255.255 # interface LoopBack1 ip address 2.2.2.210 255.255.255.255 # interface Nve1 source 2.2.2.210 vni 10 head-end peer-list protocol bgp mac-address 0000-5e00-0101 # bgp 200 peer 192.168.4.2 as-number 100 # ipv4-family unicast network 2.2.2.210 255.255.255.255 network 4.4.4.4 255.255.255.255 peer 192.168.4.2 enable peer 192.168.4.2 allow-as-loop # bgp 100 instance evpn1 peer 1.1.1.1 as-number 100 peer 1.1.1.1 connect-interface LoopBack0 # l2vpn-family evpn policy vpn-target peer 1.1.1.1 enable peer 1.1.1.1 advertise irb # return