Блог "Дети ОИТа"
/поиск

Джамп-протоколы между коммутаторами Huawei

Шаг 1. Зафиксировать назначение

Джамп-доступ в этой главе — это вход с CLI одного коммутатора на CLI другого коммутатора без перехода на рабочую станцию администратора.

Основные варианты:

  • STelnet — основной рекомендуемый способ, SSH-доступ с одного Huawei-устройства на другое;
  • Telnet — устаревший небезопасный способ, только для аварийных, лабораторных или изолированных сценариев;
  • SFTP — не интерактивный вход в CLI, а безопасная передача файлов между устройствами;
  • LLDP — не протокол входа, а способ узнать соседей и проверить, куда физически подключен порт;
  • Cluster/EasyDeploy/NDP/NTDP — вендорные механизмы управления и топологии, не замена нормальному SSH-доступу.
    Лучший корпоративный стандарт: использовать STelnet/SSH, ограничивать доступ ACL, вести учетные записи через AAA и не включать Telnet без отдельного основания.

Шаг 2. Выбрать базовую схему

Пример:

Устройство Роль Management IP
SW-A Джамп-коммутатор, SSH-клиент 10.10.10.1
SW-B Целевой коммутатор, SSH-сервер 10.10.10.2
VLAN 100 Management VLAN 10.10.10.0/24

Перед применением замени IP-адреса, VLAN, имена пользователей и интерфейсы на рабочие значения из схемы сети.

Шаг 3. Проверить IP-связность между коммутаторами

На SW-A:

<SW-A> ping 10.10.10.2
<SW-A> tracert 10.10.10.2

ping проверяет базовую IP-доступность целевого коммутатора.
tracert показывает маршрут до целевого IP-адреса.
Если ping не проходит, сначала проверь management VLAN, IP-адреса, маршруты, ACL и состояние интерфейсов. Джамп-протоколы не исправляют отсутствие L3-связности.

Шаг 4. Подготовить целевой коммутатор SW-B к STelnet

На SW-B:

<SW-B> system-view
[SW-B] rsa local-key-pair create
[SW-B] stelnet server enable

system-view переводит CLI из пользовательского режима в режим системной конфигурации.
rsa local-key-pair create создает локальную RSA-пару ключей, необходимую для SSH/STelnet.
stelnet server enable включает STelnet-сервер на устройстве.
Если устройство предложит выбрать длину ключа, используй максимально допустимое значение по корпоративному стандарту. Для новых сетей лучше ориентироваться на ключи не ниже 3072 бит, если модель и версия VRP это поддерживают.

Шаг 5. Настроить VTY-линии на SW-B только под SSH

[SW-B] user-interface vty 0 14
[SW-B-ui-vty0-14] authentication-mode aaa
[SW-B-ui-vty0-14] protocol inbound ssh
[SW-B-ui-vty0-14] quit

user-interface vty открывает настройки удаленных виртуальных терминальных линий.
authentication-mode aaa включает AAA-аутентификацию для входа через VTY.
protocol inbound ssh разрешает на VTY только SSH/STelnet и запрещает Telnet на этих линиях.
Не используй protocol inbound all без необходимости. Это оставляет Telnet как возможный путь входа.

Шаг 6. Создать локального администратора на SW-B

[SW-B] aaa
[SW-B-aaa] local-user netadmin password irreversible-cipher <STRONG_PASSWORD>
[SW-B-aaa] local-user netadmin privilege level 15
[SW-B-aaa] local-user netadmin service-type ssh
[SW-B-aaa] quit

aaa открывает режим настройки AAA.
local-user создает локального пользователя или меняет его параметры.
password irreversible-cipher задает пароль в необратимом защищенном виде.
privilege level задает уровень прав пользователя.
service-type ssh разрешает пользователю вход через SSH/STelnet.
В корпоративной сети лучше использовать персональные учетные записи или внешний AAA/RADIUS/TACACS+, а не общий логин на всех администраторов.

Шаг 7. Создать SSH-пользователя на SW-B

[SW-B] ssh user netadmin
[SW-B] ssh user netadmin authentication-type password
[SW-B] ssh user netadmin service-type stelnet

ssh user создает или изменяет параметры SSH-пользователя.
ssh user authentication-type password задает парольную аутентификацию для SSH-пользователя.
ssh user service-type stelnet разрешает пользователю использовать STelnet.
Если используется авторизация через ключи, вместо парольной схемы настрой RSA/ECC-ключи по действующему стандарту. Для базового джамп-доступа чаще начинают с AAA + password, затем переходят на централизованную аутентификацию.

Шаг 8. Ограничить вход на SW-B по management ACL

Пример: разрешить SSH только с SW-A и из подсети администрирования.

[SW-B] acl 2000
[SW-B-acl-basic-2000] rule permit source 10.10.10.1 0
[SW-B-acl-basic-2000] rule permit source 10.10.10.0 0.0.0.255
[SW-B-acl-basic-2000] rule deny
[SW-B-acl-basic-2000] quit
[SW-B] user-interface vty 0 14
[SW-B-ui-vty0-14] acl 2000 inbound
[SW-B-ui-vty0-14] quit

acl создает или открывает список контроля доступа.
rule permit source разрешает источник.
rule deny запрещает остальные источники.
acl 2000 inbound применяет ACL на входящие подключения к VTY.
Не применяй ACL, пока не уверен, что текущий адрес администратора разрешен. Иначе можно отрезать себе удаленный доступ.

Шаг 9. Проверить STelnet-сервер на SW-B

[SW-B] display ssh server status
[SW-B] display ssh user-information
[SW-B] display current-configuration configuration user-interface

display ssh server status показывает состояние SSH/STelnet-сервера.
display ssh user-information показывает SSH-пользователей и их параметры.
display current-configuration configuration user-interface показывает настройки пользовательских интерфейсов, включая VTY.
Проверь:

  • STelnet server включен;
  • SSH version — 2.0;
  • VTY использует authentication-mode aaa;
  • VTY принимает только ssh;
  • пользователь netadmin существует;
  • у пользователя разрешен service-type stelnet;
  • ACL не блокирует джамп-коммутатор.

Шаг 10. Подготовить SW-A как STelnet-клиент

На SW-A:

<SW-A> system-view
[SW-A] ssh client first-time enable
[SW-A] quit

ssh client first-time enable разрешает SSH-клиенту принять ключ сервера при первом подключении.
В строгой политике безопасности лучше заранее привязывать публичный ключ сервера, а не принимать его при первом входе. Для типовой эксплуатации Huawei-сетей ssh client first-time enable часто используют как базовый рабочий вариант.

Шаг 11. Подключиться с SW-A на SW-B через STelnet

На SW-A:

<SW-A> stelnet 10.10.10.2

stelnet запускает STelnet/SSH-клиент и подключает текущий коммутатор к удаленному SSH-серверу.
Если нужно явно указать source IP:

<SW-A> stelnet -a 10.10.10.1 10.10.10.2

-a задает исходный IP-адрес клиента. Это полезно, если на целевом устройстве вход ограничен ACL или есть несколько management-интерфейсов.
После подключения введи пользователя и пароль:

Username: netadmin
Password: <STRONG_PASSWORD>

После успешного входа приглашение CLI сменится на целевой коммутатор:

<SW-B>

Шаг 12. Выйти с удаленного коммутатора обратно на SW-A

На SW-B:

<SW-B> quit

quit завершает текущую STelnet-сессию или возвращает CLI на уровень выше, в зависимости от текущего режима.
Если находишься в system-view, сначала выйди из режима конфигурации:

[SW-B] quit
<SW-B> quit

Шаг 13. Использовать Telnet только как исключение

Telnet передает данные и учетные данные без нормальной защиты. В корпоративной сети Telnet не должен быть штатным способом администрирования.
На целевом SW-B, если Telnet временно нужен:

<SW-B> system-view
[SW-B] telnet server enable
[SW-B] user-interface vty 0 14
[SW-B-ui-vty0-14] authentication-mode aaa
[SW-B-ui-vty0-14] protocol inbound telnet
[SW-B-ui-vty0-14] quit
[SW-B] aaa
[SW-B-aaa] local-user netadmin service-type telnet
[SW-B-aaa] quit

telnet server enable включает Telnet-сервер.
protocol inbound telnet разрешает Telnet на VTY.
Используй это только в изолированной management-сети, на короткое время и с ACL.

Шаг 14. Подключиться с SW-A на SW-B через Telnet

<SW-A> telnet 10.10.10.2

telnet запускает Telnet-клиент и подключает текущий коммутатор к удаленному Telnet-серверу.
Если нужно явно указать source IP:

<SW-A> telnet -a 10.10.10.1 10.10.10.2

После завершения аварийных работ отключи Telnet на SW-B:

[SW-B] undo telnet server enable
[SW-B] user-interface vty 0 14
[SW-B-ui-vty0-14] protocol inbound ssh
[SW-B-ui-vty0-14] quit

Шаг 15. Использовать SFTP для передачи файлов

SFTP нужен не для входа в CLI, а для безопасной передачи файлов: конфигов, прошивок, логов, патчей.
На стороне SSH/SFTP-сервера должен быть включен SFTP и разрешен service-type sftp или all для пользователя.
Подключение с клиента:

<SW-A> sftp 10.10.10.2

sftp запускает SFTP-клиент поверх SSH.
Базовые команды внутри SFTP:

sftp-client> dir
sftp-client> get vrpcfg.zip
sftp-client> put new-version.cc
sftp-client> quit

dir показывает файлы на удаленной стороне.
get скачивает файл с удаленного устройства.
put загружает локальный файл на удаленное устройство.

Шаг 16. Использовать LLDP перед джампом

Перед входом на соседний коммутатор полезно проверить фактического соседа:

<SW-A> display lldp neighbor brief
<SW-A> display lldp neighbor interface GigabitEthernet0/0/24 verbose

display lldp neighbor brief показывает краткую информацию о соседних устройствах.
display lldp neighbor interface ... verbose показывает подробную информацию о соседе на конкретном порту.
LLDP не дает вход в соседний коммутатор. Он только помогает понять, к какому устройству и порту ты подключен.

Шаг 17. Не использовать Cluster/EasyDeploy как замену SSH

У Huawei встречаются механизмы Cluster, EasyDeploy, NDP и NTDP. Они могут использоваться для топологии, группового управления или развертывания, но не являются универсальной заменой SSH/STelnet.
Практическое правило:

  • для администрирования CLI — STelnet;
  • для аварийного доступа в изолированной среде — временный Telnet;
  • для файлов — SFTP;
  • для поиска соседей — LLDP;
  • для централизованного управления — NMS/iMaster/AAA/Ansible/скрипты, если они приняты в сети.

Шаг 18. Проверить активные удаленные сессии

<SW-B> display users
<SW-B> display ssh server session

display users показывает текущих пользователей на устройстве.
display ssh server session показывает активные SSH-сессии на SSH-сервере.
Проверь:

  • кто подключен;
  • с какого IP подключен пользователь;
  • какой протокол используется;
  • нет ли лишних зависших VTY-сессий.

Шаг 19. Сохранить конфигурацию

На SW-B:

[SW-B] save

На SW-A, если включался ssh client first-time enable:

[SW-A] save

save сохраняет текущую конфигурацию в startup-конфигурацию, чтобы настройки сохранились после перезагрузки.

Итоговая конфигурация SW-B как STelnet-сервера

system-view
rsa local-key-pair create
stelnet server enable
user-interface vty 0 14
 authentication-mode aaa
 protocol inbound ssh
 quit
aaa
 local-user netadmin password irreversible-cipher <STRONG_PASSWORD>
 local-user netadmin privilege level 15
 local-user netadmin service-type ssh
 quit
ssh user netadmin
ssh user netadmin authentication-type password
ssh user netadmin service-type stelnet
acl 2000
 rule permit source 10.10.10.1 0
 rule permit source 10.10.10.0 0.0.0.255
 rule deny
 quit
user-interface vty 0 14
 acl 2000 inbound
 quit
save

Итоговая конфигурация SW-A как STelnet-клиента

system-view
ssh client first-time enable
quit
ping 10.10.10.2
stelnet 10.10.10.2

С явным source IP:

stelnet -a 10.10.10.1 10.10.10.2

Быстрая диагностика

Симптом Что проверить
ping не проходит IP-адреса, VLANIF, routing, ACL, физический линк
STelnet не подключается display ssh server status, stelnet server enable, VTY protocol inbound ssh
Отказ по логину AAA-пользователь, пароль, ssh user, service-type stelnet
Подключение блокируется ACL на VTY, source IP клиента, management ACL
Работает Telnet, но не SSH RSA-ключи, SSH version, VTY protocol, SSH-user
После подключения сразу разрыв Лимит VTY, ACL, неверный service-type, несовместимые SSH-алгоритмы
SFTP подключается, CLI нет У пользователя разрешен sftp, но не stelnet

Контрольный чек-лист

Проверка Норма
Для штатного джамп-доступа используется STelnet Да
Telnet выключен или используется только временно Да
На целевом коммутаторе создан RSA/ECC ключ Да
STelnet server включен Да
VTY принимает только SSH protocol inbound ssh
Аутентификация VTY идет через AAA Да
Пользователь имеет service-type ssh и service-type stelnet Да
Вход ограничен management ACL Да
Source IP джамп-коммутатора предсказуем Да
LLDP используется для проверки соседства Да
Конфигурация сохранена Да