Настройка bgp huawei ar2200

Обновлено: 04.07.2024

Перейдем в режим system-view и переименуем наше оборудование:

В принципе, сейчас ваш маршрутизатор уже может пропускать через себя трафик, но обычно нужды этим не ограничиваются, так что настроим доп. сервисы.
Добавим dns сервера, у которых наш роутер будет спрашивать адреса, включим на нем dns сервер и передачу dns запросов, включим dhcp на внутреннем интерфейсе.

Настроим NAT(overload) нашей сети наружу, в адрес интерфейса.
Для этого выберем интересующую нас сеть ACL’ом и применим его к наружному интерфейсу

На этом наверное всё.

Huawei hg520c настройка
Доброго дня всем! Есть компьютер, для доступа в интернет используется ip адрес 192.168.0.3 Есть.

Настройка Huawei AR150
День добрый! Хотел бы узнать, может кто сталкивался с подобной проблемой?! Получил новенький.

Добрый день. Есть коммутатор S5700-28C-SI, в правиле прописан общий принтер с адресом 192.168.60.20

При добавлении правила, выдает ошибку:
[SW01-acl-adv-3060]rule 6 permit ip source 192.168.60.21 0
Error: The ACL is contained by some application(s) and forbidden to be modified.


Мне нужно добавить в acl 3030 и acl 3060 еще один общий принтер с адресом 192.168.60.21
Подскажите пожалуйста, как это сделать? Не судите строго, новичок в программировании, спасибо))

Huawei Versatile Routing Platform Software
VRP (R) software, Version 5.160 (AR160 V200R007C00SPCb00)
Copyright (C) 2011-2016 HUAWEI TECH CO., LTD
Huawei AR161FG-L Router uptime is 0 week, 0 day, 0 hour, 21 minutes

MPU 0(Master) : uptime is 0 week, 0 day, 0 hour, 20 minutes
SDRAM Memory Size : 512 M bytes
Flash 0 Memory Size : 512 M bytes
Flash 1 Memory Size : 2 M bytes
MPU version information :
1. PCB Version : ARSRU161GLW VER.B
2. MAB Version : 0
3. Board Type : AR161FG-L
4. CPLD0 Version : 102
5. BootROM Version : 738

После сброса, который делается прижатием "Reset" >= 5 сек., как рекомендует производитель, для консольного соединения

Останавливаем автоконфигурацию после предложения сделать это:

Warning: There is a risk in the current configuration file. Please save configuration as soon as possible.
Warning: Auto-Config is working. Before configuring the device, stop Auto-Config. If you perform configurations when Auto-Config is running, the DHCP, routing, DNS, and VTY configurations will be lost. Do you want to stop Auto-Config? [y/n]:y
Info: Auto-Config has been stopped.

Конфигурация по умолчанию (после сброса, так называемая "дефолтная"):

Вижу, что в конфигурации по умолчанию сразу же присутствует виртуальный интерфейс (GigabitEthernet0/0/5), и VLAN с назначенным адресом (192.168.1.1/24).
Производитель устройства (AR161FG-L) в случае с версией программного обеспечения V200R007C00SPCb00 как бы намекает, что для "быстрого" конфигурирования можно настроить интерфейс Vlanif1 как "входящий" от пользователей и настроить "внешний" интерфейс GigabitEthernet0/0/4, маркированный на корпусе изделия WAN. Физический порт GigabitEthernet0/0/0 на устройстве маркирован сверху отдельной надписью "management", а снизу "WAN|GE0", что может слегонца нарушить понимание задумки, но не привыкать.
Исходное состояние после сброса устройства таково, что можно сразу же соединиться на коммутатор (порты от 0 до 3). Сетевой адрес этого интерфейса 192.168.1.1/24. Однако, попасть на работающий web-сервер не получится, современные обозреватели более не поддерживают имеющуюся настройку безопасности. Будет проблема с сертификатами и не удастся сделать даже исключение безопасности в обозревателе. Нужен IE6 или что-то из той эпохи, или нечто ещё более ранее. Не проверялось, но чтения по этому поводу много. В дальнейшем, при конфигурировании, можно изменить и сертификаты, переконфигурировать по этому вопросу имеющийся web-сервер. Или просто выключить.
Поэтому первоначальная настройка с помощью консоли.
Пока печатал истекло время ожидания, разлогинился. При вторичной авторизации уже так:

Это основной протокол динамической маршрутизации в сети Интернет. Относится к классу протоколов маршрутизации внешнего шлюза (External Gateway Protocol – EGP). BGP поддерживает бесклассовую адресацию и спользует суммирование маршрутов для уменьшения таблиц маршрутизации. На текущий момент используется четвертая версия протокола.

BGP функционирует поверх транспортного уровня TCP (порт 179). Протокол предназначен для обмена информацией о достижимости подсетей между автономными системами (AS - autonomous system), то есть группами маршрутизаторов под единым техническим и административным управлением, использующими протокол внутридоменной маршрутизации для определения маршрутов внутри себя и протокол междоменной маршрутизации для определения маршрутов доставки пакетов в другие АС. Передаваемая информация включает в себя список АС, к которым имеется доступ через данную систему. Выбор наилучших маршрутов осуществляется исходя из правил, принятых в сети.

Рассмотрим как выглядит базовая конфигурация BGP на устройствах Huawei.

Предположим, что у нас есть три автономные системы (Рисунок 1):

· AS50 включает только один BGP маршрутизатор (R1), который устанавливает одну EBGP сессию с AS500.

· AS500 включает три маршрутизатора (R2, R3, R4), которые образуют IBGP full mesh топологию.

· AS5000 включает один маршрутизатор R5, который устанавливает две сессии с AS500.

R1, принадлежащий AS50, будет объявлять три сети в AS5000. R 5 должен получить все три сети и иметь доступ к ним (пинговать).

Базовая настройка BGP на оборудовании Huawei

Рисунок 1. Архитектура системы

Приступим к настройке BGP.

Во-первых настроим R1, должен быть запущен процесс AS50 и устанавливалась сессия с R2 в AS 500:

[R1] interface Ethernet 0/0/0
[R1-Ethernet0/0/0] ip address 5.228.12.1 24
[R1] bgp 50
[R1-bgp] undo synchronization
[R1-bgp] undo summary automatic
[R1-bgp] peer 5.228.12.2 as-number 500

Далее перейдем к настройке AS500 на маршрутизаторе R 2:

[R2] interface Ethernet 0/0/0
[R2-Ethernet0/0/0] ip address 5.228.12.2 24
[R2] interface GigabitEthernet0/0/0
[R2-GigabitEthernet0/0/0] ip address 192.168.23.2 24
[R2] interface Ethernet 0/0/1
[R2-Ethernet0/0/1] ip address 192.168.24.2 24
[R2] bgp 500
[R2-bgp] undo synchronization
[R2-bgp] undo summary automatic
[R2-bgp] peer 5.228.12.1 as-number 50

Проверим нашу EBGP сессию между AS50 и AS500:

BGP local router ID : 5.228.12.1
Local AS number : 50
Total number of peers : 1 Peers in established state : 1

Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv

5.228.12.2 4 500 4 5 0 00:02:24 Established 0

EBGP сессия между AS50 и AS500 установлена (Established), теперь можем приступить к настройке IBGP сессий в AS500. Для этого будем использовать peer группу с именем iBGP. Мы можем настроить каждое соседство по отдельности и назначить каждому свои BGP параметры, но в данном примере, для упрощения и сокращения конфигурации, мы настроим peer group (группа соседей), где все параметры будут назначены группе.

[R2] bgp 500
[R2-bgp] group iBGP internal
[R2-bgp] peer iBGP next-hop-local
[R2-bgp] peer 192.168.23.3 group iBGP
[R2-bgp] peer 192.168.24.4 group iBGP

Мы создали iBGP peer группу и присвоили ей тип internal. При использовании internal группы, не обязательно присваивать группе номер AS. Каждый пир, принадлежащий данной группе, получит номер локальнойAS. Давайте проверим BGP конфигурацию на маршрутизаторе R 2:

Все параметры группы iBGP будут назначены маршрутизаторам соседям.

Далее настроим маршрутизаторы R3 и R4.

Также сразу пропишем настройки для установления соседства с R 5:

[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 192.168.23.3 24
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 192.168.34.3 24
[R3] interface Serial 0/0/0
[R3-Serial0/0/0] ip address 5.228.35.3 24
[R3] bgp 500
[R3-bgp] undo synchronization
[R3-bgp] undo summary automatic
[R3-bgp] group iBGP internal
[R3-bgp] peer iBGP next-hop-local
[R3-bgp] peer 192.168.23.2 group iBGP
[R3-bgp] peer 192.168.34.4 group iBGP
[R3-bgp] peer 5.228.35.5 as-number 5000

[R4] interface Ethernet 0/0/1
[R4-Ethernet0/0/1] ip address 192.168.24.4 24
[R4] interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1] ip address 192.168.34.4 24
[R4] interface Ethernet 0/0/0
[R4- Ethernet 0/0/0] ip address 5.228.45.4 24
[R4] bgp 500
[R4-bgp] undo synchronization
[R4-bgp] undo summary automatic
[R4-bgp] group iBGP internal
[R4-bgp] peer iBGP next-hop-local
[R4-bgp] peer 192.168.24.2 group iBGP
[R4-bgp] peer 192.168.34.3 group iBGP
[R4-bgp] peer 5.228.45.5 as-number 5000

Проверим конфигурациюBGP на маршрутизаторах R3 и R 4:

ipv4-family unicast
undo synchronization
peer 5.228.35.5 enable
peer iBGP enable
peer iBGP next-hop-local
peer 192.168.23.2 enable
peer 192.168.23.2 group iBGP
peer 192.168.34.4 enable
peer 192.168.34.4 group iBGP

[R3-bgp] display bgp peer

BGP local router ID : 192.168.23.3
Local AS number : 500
Total number of peers : 3 Peers in established state : 3

Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv

5.228.35.5 4 5000 0 0 0 00:09:49 Idle 0
192.168.23.2 4 500 4 5 0 00:02:13 Established 0
192.168.34.4 4 500 6 6 0 00:04:42 Established 0

ipv4-family unicast
undo synchronization
peer 5.228.45.5 enable
peer iBGP enable
peer iBGP next-hop-local
peer 192.168.24.2 enable
peer 192.168.24.2 group iBGP
peer 192.168.34.3 enable
peer 192.168.34.3 group iBGP

[R4-bgp] display bgp peer

BGP local router ID : 192.168.24.4
Local AS number : 500
Total number of peers : 3 Peers in established state : 3

Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv

5.228.45.5 4 5000 0 0 0 00:07:14 Idle 0
192.168.24.2 4 500 6 6 0 00:04:02 Established 0
192.168.34.3 4 500 8 8 0 00:06:42 Established 0

Все настроено верно.Теперь приступим к настройке R 5:

[R5] interface Ethernet 0/0/0
[R5-Ethernet0/0/0] ip address 5.228.45.5 24
[R5] interface Serial 0/0/0
[R5-Serial0/0/0] ip address 5.228.35.5 24
[R5] bgp 5000
[R5-bgp] undo synchronization
[R5-bgp] undo summary automatic
[R5-bgp] peer 5.228.35.3 as-number 500
[R5-bgp] peer 5.228.45.4 as-number 500

[R5-bgp] display bgp peer

BGP local router ID : 5.228.35.5
Local AS number : 5000
Total number of peers : 2 Peers in established state : 2

Peer V AS MsgRcvd MsgSent OutQ Up/Down State PrefRcv

5.228.35.3 4 500 2 2 0 00:02:20 Established 0
5.228.45.4 4 500 2 2 0 00:02:10 Established 0

R5 установил соседство с R3 и R4. На этом настройка BGP окончена.

Следующим шагом мы хотим чтобы AS50 начала объявлять нужные нам маршруты. Эти маршруты должна получить AS5000. Воспользуемся loopback интерфейсами для симуляции сетей, подключенных к R1. Присваиваем интерфейсам IP адреса и далее добавляем сети в наш bgp процесс:

[R1] interface LoopBack0
[R1-LoopBack0] ip address 10.0.0.1 24
[R1-LoopBack0] interface LoopBack1
[R1-LoopBack1] ip address 11.0.0.1 24
[R1-LoopBack1] interface LoopBack2
[R1-LoopBack2] ip address 12.0.0.1 24

[R1] bgp 50
[R1-bgp] network 10.0.0.0 24
[R1-bgp] network 11.0.0.0 24
[R1-bgp] network 12.0.0.0 24

Проверим объявляет ли R 1 наши сети:

[R1] display bgp routing-table

BGP Local router ID is 5.228.12.1
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete

Total Number of Routes: 3
Network NextHop MED LocPrf PrefVal Path/Ogn

*> 10.0.0.0/24 0.0.0.0 0 0 i
*> 11.0.0.0/24 0.0.0.0 0 0 i
*> 12.0.0.0/24 0.0.0.0 0 0 i

Как видим, конфигурация в порядке. Эти сети должны проходить AS500 до AS5000. Давайте проверим bgp таблицу на R 5:

[R5] display bgp routing-table

BGP Local router ID is 5.228.35.5
Status codes: * - valid, > - best, d - damped,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete

Total Number of Routes: 6
Network NextHop MED LocPrf PrefVal Path/Ogn

*> 10.0.0.0/24 5.228.35.3 0 500 50i
* 5.228.45.4 0 500 50i
*> 11.0.0.0/24 5.228.35.3 0 500 50i
* 5.228.45.4 0 500 50i
*> 12.0.0.0/24 5.228.35.3 0 500 50i
* 5.228.45.4 0 500 50i

Как видим, все три сети присутствуют в bgp таблице маршрутизатора R5. Лучшим путь в эти сети проходит через маршрутизатор R3. R 5 получил маршруты, но сможем ли мы получить доступ в какую-либо из этих сетей? Давайте проверим:

[R5] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out

--- 10.0.0.1 ping statistics ---
5 packet(s) transmitted
0 packet(s) received
100.00% packet loss

Пинг не проходит.

Давайте разбираться что не так. BGP таблица в порядке, проверим таблицу маршрутизации на R 5:

[R5] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10

Destination/Mask Proto Pre Cost Flags NextHop Interface

5.228.35.0/24 Direct 0 0 D 5.228.35.5 Serial0/0/0
5.228.35.3/32 Direct 0 0 D 5.228.35.3 Serial0/0/0
5.228.35.5/32 Direct 0 0 D 127.0.0.1 Serial0/0/0
5.228.45.0/24 Direct 0 0 D 5.228.45.5 Ethernet0/0/0
5.228.45.5/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/0
10.0.0.0/24 EBGP 255 0 D 5.228.35.3 Serial0/0/0
11.0.0.0/24 EBGP 255 0 D 5.228.35.3 Serial0/0/0
12.0.0.0/24 EBGP 255 0 D 5.228.35.3 Serial0/0/0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

Как видим все три маршрута присутствуют в таблице маршрутизации R5. Значит BGP настроен правильно. Так в чем же дело? Для выявления проблемы нам поможет протокол ICMP с icmp debugging. Настроим debug icmp на R1 и проверим source IP адрес icmp пакета отсылаемого маршрутизатором R 5:

<R1> debugging ip icmp
<R1> terminal monitor
<R1> terminal debugging

Теперь снова запустим пинг на маршрутизаторе R 5:

[R5] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out

Проверимdebug выводна R1:

<R1>
Apr 8 2019 10:09:00.10.1-08:00 R1 IP/7/debug_icmp:
ICMP Receive: echo(Type=8, Code=0), Src = 5.228.35.5, Dst = 10.0.0.1, ICMP ICMP Seq = 1

Apr 8 2019 10:09:00.10.2-08:00 R1 IP/7/debug_icmp:
ICMP Send: echo-reply(Type=0, Code=0), Src = 10.0.0.1, Dst = 5.228.35.5, ICMP ICMP Seq = 1

Как видим, R1 получает icmp echo пакеты и отправляет echo-reply в ответ на адрес 5.228.35.5. Давайте проверим, есть ли сеть 5.228.35.0/24 в таблице маршрутизации R 1:

[R1] display ip routing-table
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Tables: Public
Destinations : 10 Routes : 10

Destination/Mask Proto Pre Cost Flags NextHop Interface

5.228.12.0/24 Direct 0 0 D 5.228.12.1 Ethernet0/0/0
5.228.12.1/32 Direct 0 0 D 127.0.0.1 Ethernet0/0/0
10.0.0.0/24 Direct 0 0 D 10.0.0.1 LoopBack0
10.0.0.1/32 Direct 0 0 D 127.0.0.1 LoopBack0
11.0.0.0/24 Direct 0 0 D 11.0.0.1 LoopBack1
11.0.0.1/32 Direct 0 0 D 127.0.0.1 LoopBack1
12.0.0.0/24 Direct 0 0 D 12.0.0.1 LoopBack2
12.0.0.1/32 Direct 0 0 D 127.0.0.1 LoopBack2
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0

R1 не знает пути до сети 5.228.35.0/24. Решить эту проблему можно двумя способами. Самый простой – объявить сеть 5.228.35.0/24 в bgp протоколе . Второй способ – настроить дополнительный IGP протокол между нашими маршрутизатрами и объявить все необходимые сети. Мы воспользуемся первым способом:

[R5] bgp 5000
[R5-bgp] network 5.228.35.0 24

Теперь еще раз попробуем пропинговать BGP сеть:

[R5-bgp] ping 10.0.0.1
PING 10.0.0.1: 56 data bytes, press CTRL_C to break
Reply from 10.0.0.1: bytes=56 Sequence=1 ttl=253 time=190 ms
Reply from 10.0.0.1: bytes=56 Sequence=2 ttl=253 time=160 ms
Reply from 10.0.0.1: bytes=56 Sequence=3 ttl=253 time=120 ms
Reply from 10.0.0.1: bytes=56 Sequence=4 ttl=253 time=110 ms
Reply from 10.0.0.1: bytes=56 Sequence=5 ttl=253 time=150 ms

--- 10.0.0.1 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 110/146/190 ms

Как видим R5 успешно пингует BGP сети, объявляемые маршрутизатором R1. Задача выполнена.

Пособираем VPLS-сервисы на Huawei. Здесь будет Kompella VPLS, Kompella VPLS + Martini H-VPLS (Mixed). В качестве IGP - ISIS, а в качестве транспорта - RSVP-TE. Стенд соберём в eNSP.

Не по теме

У меня есть старенький сервер с VMware ESXi, 6.0.0, есть виртуальная машина с Windows 10. Развернем на ней eNSP. eNSP использует VirtualBox, поэтому потребуется возможность запускать виртуальные машины внутри вирутальной машины. Это Nested virtualization, и в VMware существует давно. Включается так:

  1. Стартанем SSH через vSphere Client: Configuration - Security Profile - Properties - SSH - start
  2. Логинимся на сервер по ssh:
    • открываем /etc/vmware/config
    • добавляем vhv.enable = “TRUE” Это всё. Здесь побольше информации.

Топология, ISIS, RSVP-TE

Соберем топологию на NE40E (здесь подписаны интерфейсы и уже добавлены хосты):


Что имеем:

в качестве IGP - ISIS. Для каждого access-элемента сети существует единственный выход в мир - через agg, поэтому access-маршрутизаторам, находящимся в разных “кольцах доступа”, знать друг о друге совсем не обязательно. Исключить лишние префиксы на access можно разделив ISIS-домен на L1/L2 маршрутизаторы (это будут все agg) и на L1-маршрутизаторы (это будут все access), при этом важно добавить их в разные area. Тогда, мы получим default route на всех L1-access. Это равносильно totally stubby area в OSPF, и это хороший вариант, если ограничиться только маршрутизацией, но нам-то нужно строить LSP, а поверх - VPN. Есть второй вариант - настроить все маршрутизаторы как L2, разделив весь ISIS-домен на инстансы. Каждый инстанс - это отдельный процесс маршрутизации, никак не пересекающийся с остальными. Например, все agg выделим в instance 1, access-1 и 2 добавим в instance 2, а access-3 - в instance 3. Хорошая практика - настроить на всех agg указанные ISIS instance. Зачем? Кратко - затем, чтобы строить LSP между любым access и любым agg, а поверх - “бросать” VPN-сервисы.

agg объединены в RouteReflector (далее RR) cluster’ы (agg-1 + agg-2, agg-3 + agg-4), каждый со своим cluster ID. При выборе одинаковый/разный cluster id нужно помнить, что, если маршрутизатор получил BGP Update, где в поле CLUSTER_LIST указан его собственный cluster id, то такой Update будет отброшен. Это исключает петли. Cluster id нужно выбирать аккуратно, в соответствии с топологией, чтобы не создавать петель и не терять префиксы. Зачем нам здесь RR? Для реализации Kompella VPLS.

Для построения транспортных MPLS-тунелей используем RSVP-TE. Сможем более гибко управлять прохождением VPN-трафика, настроить балансировку.

Что и с чем будем объединять через L2:


Это та же самая топология. Стрелки указывают на устройства, между которыми мы будем “строить” vpls. Каждый цвет - это отдельный сервис, отдельный vpls-домен. Например, зеленый - настроим первым, между agg 1, agg 2, agg 3, подключим к ним любые хосты и проверим.

Принципы распространения трафика в VPLS:

картинки, чуть ниже, показывают только VPLS Data Plane, т.е. передачу пользовательского трафика на устройстве-участнике VPLS домена. И это важно.

AC - attached circuit, пользовательский интерфейс на PE-устройстве, принадлежит определенному vsi.

VSI - virtual switching instance, виртуальный коммутатор на PE, VPLS-домен. На Cisco - VFI.

PW - pseudowire, сервисный туннель или виртуальный провод между PE.




Подготовим ISIS и развернем RSVP-TE (актуально для каждого устройства):

По аналогии настроим еще 2 ISIS instance:

Настроим MPLS RSVP TE (на примере agg-1):

Пример настройки интерфейсов (ISIS + MPLS RSVP TE):

Транспортный LSP для VPLS

Мы можем передавать трафик разных vsi по разным транспортным LSP. Для этого в vsi существуют tnl-policy.

Настроим tnl-policy, которая позволит строить VPLS поверх RSVP-TE туннелей. Без нее будет работать только с LDP в качестве транспорта:

В нашем случае, мы используем политику, в которой указан приоритет для различных типов туннелей (возьмем статические cr-lsp и динамические RSVP TE lsp). Здесь же могут быть gre, bgp, ldp, sr-lsp или их mix. Это Tunnel type prioritizing policy. Здесь же можно настроить балансировку VPN-трафика поверх выбранных ранее типов туннелей. Используем load-balance-number 1, где 1 - число туннелей, используемых для балансировки. 1 - т.к. между РЕ у нас всего по одному туннелю. Можно указать от 1 до 64.

Если же использовать несколько туннелей до одного и того же LSR, то можно привязать VPN-трафик к определенному транспортному туннелю. Например, такой политикой:

Это уже Tunnel binding policy. Для RSVP туннеля нужно также разрешить привязку командой mpls te reserved-for-binding.

Это то, что касается путей прохождения VPN-трафика. Что касается самих TE туннелей, то ими тоже можно управлять. Например, с помощью ERO (Explicit Route Object, в Huawei - Explicit-path) или Affinity. Настроим hot-standby. Сперва, ERO:

Теперь туннель:

Теперь, Affinity:

здесь кратко. С помощью этого механизма можно разрешать или запрещать определенные типы LSP через интерфейс. Типы LSP могут быть такими: HSB+PR, HSB only, BE+HSB+PR и т.п. Каждый тип принадлежит административной группе, от номера которой зависит какие типы туннелей разрешены или запрещены при прохождении через интерфейс. Выглядит так:

Для туннеля задаем affinity бит:

Это может быть полезно, когда вы хотите строить через арендованный или самый ненадежный ликн только best-effort.

Теперь VPLS

1. agg-1 <-> agg-2 <-> agg-3:

Объединим в один vpls-домен интерфейсы на agg-1, agg-2 и agg-3

agg-1:

По аналогии для остальных agg, участвующих в VPLS-домене:

agg-2:

agg-3:

Теперь настроим отдельную l2vpn-ad-family в BGP для Kompella VPLS. Сразу определимся с соседями. Между всеми RR настроим полносвязную топологию, а на всех RR-клиентах понадобится только соседство с RR-кластером (RR будут передавать апдейты всем non-RR-клиентам, EBGP-соседям и, разумеется, RR-клиентам). BGP Update будут получать все устройства, с которыми поднято соседство на RR, но префикс (а это RD, RT, номер узла в VPLS домене (site), блок меток, vpn id, смещение) будут принимать только те РЕ, vsi которых содержат одинаковые RT. За счет RR мы реализуем механизм автоматического поиска соседей, Auto-Discovery, в Kompella VPLS. Это все Control Plane.

Теперь про Data Plane. Поскольку это L2-сервис, важно, чтобы mac-адреса были изучены правильно, и пользовательский кадр передавался только между нужными РЕ. А следовательно, каждый РЕ, участник VPLS-домена, должен иметь свою уникальную метку (здесь не как в L3VPN, общая метка для всех участников VRF). Поэтому вместе с Auto-Discovery в том же самом BGP Update (в секциях NLRI и Communities) РЕ получают всю необходимую для вычисления уникальных меток информацию. Это красиво.

vsi настроили, настроим отдельную l2vpn-ad-family в BGP:

agg-1:

agg-2:

agg-3:

После всех настроек BGP Update между 10.1.0.1 и 10.1.0.2 будет выглядеть так:


Здесь адрес Next hop - адрес соседа передающего сервисную метку для vsi test, настроенного ранее. В секции NLRI (Network layer reachability information) видим блок меток для расчета уникальной сервисной метки (для того же vsi test)

Подключим хосты, проверим работу vpls-сегмента (уже знакомая картинка из eNSP):


Настроим интерфейсы Ethernet1/0/5 на agg-1,2,3:

На PC1,2,3 настроим статическую адресацию, возьмем адреса 192.168.0.1,2,3/24.

Проверим, например, на agg-3 настроенный L2-сервис: Для начала, проверим транспортные RSVP-TE туннели:

Теперь проверим vsi:

Смотрим на vsi state. Для того,чтобы vsi на локальном устройстве был up:

  • на vsi-соседях должен совпадать mtu. Можно отключить согласование mtu командной mtu-negotiate disable;
  • AC-интерфейс должен быть в up. Обойти можно командной ignore-ac-state;
  • транспортный туннель должен быть up

Если vsi не поднимается, то причину можно найти посмотрев детальную конфигурацию:

Поля, на которые следует обратить внимание, выделены **. Из интересного здесь “PW MAC Learn Style” и “Encapsulation Type”. Для первого доступны значения qualify и unqualify. Qualify - когда РЕ изучает mac-адреса для конкретных vlan отдельно. В unqualify - общий broadcast домен для всех vlan. Касаемо Encapsulation Type, влияет на инкапсуляцию трафика, проходящего через AC, бывает или vlan (по умолчанию), или ethernet, уже писал об этом выше, повторим и здесь.

  • если на АС пришел фрейм с тегом, тег будет удален, фрейм передан дальше уже без тега
  • если на АС пришел фрем без тега, то он будет передан дальше

Для vlan (режим по умолчанию):

Поле “Tunnel ID” должно быть не пустым, это означает, что PW знает, какой транспортный туннель необходимо использовать для пользовательского трафика.

Итак, с vsi все ок. Теперь, проверим состояние VC. Грубо говоря, VC (virtual circuit) - это путь, по которому будет передаваться пользовательский трафик. VC может быть не один, их может быть много. Это уже PW (pseudowire).

Помимо состояния VC, здесь же видим и выданные соседями по vsi сервисные метки.

Ничего не мешает нам запустить icmp между любыми PC, но сделаем это позже. Посмотрим, каким LSP пойдет трафик:

Например, до 10.1.0.1 пользовательский трафик пойдет через Tunnel0/7/111 (номер интерфейса здесь произвольный). Посмотрим LSP для этого туннеля:

Видим все хопы, через которые пойдет пользовательский трафик. А еще видим 3 метку, это PHP, он включен, по умолчанию. Здесь, конечно, будет информация по всем туннелям, я оставил только интересующий нас. С учетом включенного frr для mpls te, в выводе будут еще AutoTunnel.

Для этой же задачи можно воспользоваться командой tracert vpls .

Проверим, что пользовательские интерфейсы, действительно, привязаны к vsi test:

Теперь, PC1,2,3 будут обмениваться icmp.

Посмотрим на пользовательские mac-address:

В таблице для удаленного устройства (5489-98ee-1e09) мы сразу видим не туннельный интерфейс, а конкретный физический (Eth1/0/2.3).

Запустим ping между PC1 и PC2 и откроем wireshark на интерфейсе Ethernet 1/0/3 agg-1:


Видим стек меток. Метка 294929 - сервисная метка, с которой пакет будет передан на agg-2. На agg-1 будет выполнена процедура PHP, на agg-2 будет передан только один заголовок MPLS, с сервисной меткой.

2. access-3 <-> access-1

Здесь сложнее, т.к. access-3 и access-1(2) принадлежат разным isis-инстансам. По этой же причине построить PW между устройствами, указав их в l2vpn-ad-family в качестве соседей, не получится. Да и не нужно, хотя бы, по следующим причинам:

  • access-маршрутизаторы не связаны “прямыми” линками, а общаются между собой через agg и никак иначе
  • можно указать agg в качестве соседей в l2vpn-ad-family. Но split horizon не позволит передать пользовательский трафик дальше agg (смотри выше, в “Принципы распространения трафика в VPLS”)
  • можно отбросить вопрос масштабируемости и добавить все access в общий isis-инстанс. В реальной жизни число access-маршрутизаторов будет больше 3, поддерживать full-mesh, при этом, будет непросто, не оптимально и не надо так

На картинке “Принципы распространения трафика в VPLS” есть spoke-устройства. Это H-VPLS, описанный в RFC4762. Придуман, чтобы упростить жизнь с VPLS Martini-mode, но поможет решить и нашу проблему с передачей пользовательского трафика между access-3 и access-1.

Выберем кластер agg, через которые будет проходить PW. Возьмем по наименьшим адресам Lo0, т.е. agg-1 и agg-2.

Пример конфигурации (включая полную конфигурацию bgp и уже, практически, без комментариев):

S5700-28C-PWR-SI-Front_looking-down

Подключение к консоли коммутатора

Т.к. в моем ультрабуке нет ни Ethernet порта, ни тем более COM порта я использовал свой адаптер QinHeng Electronics HL-340 USB-Serial adapter (Device 005: ID 1a86:7523). Радует он меня тем, что при подключении по USB сразу даёт вирутуальный COM-порт и не требует никаких драйверов ни под Windows, ни под Linux.

Для подключения использую gtkterm

Configuration -> Port:
Port: /dev/ttyUSB0
Baud rate: 9600
Parity: none
Bits: 8
Stop bits: 1
Flow control: none

После первого подключения возника проблема с тем, что оооочен сильно тормозила консоль. Потом выяснилось, что всемы виной консольный COM -> RJ45 кабель. Заменили его на Cisco-вский, и всё завелось.

Настройка hostname и IP адреса

Для смены hostname воспользуйтесь командой:

<Quidway>system-view
[Quidway]interface vlanif1
[Quidway-vlanif1]ip address 172.20.0.47 21
[Quidway-vlanif1]quit

Новый адрес применяется сразу, и в отличии от CISCO здесь не надо перезагружать интерфейс.

Настройка SNMP

У коммутаторов Huawei есть две особенности, о которых надо помнить, настраивая snmp. Во первых, если у вас включен snmp v3, то snmp v2c работать не будет. Во-вторых для snmp v2c при настройке на коммутаторе в консоле имя community надо указывать в кавычках, и в мониторилке (например Dude) оно тоже должно быть указано в кавычках (использовал двойные кавычки).

[Quidway]acl number 2100
[Quidway-acl-basic-2100]rule 1 permit source 172.20.0.33 0.0.0.0 // for one ip

Опционально можно добавить контактные данные в snmp.

[Quidway]snmp-agent sys-info contact X Division
[Quidway]snmp-agent sys-info location Kremlin

Настройка ssh

Генерим ключи, добавляем юзера, даём юзеру доступ к сервисам ssh(stelnet)+telnet.

[Quidway] rsa local-key-pair create
[Quidway]aaa
[Quidway-aaa]local-user admin password cipher YOURPASSWORD
[Quidway-aaa]local-user admin privelege level 3
[Quidway-aaa]local-user admin service-type ssh telnet
[Quidway-aaa]quit
[Quidway]stelnet server enable
[Quidway]ssh user admin authentication-type password
[Quidway]ssh user admin service-type stelnet
[Quidway]user-interface vty 0 4
[Quidway-ui-vty0-4]authentication-mode aaa
[Quidway-ui-vty0-4]protocol inbound ssh

Поднимаем веб-интерфейс

Файл с веб-интерфейсом (скрипты, js, css и т.д.) должен лежать в виде архива на устройстве. Просмотреть, что там лежит можно командой dir.

В моем случае у коммутатора было два вида интерфейса: classic (а-ля привет 90-е) и easyOperation (более-менее юзабельный). Можете сами визуально сравнить их.

login

Classic

Это classic интерфейс

Easy-operation-1

А вот это EasyOperation

Easy-operation-2

Easy-operation-3

Почувствуйте разницу 🙂 Хотя лучш все равно в консоле.

Таблица аналогов CISCO-вских команд у HUAWEI

CISCO HUAWEI
ping ping
traceroute tracert
show display
show interfaces display interface
Show ip route display routing-table
Show ip interface Display ip interface
Show version Display version
Show ip bgp Display bgp routing-table
Show clock Display clock
Show port Display port-mapping
Show flash dir flash: (on user view mode)
Show logging Display logbuffer
Show snmp Display snmp-agent statistics
Show frame-relay pvc Display fr pvc-info
Show users Display users
Show terminal length screen-length disable
undo screen-length disable
enable Super
disable Super 0 (number is privilege level from 0 to 3, where 3 is default and equivalent to “enable” on Cisco)
Conf t System-view
exit quit
end return
Show policy-map interface Display qos policy interface
send send (on user view mode)
write terminal (sh run) display current-configuration
Sh startup Display saved-configuration
[no equivalent: shows the files used for startup] Display startup
Write erase Reset saved-configuration
Write mem (or wr or copy run start) save
clear counters reset (on user view mode)
Reset counters interface
? ?
telnet telnet
Enable secret (conf mode) Super pass cipher (system mode)
Term mon term debu
clock clock
no undo
debug / no debug debugging / undo debugging
copy running-config Save safely
terminal monitor terminal monitor
terminal length screen-length disable
undo screen-length disable
terminal no monitor undo terminal monitor
clear counters reset counters interface
clear interface reset counters interface
clear crypto ipsec sa
ike sa
clear access-list counters reset acl counter all
reload reboot
shutdown shutdown
boot boot bootrom
Aaa hwtacacs scheme
terminal no monitor undo terminal monitor
tacacs-server hwtacacs scheme (in conf command)
snmp-server tftp-server (in conf command)
router bgp bgp
Router rip rip
ip tacacs hwtacacs nas-ip (this command doesn’t exist . )
mtu Mtu (this command doesn’t exist . )
clear ip cef reset ip fast-forwarding
clear ip route * reset ip routing-table statistics protocol all
Clear ip bgp Reset bgp all
Show tech display diagnostic-information
Sh ip nat translation Display nat session
Show Controller display controller (but not relevant for non-modular chassis)
show dsl int atm 0 display dsl status interface Atm 2/0
sho atm pvc Display atm pvc-info
debug pvc nego Debug atm all (very dangerous – might crash router)
sho crypto isakmp sa Display ike sa
sho crypto isakmp key Display ike peer
sho crypto isakmp police Display ike proposal

Ссылки

Спасибо!

Если вам помогла статья, или вы хотите поддержать мои исследования и блог - вот лучший способ сделать это:

google.com

Андрей Токарчук :

Как вариант просканировать сеть и по ARP таблице посмотреть по MAC адресам. В начале MAC адреса идёт префикс вендора.

Читайте также: