Добрый день, коллеги! В этой статье я попытался создать шаблон базовой настройки коммутаторов Eltex MES 23XX для использования в корпоративных сетях, имеющих вспомогательные сервисы администрирования и мониторинга. Разумеется, невозможно описать весь функционал коммутатора или рассмотреть все системы, применяющиеся для обслуживания сетей передачи данных. Но базовые настройки мы разберем.
Итак, всё начинается с имени устройства. Имя можно назначить любое, но оно должно нести информацию, помогающую администратору ориентироваться в своей сети. Такие имена, как switch1, sg1231fa или qwerty, неинформативны. Подробные, например ekb-malisheva51-floor.13-serv3-shkaf5-unit27, неудобны в работе. Лучше краткий вариант имени с указанием местоположения, например ekb-tower-lan1, поскольку остальные сведения можно указать в схемах сетей, системах мониторинга и баннерах.
hostname ekb-tower-lan1
Теперь займемся локальной учетной записью с полными правами (на учетной записи admin обязательно нужно изменить пароль) и паролем к привилегированному режиму:
username admin password ****** privilege 15
username not_admin password ****** privilege 15
enable password level 15 ******
Включаем SSH, протокол удаленного управления с шифрованием:
ip ssh server
Затем – баннеры. Их применяют при получении удаленного доступа:
предупреждающий баннер при попытке входа. Он используется для уведомления того, кто осуществляет попытку подключения, о том, что несанкционированные подключения незаконны и расцениваются как попытка взлома;
приветственный баннер после успешной аутентификации. В нем можно разместить любую информацию от сведений о местоположении и назначении устройства до картинки из символов.
Особенность настройки баннера: необходимо выбрать разделительный символ, с которого баннер начнется, и которым закончится. При этом выбранный символ не должен использоваться в самом баннере:
banner login $
-----------------------------------------
----UNAUTHORIZED ACCESS IS PROHIBITED----
-----------------------------------------
$
banner exec $
--------------------------------------------------------------------
@@_____@@__________@@@@@@@__@@_____@@@@@@@_@@@@@@@_@@@___@@__@__@__@
@@__@__@@__________@@_______@@________@@___@@_______@@@_@@___@__@__@
@@_@@@____@@@@@@___@@_______@@________@@___@@_________@@@____@__@__@
@@__@_____@@@@_____@@@@@@@__@@________@@___@@@@@@@____@@@____@__@__@
@@__@_________@@___@@_______@@________@@___@@_______@@@_@@__________
@@__@@.____@@@@@___@@@@@@@__@@@@@@____@@___@@@@@@@_@@@___@@__@__@__@
--------------------------------------------------------------------
----------Switch is located in the Ekaterinburg, Malisheva 51-------
------------------------Server room on floor 13---------------------
------------------------------Daisy, Daisy--------------------------
----------------------------You are welcome!------------------------
--------------------------------------------------------------------
$
Далее нам потребуется сервер AAA. В небольших сетях такие решения не применяются (и для доступа на оборудование используется локальная учетная запись), но в крупных корпоративных или провайдерских сетях они незаменимы для создания гибких и масштабируемых политик доступа (часто с привлечением доменных политик Active Directory). ААА (Authentication, Authorization, Accounting) – три независимых друг от друга процесса, которые выполняются при предоставлении доступа пользователю к устройству:
Authentication – определение наличия пользователя и проверка правильности введенного пароля, аутентификация по логину и паролю;
Authorization – определение уровня прав пользователя, какие команды ему позволено выполнять и на каких устройствах;
Accounting – логирование всех действий пользователя на AAA-сервере.
Самые распространенные протоколы ААА – TACACS+ и Radius, причем TACACS+ считается более надежным. На сервере ААА создается объект для каждого узла в сети:
На узле сети задается соответствующая конфигурация: назначаются основной и резервный серверы ААА. Также указывается порядок проверок учетных записей: сначала c помощью сервера ААА, а если он недоступен, то через локальную базу в конфигурации устройства:
tacacs-server host 192.168.50.1 key ************
tacacs-server host 192.168.50.2 key ************ priority 1
aaa authentication enable default tacacs enable
aaa authentication login default tacacs local
aaa authentication login authorization default tacacs local
aaa accounting commands stop-only default tacacs
Осталось настроить интерфейс SVI для удаленного доступа. Разумеется, в корпоративных сетях для сегментации сетей используются VLAN. Пусть в нашем примере VLAN для управления сетевым оборудованием будет 15:
vlan database
vlan 10,15,99
interface vlan 15
description Management SVI
ip address 192.168.2.21 255.255.255.0
ip default-gateway 192.168.2.254
После успешного входа мы получаем оба баннера:
Теперь нужно регламентировать все внешние подключения к коммутатору, настроив доступ к так называемой плоскости управления. В своем варианте я разрешаю узкому кругу хостов и подсетей удаленный доступ по SSH и мониторинг по SNMP. В результате возможность подключения по Telnet и HTTP будет заблокирована:
management access-list remote-access
permit ip-source 192.168.33.1 service ssh
permit ip-source 172.16.0.0 mask 255.255.255.240 service ssh
permit ip-source 10.0.0.1 service snmp
exit
management access-class remote-access
Кстати об SNMP. Используем самый простой вариант с SNMPv2c, без шифрования:
snmp-server server
snmp-server community ******** ro
И можем сразу переходить к мониторингу. Zabbix отлично подходит для этой задачи:
Следующий шаг – настройка точного времени и отправка логов на Syslog-сервер. Для анализа событий в сети необходимо иметь единую точку отсчета времени, поэтому на всех узлах сети нужно настроить синхронизацию времени по протоколу NTP:
clock timezone MSK +3
clock source sntp
sntp unicast client enable
sntp server 10.0.0.1
Осталось сформировать удобочитаемые логи:
logging on
logging host 192.168.2.22
logging cli-commands
logging origin-id hostname
logging buffered informational
Разумеется, система анализа логов в крупной сети – сложный, комплексный продукт. В примере же я использую простую демонстрацию:
2021-08-27T10:04:26+03:00 ekb-tower-lan1 COPY - TRAP - The copy operation was completed successfully 192.168.2.21 27/08 14:04:26.726
2021-08-27T10:04:26+03:00 ekb-tower-lan1 GCLI - CMD-EXEC - source:10.0.0.2 destination:192.168.2.21 user:eltex_user cmd:wr 192.168.2.21 27/08 14:04:26.788
Еще один важный элемент конфигурации - её автоматическое сохранение на стороннем ресурсе. Есть различные подходы к этой задаче - использование готовых коммерческих или свободно распространяемых решений, например NOC, автоматизированная выгрузка конфигураций и их размещение, например, на GitHub, использование встроенных инструментов для использования FTP/TFTP-хранилищ. Мы рассмотрим автоматическую выгрузку конфигурации после ее сохранения на TFTP-сервер, размещенный в корпоративной сети (Eltex позволяет такжеиспользовать SCP). Для этого необходимо в конфигурации указать адрес TFTP-сервера, действие для выгрузки, и путь на сервере (я так же добавляю имя устройства, а коммутатор при формировании файла добавит в название временную метку):
backup server tftp://10.0.0.1
backup path eltex/ekb-tower-lan1
backup write-memory
В результате, после сохранения файла, мы получим отчет в логе устройства, и новый файл на TFTP-сервере:
Пора настроить порты. Начнем с порта доступа. Не углубляясь в параметры безопасности, зададим принадлежность VLAN, защиту от BPDU при появлении постороннего коммутатора, быстрый переход порта в состояние передачи и выключим LLDP (пользователям необязательно знать, какое именно оборудование мы используем в своей сети):
interface gigabitethernet1/0/1
description "Simple PC access"
switchport mode access
switchport access vlan 10
spanning-tree portfast
spanning-tree bpduguard enable
no lldp transmit
no lldp receive
Порт для соединения с другими сетевыми устройствами (uplink) настраивается в режиме trunk с запретом на прохождение native vlan и формированием полноценной выдачи информации по протоколу LLDP:
interface gigabitethernet1/0/9
description "Link to CORE1 (192.168...)"
switchport mode trunk
switchport trunk allowed vlan add 10,15
switchport trunk native vlan 99
lldp optional-tlv port-desc sys-name sys-desc sys-cap
lldp management-address automatic
Теперь соседнее устройство будет знать о нашем коммутаторе чуть больше:
Соберем нашу конфигурацию в один шаблон, который можно легко адаптировать под простую архитектуру локальной сети:
hostname ekb-tower-lan1
username admin password ****** privilege 15
username not_admin password ****** privilege 15
enable password level 15 ******
ip ssh server
banner login $
-----------------------------------------
----UNAUTHORIZED ACCESS IS PROHIBITED----
-----------------------------------------
$
banner exec $
--------------------------------------------------------------------
@@_____@@__________@@@@@@@__@@_____@@@@@@@_@@@@@@@_@@@___@@__@__@__@
@@__@__@@__________@@_______@@________@@___@@_______@@@_@@___@__@__@
@@_@@@____@@@@@@___@@_______@@________@@___@@_________@@@____@__@__@
@@__@_____@@@@_____@@@@@@@__@@________@@___@@@@@@@____@@@____@__@__@
@@__@_________@@___@@_______@@________@@___@@_______@@@_@@__________
@@__@@.____@@@@@___@@@@@@@__@@@@@@____@@___@@@@@@@_@@@___@@__@__@__@
--------------------------------------------------------------------
----------Switch is located in the Ekaterinburg, Malisheva 51-------
------------------------Server room on floor 13---------------------
------------------------------Daisy, Daisy--------------------------
----------------------------You are welcome!------------------------
--------------------------------------------------------------------
$
tacacs-server host 192.168.50.1 key ************
tacacs-server host 192.168.50.2 key ************ priority 1
aaa authentication enable default tacacs enable
aaa authentication login default tacacs local
aaa authentication login authorization default tacacs local
aaa accounting commands stop-only default tacacs
vlan database
vlan 10,15,99
interface vlan 15
description Management SVI
ip address 192.168.2.21 255.255.255.0
ip default-gateway 192.168.2.254
management access-list remote-access
permit ip-source 192.168.33.1 service ssh
permit ip-source 172.16.0.0 mask 255.255.255.240 service ssh
permit ip-source 10.0.0.1 service snmp
exit
management access-class remote-access
snmp-server server
snmp-server community ******** ro
clock timezone MSK +3
clock source sntp
sntp unicast client enable
sntp server 10.0.0.1
logging on
logging host 192.168.2.22
logging cli-commands
logging origin-id hostname
logging buffered informational
backup server tftp://10.0.0.1
backup path eltex/ekb-tower-lan1
backup write-memory
interface gigabitethernet1/0/1
description "Simple PC access"
switchport mode access
switchport access vlan 10
spanning-tree portfast
spanning-tree bpduguard enable
no lldp transmit
no lldp receive
interface gigabitethernet1/0/9
description "Link to CORE1 (192.168...)"
switchport mode trunk
switchport trunk allowed vlan add 10,15
switchport trunk native vlan 99
lldp optional-tlv port-desc sys-name sys-desc sys-cap
lldp management-address automatic
Пример базовой конфигурации для MES 23XX (я формировал ее на примере MES2308), использующей распространенные сервисы по обслуживанию сетей передачи данных, готов. Спасибо за внимание!
Комментарии (9)
Gaernebjorn
03.09.2021 11:00Спасибо за статью
Вот, ещё может быть полезным:
backup server tftp://172.16.X.X backup path sw_acc_123 backup write-memory backup history enable
Удобно, что при wri mem заодно автоматически сливает конфиг на tftp сервер
backup path можно не указывать, тогда подставляется hostname, но в старых версиях был баг, переменная hostname инициализировалась после команды backup из-за чего backup write-memory игнорировалась при перезагрузке. Сейчас вроде поправили.
sanhces7 Автор
03.09.2021 14:36Спасибо, постараюсь протестировать и добавить в статью в течение нескольких дней
kterik
19.09.2021 18:46защиту от BPDU без выключения порта при появлении постороннего коммутатора:
switchport mode access
switchport access vlan 10
spanning-tree portfast
spanning-tree bpdu filtering
spanning-tree bpduguard enable
Прошу уточнить: такая конфигурация должна именно отключать порт при появлении постороннего коммутатора на порту вследствие срабатывания bpduguard, поскольку собственные BPDU элтекс в этот порт посылать будет. Чтобы не посылал, на порту надо сделать
spanning-tree disable
.sanhces7 Автор
19.09.2021 18:49Спасибо, пасхалка найдена. Да, это на внимательность. STP на портах ни в коем случае отключать нельзя. Вы правы, моя конфигурация порт отключать не будет. Она будет дропать приходящие BPDU, но при этом продолжать обслуживать ethernet-кадры пользователей, и есть риск получить петлю. Убираю это из конфига, оставляю
spanning-tree bpduguard enable
@kterik,спасибо, что прочитали!
NickStanley
тема BGP не раскрыта((((
artemspitsyn
BGP отдельно лицензируется на MES23xx, возможно, тут его и нет за ненадобностью ¯\_(ツ)_/¯
Scruff_1
Если "лицензируется" также как на циске - путём скачивания более навороченного Иоса с торрента, то девайс вполне даже норм.
Jofa
BGP есть, по лицензии