Настройка основных параметров у коммутаторов Huawei CloudEngine (на примере 6865)

    Мы уже длительное время используем оборудование Huawei в продуктиве публичного облака. Недавно мы добавили в эксплуатацию модель CloudEngine 6865 и при добавлении новых устройств, появилась идея поделиться неким чек-листом или сборником базовых настроек с примерами.

    В сети есть множество аналогичных инструкций для пользователей оборудования Cisco. Однако, для Huawei таких статей мало и иногда приходится искать информацию в документации или собрать из нескольких статей. Надеемся, будет полезно, поехали!

    В статье опишем следующие пункты:

    Первое подключение

    Подключение к коммутатору через консольный интерфейс
    Подключение к коммутатору через консольный интерфейс

    По умолчанию коммутаторы Huawei поставляются без предварительных настроек. Без конфигурационного файла в памяти коммутатора, при включении запускается протокол ZTP (Zero Touch Provisioning). Не будем подробно описывать данный механизм, отметим лишь, что он удобен при работе с большим числом устройств или для осуществления настройки удалённо. Обзор ZTP можно посмотреть на сайте производителя.

    Для первичной настройки без использования ZTP необходимо консольное подключение.

    Параметры подключения (вполне стандартные)

    Transmission rate: 9600
    Data bit (B): 8
    Parity bit: None
    Stop bit (S): 1
    Flow control mode: None

    После подключения Вы увидите просьбу задать пароль для консольного подключения.

    Задаем пароль для консольного подключения

    An initial password is required for the first login via the console.
    Continue to set it? [Y/N]:
    y
    Set a password and keep it safe!
    Otherwise you will not be able to login via the console.
    Please configure the login password (8-16)
    Enter Password:
    Confirm Password:

    Просто задайте пароль, подтвердите его и готово! Изменить пароль и прочие параметры аутентификации на консольном порту далее можно с помощью следующих команд:

    Пример смены пароля

    <HUAWEI> system-view
    [~HUAWEI]
    user-interface console 0
    [~HUAWEI-ui-console0] authentication-mode password
    [~HUAWEI-ui-console0] set authentication password cipher <пароль>
    [*HUAWEI-ui-console0]
    commit

    Настройка стекирования (iStack)

    После получения доступа к коммутаторам, при необходимости можно настроить стек.  Для объединения нескольких коммутаторов в одно логическое устройство в Huawei CE используется технология iStack. Топология стека - кольцо, т.е. на каждом коммутаторе рекомендуется использовать минимум 2 порта. Количество портов зависит от желаемой скорости взаимодействия коммутаторов в стеке.

    Желательно при стекировании задействовать аплинки, скорость которых обычно выше, чем у портов для подключения конечных устройств. Таким образом, можно получить большую пропускную способность при помощи меньшего количества портов. Также, для большинства моделей есть ограничения по использованию гигабитных портов для стекирования. Рекомендуется использовать минимум 10G порты.

    Есть два варианта настройки, которые немного отличаются в последовательности шагов:

    1. Предварительная настройка коммутаторов с последующим их физическим соединением.

    2. Сначала установка и подключение коммутаторов между собой, потом их настройка для работы в стеке.

    Последовательность действий для этих вариантов выглядит следующим образом:

    Последовательность действий для двух вариантов стекирования коммутаторов
    Последовательность действий для двух вариантов стекирования коммутаторов

    Рассмотрим второй (более длительный) вариант настройки стека. Для этого нужно выполнить следующие действия:

    1. Планируем работы с учётом вероятного простоя. Составляем последовательность действий.

    2. Осуществляем монтаж и кабельное подключение коммутаторов.

    3. Настраиваем базовые параметры стека для master-коммутатора:

      [~HUAWEI] stack

    3.1. Настраиваем нужные нам параметры

    #
    stack member 1 renumber X - где X - новый ID коммутатора в стэке. По умолчанию, ID = 1
    и для master-коммутатора можно оставить ID по умолчанию. 
    #
    stack member 1 priority 150 - указываем приоритет. Коммутатор с наибольшим
    приоритетом будет назначен master-коммутатором стека. Значение приоритета
    по умолчанию: 100.
    #
    stack member { member-id | all } domain <domain-id> - назначить Domain ID для стека.
    По умолчанию, domain ID не задан.
    #

    Пример:
    <HUAWEI> system-view
    [~HUAWEI] sysname SwitchA
    [HUAWEI] commit
    [~SwitchA] stack
    [~SwitchA-stack] stack member 1 priority 150
    [SwitchA-stack] stack member 1 domain 10
    [SwitchA-stack] quit
    [SwitchA] commit

    3.2 Настраиваем интерфейс порта стекирования (пример)

    [~SwitchA] interface stack-port 1/1

    [SwitchA-Stack-Port1/1] port member-group interface 10ge 1/0/1 to 1/0/4

    Warning: After the configuration is complete,

    1.The interface(s) (10GE1/0/1-1/0/4) will be converted to stack mode and be configured with the
    port crc-statistics trigger error-down command if the configuration does not exist. 

    2.The interface(s) may go Error-Down (crc-statistics) because there is no shutdown configuration on the interfaces.Continue? [Y/N]: y

    [SwitchA-Stack-Port1/1] commit
    [~SwitchA-Stack-Port1/1] return

    Далее, нужно сохранить конфигурацию и перезагрузить коммутатор:

    <SwitchA> save
    Warning: The current configuration will be written to the device. Continue? [Y/N]: y
    <SwitchA> reboot
    Warning: The system will reboot. Continue? [Y/N]: y

    4. Выключаем порты для стекирования на master-коммутаторе (пример)

    [~SwitchA] interface stack-port 1/1
    [*SwitchA-Stack-Port1/1]
    shutdown
    [*SwitchA-Stack-Port1/1]
    commit

    5. Настраиваем второй коммутатор в стэке по аналогии с первым:

    <HUAWEI> system-view
    [~HUAWEI] sysname
    SwitchB
    [*HUAWEI]
    commit
    [~SwitchB]
    stack
    [~SwitchB-stack]
    stack member 1 priority 120
    [*SwitchB-stack]
    stack member 1 domain 10
    [*SwitchB-stack]
    stack member 1 renumber 2 inherit-config
    Warning: The stack configuration of member ID 1 will be inherited to member ID 2
    after the device resets. Continue? [Y/N]:
    y
    [*SwitchB-stack]
    quit
    [*SwitchB]
    commit

    Настраиваем порты для стекирования. Обратите внимание, что несмотря на то, что была введена команда “stack member 1 renumber 2 inherit-config”, member-id в конфигурации используется со значением “1” для SwitchB. 

    Так происходит, потому что member-id коммутатора будет изменён только после перезагрузки и до неё коммутатор по-прежнему имеет member-id, равный 1. Параметр “inherit-config” как раз нужен для того, чтобы после перезагрузки коммутатора все настройки стека сохранились для member 2, которым и будет коммутатор, т.к. его member ID был изменён со значения 1 на значение 2.

    [~SwitchB] interface stack-port 1/1
    [*SwitchB-Stack-Port1/1]
    port member-group interface 10ge 1/0/1 to 1/0/4
    Warning: After the configuration is complete,
    1.The interface(s) (10GE1/0/1-1/0/4) will be converted to stack
    mode and be configured with the port crc-statistics trigger error-down command if the configuration does
    not exist.
    2.The interface(s) may go Error-Down (crc-statistics) because there is no shutdown configuration on the
    interfaces.
    Continue? [Y/N]:
    y
    [*SwitchB-Stack-Port1/1]
    commit
    [~SwitchB-Stack-Port1/1]
    return

    Перезагружаем SwitchB

    <SwitchB> save
    Warning: The current configuration will be written to the device. Continue? [Y/N]:
    y
    <SwitchB>
    reboot
    Warning: The system will reboot. Continue? [Y/N]:
    y

    6. Включаем порты стекирования на master-коммутаторе. Важно успеть включить порты до завершения перезагрузки коммутатора B, т.к. если включить их после, коммутатор B снова уйдёт в перезагрузку.

    [~SwitchA] interface stack-port 1/1
    [~SwitchA-Stack-Port1/1]
    undo shutdown
    [*SwitchA-Stack-Port1/1]
    commit
    [~SwitchA-Stack-Port1/1]
    return

    7. Проверяем работу стека командой “display stack

    Пример вывода команды после правильной настройки

    <SwitchA> display stack

    --------------------------------------------------------------------------------

    MemberID Role     MAC              Priority   DeviceType         Description

    --------------------------------------------------------------------------------

    +1       Master   0004-9f31-d520   150        CE6850-48T4Q-EI 

     2       Standby  0004-9f62-1f40   120        CE6850-48T4Q-EI 

    --------------------------------------------------------------------------------

    + indicates the device where the activated management interface resides.

    8. Сохраняем конфигурацию стека командой “save”. Настройка завершена.

    Подробную информация про iStack и пример настройки iStack можно также посмотреть на сайте Huawei.

    Настройка доступа

    Выше мы работали через консольное подключение. Теперь к нашему коммутатору (стеку) нужно как-то подключаться по сети. Для этого ему нужен интерфейс (один или несколько ) с IP-адресом. Обычно для коммутатора адрес назначается на интерфейс в VLAN сети управления или на выделенный порт управления. Но тут, конечно же, всё зависит от топологии подключения и функционального назначения коммутатора.

    Пример настройки адреса для интерфейса VLAN 1:

    [~HUAWEI] interface vlan 1
    [~HUAWEI-Vlanif1] ip address 10.10.10.1 255.255.255.0
    [~HUAWEI-Vlanif1] commit

    Предварительно можно явно создать Vlan и назначить ему имя, например:

    [~Switch] vlan 1
    [*Switch-vlan1] name TEST_VLAN (имя VLAN - необязательный элемент)

    Есть маленький лайфхак в плане именования — писать имена логических структур заглавными буквами (ACL, Route-map, иногда имена VLAN), чтобы было легче находить их в конфигурационном файле. Можете взять “на вооружение” ;)

    Итак, у нас есть VLAN, теперь “приземляем” его на какой-нибудь порт. Для описанного в примере варианта делать это не обязательно, т.к. все порты коммутатора по умолчанию находятся в VLAN 1. Если хотим настроить порт в другой VLAN, пользуемся соответствующими командами:

    Настройка порта в режиме access:

    [~Switch] interface 25GE 1/0/20
    [~Switch-25GE1/0/20] port link-type access
    [~Switch-25GE1/0/20] port access vlan 10
    [~Switch-25GE1/0/20] commit

    Настройка порта в режиме trunk:

    [~Switch] interface 25GE 1/0/20
    [~Switch-25GE1/0/20] port link-type trunk
    [~Switch-25GE1/0/20] port trunk pvid vlan 10 - указываем native VLAN (фреймы в этом VLAN не будут иметь тег в заголовке)
    [~Switch-25GE1/0/20] port trunk allow-pass vlan 1 to 20 - разрешаем только VLAN с тегом от 1 до 20 (для примера)
    [~Switch-25GE1/0/20] commit

    С настройкой интерфейсов разобрались. Перейдём к конфигурации SSH.
    Приведем только необходимый набор команд:

    Назначаем имя коммутатору

    <HUAWEI> system-view
    [~HUAWEI] sysname SSH Server
    [*HUAWEI] commit

    Генерируем ключи

    [~SSH Server] rsa local-key-pair create //Generate the local RSA host and server key pairs.
    The key name will be: SSH Server_Host
    The range of public key size is (512 ~ 2048).
    NOTE: Key pair generation will take a short while.
    Input the bits in the modulus [default = 2048] :
    2048
    [*SSH Server]
    commit

    Настраиваем интерфейст VTY

    [~SSH Server] user-interface vty 0 4
    [~SSH Server-ui-vty0-4] authentication-mode aaa 
    [SSH Server-ui-vty0-4]
    user privilege level 3
    [SSH Server-ui-vty0-4] protocol inbound ssh
    [*SSH Server-ui-vty0-4] quit

    Создаем локального пользователя "client001" и настроим ему аутентификацию по паролю

    [SSH Server] aaa
    [SSH Server-aaa] local-user client001 password irreversible-cipher <password string>
    [SSH Server-aaa] local-user client001 level 3
    [SSH Server-aaa] local-user client001 service-type ssh
    [SSH Server-aaa] quit
    [SSH Server] ssh user client001 authentication-type password

    Активируем сервис SSH на коммутаторе

    [~SSH Server] stelnet server enable
    [*SSH Server] commit

    Финальный штрих: настраиваем service-tupe для пользователя client001

    [~SSH Server] ssh user client001 service-type stelnet
    [*SSH Server] commit

    Настройка завершена. Если вы все сделали верно, то можно подключиться к коммутатору по локальной сети и продолжить работу.

    Больше подробностей по настройке SSH можно найти в документации Huawei — первая и вторая статья.

    Настройка базовых параметров системы

    В этом блоке рассмотрим небольшое количество различных блоков команд для настройки наиболее популярных возможностей.

    1. Настройка системного времени и его синхронизация по NTP.

    Для настройки времени локально на коммутаторе можно использовать следующие команды:

    clock timezone <time-zone-name> { add | minus } <offset>
    clock datetime [ utc ] HH:MM:SS YYYY-MM-DD

    Пример настройки времени локально

    clock timezone MSK add 03:00:00
    clock datetime 10:10:00 2020-10-08

    Для синхронизации времени по NTP с сервером вводим следующую команду:

    ntp unicast-server <ip-address сервера времени> [ version number | authentication-keyid key-id | source-interface interface-type

    Пример команды для синхронищации времени по NTP

    ntp unicast-server 88.212.196.95
    commit

    2. Для работы с коммутатором порой требуется настроить как минимум один маршрут - маршрут по умолчанию или default route. Для создания маршрутов используется следующая команда:

    ip route-static ip-address { mask | mask-length } { nexthop-address | interface-type interface-number [ nexthop-address ] }

    Пример команды для создания маршрутов:

    system-view
    ip route-static
    0.0.0.0  0.0.0.0 192.168.0.1
    commit

    3. Настройка режима работы протокола Spanning-Tree.

    Для корректного использования нового коммутатора в существующей сети важно уделить внимание выбору режима работы STP. Также, неплохо бы сразу настроить его. Надолго останавливаться здесь не будем, т.к. тема достаточно обширная. Опишем лишь режимы работы протокола:

    stp mode { stp | rstp | mstp | vbst } — в этой команде выбираем нужный нам режим. Режим по умолчанию: MSTP. Он же является рекомендуемым режимом для работы на коммутаторах Huawei. Обратная совместимость с RSTP имеется.

    Пример

    system-view
    stp mode mstp
    commit

    4. Пример настройки порта коммутатора для подключения конечного устройства.

    Рассмотрим пример настройки acess-порта для обработки траффика в VLAN10

    [SW] interface 10ge 1/0/3
    [SW-10GE1/0/3] port link-type access
    [SW-10GE1/0/3] port default vlan 10
    [SW-10GE1/0/3] stp edged-port enable
    [*SW-10GE1/0/3] quit

    Обратите внимание на команду “stp edged-port enable” - она позволяет ускорить процесс перехода порта в состояние forwarding. Однако, не стоит использовать эту команду на портах, к которым подключены другие коммутаторы.

    Также, может быть полезна команда “stp bpdu-filter enable”.

    5. Пример настройки Port-Channel в режиме LACP для подключения к другим коммутаторам или серверам.

    Пример

    [SW] interface eth-trunk 1
    [SW-Eth-Trunk1] port link-type trunk
    [SW-Eth-Trunk1] port trunk allow-pass vlan 10
    [SW-Eth-Trunk1] mode lacp-static (или можно использовать lacp-dynamic)
    [SW-Eth-Trunk1] quit
    [SW] interface 10ge 1/0/1
    [SW-10GE1/0/1] eth-Trunk 1
    [SW-10GE1/0/1] quit
    [SW] interface 10ge 1/0/2
    [SW-10GE1/0/2] eth-Trunk 1
    [*SW-10GE1/0/2] quit

    Не забываем про “commit” и далее уже работаем с интерфейсом eth-trunk 1.
    Проверить состояние агрегированного линка можно командой “display eth-trunk”.

    Мы описали основные моменты настройки коммутаторов Huawei. Конечно, в тему можно погрузиться еще глубже и ряд моментов не описан, но мы старались показать основные, наиболее востребованные команды для первичной настройки. 

    Надеемся что этот “мануал” поможет вам настроить коммутаторы немного быстрее.
    Также будет здорово, если вы в комментариях напишите команды, которых, по вашему мнению, не хватает в статье, но они также могут упростить настройку коммутаторов. Ну и, как обычно, будем рады ответить на ваши вопросы.

    mClouds.ru
    IaaS и VPS провайдер на платформе VMware.

    Комментарии 2

      +1
      Отвечая на ваш вопрос, в статье остро не хватает информации о том, как всё вышеперечисленное делать не руками. ZTP, профили, API, SDN – вот этого всего не хватает.
        +1
        Спасибо! Постараемся собрать интересный материал на эту тему.

      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

      Самое читаемое