Добрый день, коллеги! В этой статье я попытался создать шаблон базовой настройки коммутаторов 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), использующей распространенные сервисы по обслуживанию сетей передачи данных, готов. Спасибо за внимание!