Коммутируемые сети » Базовая конфигурация управляемого коммутатора D-Link

В статье рассматривается начальная настройка управляемого коммутатора D-Link с использованием интерфейса командной строки CLI.

Для начальной настройки коммутатора используется консольный порт RS-232. Для этого необходимо соединить ПК и коммутатор консольным кабелем с разъемами DB-9.

Рекомендованные производителем параметры подключения следующие:
terminal - VT 100+;
speed - 9600;
parity - none;
data bits - 8;
stop bit - 1;
sofware flow control - none;
hardware flow control - none

Для подключения к коммутатору по протоколу Telnet можно использовать различные терминальные программы, например Hiperterminal, Putty, Minicom и др.

Рассмотрим конфигурирование на примере коммутатора D-Link DGS-3120-24SC.

При подключении к коммутатору отобразится примерно следующая информация

                    DGS-3120-24SC Gigabit Ethernet Switch
                            Command Line Interface

                           Firmware: Build 2.00.010
           Copyright(C) 2011 D-Link Corporation. All rights reserved.
UserName:

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

# show switch

Конфигурируем.
Обратите внимание на то, что CLI регистро-чувствительный. Например команда "System" вводится, с большой буквы, в то время как другие - с маленькой.

Создаем интерфейс управления и назначаем ему IP адрес для доступа к устройству. По умолчанию устройство имеет назначенный IP адрес 10.90.90.90.

DGS-3120-24SC:admin#config ipif System ipaddress 192.168.0.10/24 state enable
Command: config ipif System ipaddress 192.168.0.10/24 state enable

Success.

Задаем шлюз маршрута по умолчанию.

DGS-3120-24SC:admin#create iproute default 192.168.0.1
Command: create iproute default 192.168.0.1

Для того, чтобы устройство было доступно только в определенном VLAN, создадим VLAN и поместим интерфейс управления в него.

DGS-3120-24SC:admin#create vlan ManagementVLAN tag 2
DGS-3120-24SC:admin#config ipif System vlan ManagementVLAN

Создадим аккаунт для администрирования и управления устройством.

DGS-3120-24SC:admin#create account admin Sysadmin encrypt plain_text 1234
Command: create account admin Sysadmin encrypt plain_text 1234

Настройки времени
Задаем временную зону, параметры перехода на летнее время и адрес сервера времени:

config time_zone operator + hour 3 min 0
config dst repeating s_week last s_day sun s_mth 3 s_time 2:0 e_week last e_day sun e_mth 10 e_time 3:0 offset 60
config sntp primary 91.192.32.7 secondary 91.192.32.3 poll-interval 720
enable sntp

Для самоуспокоения можно пробежаться по настройкам, с помощью команды "show" с соответствующими аргументами удостоверится, что желаемые настройки применены верно. После чего - сохраняем всё, и настройки и журнал событий, в энергонезависимую память:

# save all

Перезагружаем коммутатор:

# reboot

Теперь идём на своё рабочее место и подключаемся к устройству используя для это протокол SSH.

Первым делом стоит подкорректировать настройки портов. Например таким образом:

# config ports 1-24 speed auto flow_control enable state enable
# config ports 25 speed 100_full state enable
# config ports 26,28 speed 1000_full master flow_control enable state enable

Здесь мы позволили клиентским портам принимать конфигурацию клиента, предлагая аппаратный контроль потока передаваемых данных, выделили один порт для связи с маршрутизатором на скорости 100 Мегабит с полным "дуплексом" и выделили два "гигабитных" порта для связи с другими коммутаторами.

Очень желательно явно выставлять параметры интерфейсов, предназначенных для связи между коммутаторами и маршрутизаторами. На моей практике неоднократно наблюдались огромные, до 30%-40% потери пакетов из-за того, что оборудование не могло договорится о режимах работы в автоматической конфигурации.

Следует иметь в виду, что у D-Link при конфигурировании "гигабитных" портов нужно явно указывать, какая сторона ведущая, а какая ведомая. В частности, если этот коммутатор "ведущий" (master), что на втором "гигабитные" порты должны быть инициированы как "ведомые" (slave), например:

# config ports 25,27 speed 1000_full slave flow_control enable state enable

Далее следует чуть подкорректировать общие настройки, имеющие отношение к обеспечению условий коммутации.

Чтобы огорчить любителей повесить на порт нашего коммутатора свой коммутатор и нацеплять за ним кучу незарегистрированного оборудования, явно укажем не принимать запросы на порту более чем с одного MAC:

# config port_security ports 1-24 admin_state enable max_learning_addr 1 lock_address_mode OnTimeout

Естественно, для "транков" ограничение на количество обслуживаемых MAC снимаем:

# config port_security ports 25-28 admin_state disable

Насколько я понял из документации, опция "OnTimeout" регламентирует периодичность пересмотра таблицы коммутации (Forwarding Database) MAC на портах. Надо полагать (вернее, так сказано в документации, но я мог неверно перевести), что MAC-адрес клиента неактивного порта будет удалён из таблицы и другому MAC-адресу будет позволено работать на нём именно после этого самого пересмотра таблицы. Сменить период пересмотра таблицы можно с помощью соответствующей команды (по умолчанию период составляет 300 секунд):

# config fdb aging_time 120

На случай, если понадобится по быстрому, не дожидаясь истечения "таймаута" разблокировать какой-либо порт, очистив историю использования его клиентам, есть команда, которой мы очистим историю использования для портов со второго по седьмой:

# clear port_security_entry port 2-7

Теперь активируем функционал "Storm Control" для борьбы с клиентами, сорящими "бродкастовыми" и "мультикастовыми" пакетами (зажимаем клиента по максимуму - у нас только традиционные сервисы, не подразумевающие рассылок; в обычной плоской сети реальный "флуд" диагностируется по показателю в 100 Kbs):

# config traffic  control 1-24 broadcast enable multicast enable unicast disable action   threshold 64 countdown 5 time_interval 5

Можно попробовать применить новый функционал D-Link обнаружения и блокирования потенциальных DoS-атак, пока вреда от него я не замечал:

# config dos_prevention dos_type all action  state enable
# config dos_prevention dos_type tcp_syn_srcport_less_1024 state disable
# disable dos_prevention trap_log

Типов атак несколько, вместо "all" можно включать и выключать их обнаружение индивидуально:

Land Attack, Blat Attack, Smurf Attack, TCP Null Scan, TCP Xmascan, TCP SYNFIN, TCP SYN SrcPort less 1024

Видно, что выше я отключил обнаружение атак типа "TCP SYN SrcPort less 1024"; не углублялся в суть вопроса, но при активировании этой опции коммутатор воспринимает попытки взаимодействия Linux/BDS/Apple-машины с сетевым принтером как атаку, блокируя передачу данных.

Для отлова "петель" на стороне клиента используем специализированный функционал коммутатора, регулярно посылающий тестовый пакет обнаружения "loopback" (это работает независимо от протокола STP):

# enable loopdetect
# config loopdetect ports 1-24 state enabled
# config loopdetect ports 25-28 state disabled
# config loopdetect recover_timer 180 interval 10

Где:

recover_timer - время (в секундах), в течение которого порты будут  отключены для стимулирования пользователя порта разобраться, "почему не  работает";
interval - период (в секундах) между отправкой пакетов обнаружения петли.

В качестве дополнительной меры обеспечения доступности сервисов, представляемых коммутатором, включим поддержку "Safeguard engine", режима, в котором отбрасываются или отправляются в конец очереди (с пониженным приоритетом) все ARP и "широковещательные" пакеты тогда, когда загрузка процессора возрастёт выше установленного порога:

# config safeguard_engine state enable utilization rising 90 falling 30 trap_log disable mode fuzzy

Где:

rising 90 - процент загрузки процессора, выше которого включается режим "Safeguard engine";
falling 30 - процент загрузки, ниже которого выключается "Safeguard engine";
mode fuzzy - выбираем режим мягкого противодействия нагрузке, когда широковещательные и ARP пакеты не откидываются полностью, а лишь понижаются в приоритете при обработке.


Далее - обще-системные мелочи.

Велим коммутатору отправлять на удалённый сервер данные своего журнала событий:

# enable syslog
# create syslog host 4 ipaddress 192.168.12.12 severity all facility local1 state enable

Научим наш коммутатор выспрашивать точное время у соответствующих серверов.

Задаём "часовой пояс":

# config time_zone operator + hour 6 min 0

Отключим перевод на "летнее время":

# config dst disable

Укажем наши сервера точного времени:

# config sntp primary 192.168.12.12 secondary 192.168.0.12 poll-interval 21600

Включим подсистему:

# enable sntp

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

Отключаем подсистему уведомлений о событиях на SMTP-сервер:

# disable smtp

Отключаем SNMP:

#  snmp community public
# snmp community private # disable snmp traps # disable snmp authenticate traps # disable rmon

Отключаем систему уведомления SNMP сервера о изменении MAC клиента на портах:

# disable mac_notification

Отключаем протокол оповещения и сбора информации о соседнем оборудовании (свободная замена таким протоколам, как: Cisco Discovery Protocol, Extreme Discovery Protocol, Foundry Discovery Protocol или Nortel Discovery Protocol). Вещь полезная, но в небольшой сети не особо нужная, особенно, если нет понимания целесообразности применения:

# disable lldp

Отключаем перенаправление DHCP запросов на целевой сервер:

# disable dhcp_relay
# disable dhcp_local_relay

Отключаем зеркалирование портов (применяется для мониторинга и сбора статистики):

# disable mirror

Отключаем поддержку протокола STP:

# disable stp

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

# disable sim

Отключаем авторизацию клиентов на портах:

# disable 802.1x

Отключаем инкапсуляцию тегов VLAN в теги VLAN второго уровня (сеть у нас маленькая):

# disable qinq

Явно отключаем управление "мульткастом", раз уж он не используется:

# disable igmp_snooping
# disable mld_snooping

Сохраняем конфигурацию:

# save all

Можно побродить по "web"-интерфейсу коммутатора. Уж не знаю, что там можно было наворотить, но "сайт" успешно завешивает Google Chrome (Linux); браузер начинает беспрерывно перезапрашивать один из "фреймов" панели управления, потребляя при этом половину ресурсов компьютера и не отображая при этом ничего, кроме аляповатого рисунка коммутатора на мозаичном фоне в стиле Web-0.9. Хорошо хоть Firefox (Linux) справился. Первым делом рекомендую забанить анимированную, очень детализированную, с искорками, вертящимися вокруг стилизованного земного шара, картинку-логотип в фрейме меню управления; лично у меня на "нетбуке" после этого обороты вентилятора сразу упали со средних до нулевого уровня.
Рекомендую отключить "web"-интерфейс:

# disable web
# disable ssl

CLI предоставляет достаточно инструментария для контроля и мониторинга устройства, например:

# show error ports 1-24
Command: show error ports 1:1-1:24

 Port Number : 1:1    
                 RX Frames                                   TX Frames
                 ---------                                   ---------
 CRC Error       0                     Excessive Deferral    0         
 Undersize       0                     CRC Error             0         
 Oversize        0                     Late Collision        0         
 Fragment        0                     Excessive Collision   0         
 Jabber          0                     Single Collision      0         
 Drop Pkts       1                     Collision             0         
 Symbol Error    0         

# show ports
Command: show ports

 Port      State/          Settings             Connection          Address 
           MDIX      Speed/Duplex/FlowCtrl  Speed/Duplex/FlowCtrl   Learning
 -------  --------  ---------------------  ----------------------  ---------
 1:1  (C) Enabled   Auto/Disabled          1000M/Full/None         Enabled     
          Auto  
 1:1  (F) Enabled   Auto/Disabled          Link Down               Enabled     
          Auto  
 1:2  (C) Enabled   Auto/Disabled          Link Down               Enabled     
          Auto  
 1:2  (F) Enabled   Auto/Disabled          1000M/Full/None         Enabled     
          Auto  
 1:3  (C) Enabled   Auto/Disabled          Link Down               Enabled     
          Auto  
 1:3  (F) Enabled   Auto/Disabled          1000M/Full/None         Enabled     
          Auto  
 1:4  (C) Enabled   100M/Full/Disabled     Link Down               Enabled     
          Auto  
 1:4  (F) Enabled   Auto/Disabled          1000M/Full/None         Enabled     
          Auto  
                                                                                
# show traffic control
Command: show traffic control


Traffic Control Trap             : [None] 
Traffic Control Log              : Enabled 
Traffic Control Auto Recover Time: 0 Minutes

Port Thres  Broadcast Multicast Unicast  Action   Count    Time     Shutdown
     hold   Storm     Storm     Storm             down     Interval Forever
---- ------ --------- --------- -------- -------- -------- -------- --------
1:1  131072 Disabled  Disabled  Disabled drop     0        5                
1:2  131072 Disabled  Disabled  Disabled drop     0        5                
1:3  131072 Disabled  Disabled  Disabled drop     0        5                
1:4  131072 Disabled  Disabled  Disabled drop     0        5                
1:5  131072 Disabled  Disabled  Disabled drop     0        5                
1:6  131072 Disabled  Disabled  Disabled drop     0        5                
1:7  131072 Disabled  Disabled  Disabled drop     0        5                
1:8  131072 Disabled  Disabled  Disabled drop     0        5                
1:9  131072 Disabled  Disabled  Disabled drop     0        5                
1:10 131072 Disabled  Disabled  Disabled drop     0        5                
1:11 131072 Disabled  Disabled  Disabled drop     0        5                
1:12 131072 Disabled  Disabled  Disabled drop     0        5                
1:13 131072 Disabled  Disabled  Disabled drop     0        5                
1:14 131072 Disabled  Disabled  Disabled drop     0        5                
1:15 131072 Disabled  Disabled  Disabled drop     0        5                    
1:16 131072 Disabled  Disabled  Disabled drop     0        5                
1:17 131072 Disabled  Disabled  Disabled drop     0        5                
1:18 131072 Disabled  Disabled  Disabled drop     0        5                
1:19 131072 Disabled  Disabled  Disabled drop     0        5                
1:20 131072 Disabled  Disabled  Disabled drop     0        5                
1:21 131072 Disabled  Disabled  Disabled drop     0        5                
1:22 131072 Disabled  Disabled  Disabled drop     0        5                
1:23 131072 Disabled  Disabled  Disabled drop     0        5                
1:24 131072 Disabled  Disabled  Disabled drop     0        5                
# show utilization ports
Command: show utilization ports

 Port     TX/sec     RX/sec   Util      Port     TX/sec     RX/sec   Util
 -----  ---------- ---------- ----      -----  ---------- ---------- ---- 
 1:1    1316       255        1         1:21   0          0          0        
 1:2    2781       3097       2         1:22   0          0          0        
 1:3    1200       1021       1         1:23   22662      13514      14       
 1:4    4530       3467       3         1:24   24321      39075      24       
 1:5    6534       2966       4                                                
 1:6    0          0          0                                                
 1:7    0          0          0                                                
 1:8    0          0          0                                                
 1:9    0          0          0                                                
 1:10   0          0          0                                                
 1:11   0          0          0                                                
 1:12   0          0          0                                                
 1:13   0          0          0                                                
 1:14   0          0          0                                                
 1:15   0          0          0                                                
 1:16   0          0          0                                                
 1:17   0          0          0                                                
 1:18   0          0          0                                                
 1:19   0          0          0                                                
 1:20   0          0          0                                                
# show arpenrty
Command: show arpentry


 ARP Aging Time : 20

Interface      IP Address       MAC Address        Type
-------------  ---------------  -----------------  ---------------
System         10.0.0.0         FF-FF-FF-FF-FF-FF  Local/Broadcast
System         10.0.0.3         00-19-30-DE-81-1A  Dynamic
System         10.0.0.30        28-10-7B-FD-90-60  Local
System         10.0.0.52        00-1A-81-00-1B-28  Dynamic
System         10.0.0.53        00-1A-81-00-42-6E  Dynamic
System         10.0.0.57        00-1A-81-00-42-92  Dynamic
System         10.0.0.69        00-1A-81-00-46-B8  Dynamic
System         10.0.0.70        00-1A-81-00-48-EC  Dynamic
System         10.0.0.73        00-1A-81-00-46-A6  Dynamic
System         10.0.0.75        00-1A-81-00-46-AE  Dynamic
System         10.0.0.77        00-1A-81-00-48-F0  Dynamic
System         10.0.0.78        00-1A-81-00-48-EE  Dynamic
System         10.0.0.79        00-1A-81-00-4F-74  Dynamic
System         10.0.0.94        00-1A-81-00-4F-6A  Dynamic
System         10.0.0.95        00-1A-81-00-4F-50  Dynamic
System         10.0.0.98        00-1A-81-00-4F-6E  Dynamic
System         10.0.0.110       00-1A-81-00-4F-7C  Dynamic
System         10.0.0.111       00-1A-81-00-4F-76  Dynamic                      
System         10.0.0.115       00-1A-81-00-4F-7A  Dynamic
System         10.0.0.116       00-1A-81-00-4F-72  Dynamic
System         10.0.0.127       00-1A-81-00-4F-62  Dynamic
System         10.0.0.128       00-1A-81-00-4E-D4  Dynamic
System         10.0.0.138       00-1A-81-00-4E-AA  Dynamic
System         10.0.0.139       00-1A-81-00-4E-B6  Dynamic
System         10.0.0.141       00-1A-81-00-4E-AE  Dynamic
System         10.0.0.254       02-04-49-19-E5-ED  Dynamic
System         10.0.255.255     FF-FF-FF-FF-FF-FF  Local/Broadcast
# show packet ports 1-24
Command: show packet ports 1:1-1:24

 Port Number : 1:1    
 ==================================================================
 Frame Size/Type       Frame Counts                  Frames/sec 
 ---------------       ----------------------        -----------
 64                    200280                        0            
 65-127                1062179438                    60           
 128-255               223780621                     10           
 256-511               43674080                      0            
 512-1023              59184242                      0           
 1024-1518             1699809915                    37          
 Unicast RX            1373982323                    37          
 Multicast RX          846779                        0           
 Broadcast RX          126238                        0          
 
 Frame Type            Total                         Total/sec 
 ---------------       ----------------------        -----------
 RX Bytes              741791572441                  6878        
 RX Frames   	       1374955340                    37          
 TX Bytes     	       2168108284400                 58310       
 TX Frames   	       1858052337                    75          

В общем, все. Теперь можете приступать к чтению "мануалов", что бы осмыслить, как освоить оставшиеся здесь неосвещёнными 90% функционала устройства.

Все права сохранены © Hobbymods - моддинг для души

Перепубликация материалов возможна только с устного или письменного разрешения администрации сайта!