В рамках поставленной задачи (узнавать о появлении новых MAC-адресов на портах коммутаторов DLink) понадобилось организовать настройку SNMP-trap'ов на коммутационном оборудовании с последующим приемом их на сервере и дальнейшей обработкой в зависимости от пришедшего события. Для начала надо установить и настроить демон, который будет принимать трапы от оборудования и при нужном MIB вызывать наш обработчик. Установка net-snmp - тема отдельная, выполняется из пактов или портов, и особых трудностей не вызывает. Собственно приемом трапов занимается snmptrapd. Для обработки заданного трапа пишем в snmptrapd.conf: traphandle 1.3.6.1.4.1.171.11.63.6.2.20.0.2 /scripts/trap.php Теперь после рестарта демона snmptrapd, он начнет принимать приходящие трапы и при наличии трапа с заданным MIB (1.3.6.1.4.1.171.11.63.6.2.20.0.2 - в нашем случае), будет вызывать наш обработчик, который уже будет совершать необходимые нам действия. Обработчик SNMP-трапов Принимать SNMP trap-ы на самом деле достаточно просто. Вот пример простого обработчика SNMP-трапов на PHP: #!/usr/bin/php -q <?php $message = ""; $fd = fopen("php://stdin", "r"); while (!feof($fd)) $message .= fread($fd, 1024); ?> Все что делает этот скрипт - получает в переменную $message текст, который передается демоном snmptrapd. Текст приходит разделенный знаками конца строки. Первая строка - это всегда имя хоста (который прислал трап), вторая - IP-адрес этого хоста, третья - его uptime, четвертая - MIB пришедшего трапа. Остальные строки в сообщении - это детальная информация касательно пришедшего трапа, если она предусмотрена. Для отправки Trap-ов на коммутаторе исполняем такие команды: create snmp community trap_com view CommunityView read_only create snmp host x.x.x.x v2c trap_com Где х.х.х.х - IP-адрес сервера, котоырй будет принимать SNMP traps. Далее надо включить опцию дабы коммутатор отсылал трап при появлении на порту нового мака. Делается это через SNMP snmpset -v2c -c write_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19.0 i 3 Выключить эту опцию можно так snmpset -v2c -c write_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19.0 i 2 Узнать текущее состояние опции можно так snmpwalk -v2c -c read_commenity switch_ip 1.3.6.1.4.1.171.11.63.6.2.1.2.19 Вся информация справедлива для коммутаторов 3028. Для других моделей MIB-ы могут сильно отличаться - к сожалению, DLink любит менять их от серии к серии. Надо заметить, что опция отправки трапа при появлении нового мака на порту доступна далеко не на всех моделях DLink-овых коммутаторов - например, 3010 такой возможности не поддерживает.
Показаны сообщения с ярлыком D-Link. Показать все сообщения
Показаны сообщения с ярлыком D-Link. Показать все сообщения
четверг, 21 ноября 2013 г.
Организация приема SNMP trap’ов и их отправки на коммутаторах DLink
четверг, 31 октября 2013 г.
Как создать VLAN и добавить в него порты на коммутаторах серий DES-35XX, DES-38XX, DES-30XX и DES-3226S по SNMP
Задача:
Создать VLAN с VID=5 и добавить в него порты: порт 14 как tagged, порты 25-26 как untagged.
Примечание: Порты 14, 25-26 удалены из VLAN default.
Команда (для серий DES-38XX, DES-35XX и DES-30XX):
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.5 s v5 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000400C0 1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 00000000 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000 1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4
Объяснение:
5 - VID
snmpset -v2c -c private 192.168.0.1
1.3.6.1.2.1.17.7.1.4.3.1.1.5 sv5 <= Задаём имя VLAN-а с VID=5 – v5.
1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000400С0 <= Порты, которые должны быть добавлены в VLAN как tagged– порты 25-26.
Порты задаются следующим образом:
x 00000000 – шестнадцатеричное число, каждый октет (4 разряда) которого представляют 4 порта. Старший разряд представляет порт 1. Старшие два разряда седьмого октета представляют порты 25-26. Т.е. 1100 (двоичное) = C (шестнадцатеричное).
1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 00000000 <= Порты, которые не могут быть добавлены в этот VLAN (forbidden).
1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000 <= Порты, которые должны быть добавлены в VLANкак untagged– порт 14.
* Для того, чтобы добавить untagged порт в VLAN, сначала его нужно добавить как tagged, т.е. добавление в VLAN как untaggedпорта 14 будет выглядеть следующим образом, при условии, что VLANv5 уже создан:
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 00040000 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000
1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4 <= Создать VLAN с указанными параметрами createAndGo(4)
Команда (для DES-3226S):
Отличие заключается в том, что DES-3226S поддерживает аппаратное стекирование. В стек может быть добавлено до 16 коммутаторов DES-3226S, следовательно общее количество портов 26*16 = 416. Количество шестнадцатеричных цифр представляющих это количество портов 416:4 = 104. Исходя их этого и указывается количество шестнадцатеричных разрядов.
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.5 s v5
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000000C000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 000000C000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 0004000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4
Создать VLAN с VID=5 и добавить в него порты: порт 14 как tagged, порты 25-26 как untagged.
Примечание: Порты 14, 25-26 удалены из VLAN default.
Команда (для серий DES-38XX, DES-35XX и DES-30XX):
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.5 s v5 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000400C0 1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 00000000 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000 1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4
Объяснение:
5 - VID
snmpset -v2c -c private 192.168.0.1
1.3.6.1.2.1.17.7.1.4.3.1.1.5 sv5 <= Задаём имя VLAN-а с VID=5 – v5.
1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000400С0 <= Порты, которые должны быть добавлены в VLAN как tagged– порты 25-26.
Порты задаются следующим образом:
x 00000000 – шестнадцатеричное число, каждый октет (4 разряда) которого представляют 4 порта. Старший разряд представляет порт 1. Старшие два разряда седьмого октета представляют порты 25-26. Т.е. 1100 (двоичное) = C (шестнадцатеричное).
1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 00000000 <= Порты, которые не могут быть добавлены в этот VLAN (forbidden).
1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000 <= Порты, которые должны быть добавлены в VLANкак untagged– порт 14.
* Для того, чтобы добавить untagged порт в VLAN, сначала его нужно добавить как tagged, т.е. добавление в VLAN как untaggedпорта 14 будет выглядеть следующим образом, при условии, что VLANv5 уже создан:
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 00040000 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 00040000
1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4 <= Создать VLAN с указанными параметрами createAndGo(4)
Команда (для DES-3226S):
Отличие заключается в том, что DES-3226S поддерживает аппаратное стекирование. В стек может быть добавлено до 16 коммутаторов DES-3226S, следовательно общее количество портов 26*16 = 416. Количество шестнадцатеричных цифр представляющих это количество портов 416:4 = 104. Исходя их этого и указывается количество шестнадцатеричных разрядов.
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.1.5 s v5
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.2.5 x 000000C000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.3.5 x 000000C000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.4.5 x 0004000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000
snmpset -v2c -c private 192.168.0.1 1.3.6.1.2.1.17.7.1.4.3.1.5.5 i 4
вторник, 29 октября 2013 г.
Как перезагрузить управляемые коммутаторы D-Link по SNMP?
Параметр SNMP, отвечающий за перезагрузку устройства, может отличаться в зависимости от модели коммутатора.
Ниже приведена таблица этих параметров для наиболее распространённых моделей управляемых коммутаторов D-Link:
| Модель коммутатора | FW | Параметр SNMP | Значение |
| DES-2110 | Любая | miscReset(OID=1.3.6.1.4.1.171.10.61.1.3.2) | (1) - reset |
| DES-2108 | Любая | miscReset(OID=1.3.6.1.4.1.171.10.61.2.3.2) | (1) - reset |
| DES-3226S | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.11.36.2.5.2.1.0) | (2) - cold start |
| DES-3226S | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.11.48.1.1.1.1.2.5) | (2) - cold start |
| DES-3250TG | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (2) - cold start |
| DES-3026 | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DES-3526 | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3.0) | (3) - warm start |
| DES-3326SR | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.11.49.2.1.1.1.2.5) | (2) - cold start |
| DES-3350SR | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DES-3828 | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DGS-3024 | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (2) - cold start |
| DES-3224TGR | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DGS-3312SR | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DGS-3324SR DGS-3324SR DXS-3326GSR DXS-3350SR |
Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
| DES-6500 | Любая | agentSystemReset(OID=1.3.6.1.4.1.171.12.1.2.3) | (3) - warm start |
AAA на коммутаторах D-Link через RADIUS
Конфиг для авторизации ( где 192.68.0.105 - радиус сервер, 1 - пароль для повышения привелегий)
create authen server_host 192.68.0.105 protocol radius port 1812 key "mkserveradius" timeout 5 retransmit 2
config authen server_group radius delete server_host 192.68.0.105 protocol radius
config authen server_group radius add server_host 192.68.0.105 protocol radius
config authen_login default method radius local
create authen_login method_list_name terminal
config authen_login method_list_name terminal method local
config authen_enable default method local_enable
create authen_enable method_list_name terminal
config authen_enable method_list_name terminal method local_enable
config authen application console login method_list_name terminal
config authen application console enable method_list_name terminal
config authen application telnet login default
config authen application telnet enable default
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 30
config authen parameter attempt 3
enable authen_policy
config admin local_enable
1
1
Настройка RADIUS описана в этой ссылке : Примеры настройки аутентификации при доступе к коммутатору с использованием серверов Radius и Tacacs+
create authen server_host 192.68.0.105 protocol radius port 1812 key "mkserveradius" timeout 5 retransmit 2
config authen server_group radius delete server_host 192.68.0.105 protocol radius
config authen server_group radius add server_host 192.68.0.105 protocol radius
config authen_login default method radius local
create authen_login method_list_name terminal
config authen_login method_list_name terminal method local
config authen_enable default method local_enable
create authen_enable method_list_name terminal
config authen_enable method_list_name terminal method local_enable
config authen application console login method_list_name terminal
config authen application console enable method_list_name terminal
config authen application telnet login default
config authen application telnet enable default
config authen application ssh login default
config authen application ssh enable default
config authen application http login default
config authen application http enable default
config authen parameter response_timeout 30
config authen parameter attempt 3
enable authen_policy
config admin local_enable
1
1
Настройка RADIUS описана в этой ссылке : Примеры настройки аутентификации при доступе к коммутатору с использованием серверов Radius и Tacacs+
воскресенье, 27 октября 2013 г.
Обновляем прошивку на коммутаторах D-Link
Существует по крайне мере 4 способа (возможно есть и еще) обновления прошивки на коммутаторах D-link
Для примера возьмем DES-3526
1. Загрузка прошивки через консольный кабель (восстановление слетевшей прошивки)
2. Загрузка прошивки по сети, через cli.
3. Загрузка прошивки через web интерфейс
4. Загрузка прошивки по средствам snmp.
FTP с которого можно получить прошивки, MIB и т.п. ftp://ftp.dlink.ru/pub/Switch/
Первый способ применим лишь тогда, когда на коммутаторе отсутствует прошивка. Про этот способ я уже писал, ознакомиться с ним можно тут Восстановление прошивки на коммутаторах D-link
2. Загрузка прошивки по сети, через cli.
- Необходимо зайти на коммутатор по telnet или ssh.
- Ввести в командной строке коммутатора команду:
download firmware <Полный путь к файлу прошивки> <указать в какой слот загружать прошивку, в первый или во второй, если не указывать image_id то по умолчанию будет 1 слот)>
Пример команды:
Дождавшись загрузки и установки прошивки на коммутатор, необходимо
перезагрузить коммутатор, выполнив команду reboot на коммутаторе и нажав
«y» для подтверждения.
3. Загрузка прошивки через web интерфейс
Заходим на коммутатор через веб-интерфейс, выбираем Maintenance -> Download firmware

Вписываем в поле Server IP Address – ip-адрес tftp сервера, а в поле File Name – имя файла прошивки, после этого нажать старт.

Дождавшись окончания загрузки необходимо перезагрузить коммутатор.
4. Загрузка прошивки по средствам snmp.
Задаем IP-адрес TFTP-сервера:
snmpset –v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.3.1 a 192.168.200.10
172.20.0.1 -> IP-адрес коммутатора
192.168.200.10 -> IP-адрес TFTP-сервера
Указываем тип передачи файла:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.4.1 i 2
Задаем имя файла прошивки:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.5.1 s fw_des3526
Указываем загрузку файла на коммутатор
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.7.1 i 3
Начать передачу файла:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.8.1 i 3
Выбрать ID прошивки в качестве загрузочной:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.10.1 i 1
Теперь осталось только перезагрузить коммутатор:
snmpset -t 45 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.3.0 i 3
Получился у нас приблизительно такой скрипт:
#!/usr/local/bin/bash
snmpset -t 90 -r 1 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.3.1 a 192.168.200.10 \
1.3.6.1.4.1.171.12.1.2.1.1.4.1 i 2 \
1.3.6.1.4.1.171.12.1.2.1.1.5.1 s fw_des3526 \
1.3.6.1.4.1.171.12.1.2.1.1.7.1 i 3 \
1.3.6.1.4.1.171.12.1.2.1.1.8.1 i 3 \
1.3.6.1.4.1.171.12.1.2.1.1.10.1 i 1
snmpset -t 45 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.3.0 i 3
P.S: Сохранение конфига:
snmpset -t 60 -r 1 -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.6.0 i 3
Для примера возьмем DES-3526
1. Загрузка прошивки через консольный кабель (восстановление слетевшей прошивки)
2. Загрузка прошивки по сети, через cli.
3. Загрузка прошивки через web интерфейс
4. Загрузка прошивки по средствам snmp.
FTP с которого можно получить прошивки, MIB и т.п. ftp://ftp.dlink.ru/pub/Switch/
Первый способ применим лишь тогда, когда на коммутаторе отсутствует прошивка. Про этот способ я уже писал, ознакомиться с ним можно тут Восстановление прошивки на коммутаторах D-link
2. Загрузка прошивки по сети, через cli.
- Необходимо зайти на коммутатор по telnet или ssh.
- Ввести в командной строке коммутатора команду:
download firmware <Полный путь к файлу прошивки> <указать в какой слот загружать прошивку, в первый или во второй, если не указывать image_id то по умолчанию будет 1 слот)>
Пример команды:
| DES-3526:admin# download firmware_fromTFTP 192.168.200.10 fw_des3526 |
3. Загрузка прошивки через web интерфейс
Заходим на коммутатор через веб-интерфейс, выбираем Maintenance -> Download firmware
Вписываем в поле Server IP Address – ip-адрес tftp сервера, а в поле File Name – имя файла прошивки, после этого нажать старт.
Дождавшись окончания загрузки необходимо перезагрузить коммутатор.
4. Загрузка прошивки по средствам snmp.
Задаем IP-адрес TFTP-сервера:
snmpset –v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.3.1 a 192.168.200.10
172.20.0.1 -> IP-адрес коммутатора
192.168.200.10 -> IP-адрес TFTP-сервера
Указываем тип передачи файла:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.4.1 i 2
Задаем имя файла прошивки:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.5.1 s fw_des3526
Указываем загрузку файла на коммутатор
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.7.1 i 3
Начать передачу файла:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.8.1 i 3
Выбрать ID прошивки в качестве загрузочной:
snmpset -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.10.1 i 1
Теперь осталось только перезагрузить коммутатор:
snmpset -t 45 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.3.0 i 3
Получился у нас приблизительно такой скрипт:
#!/usr/local/bin/bash
snmpset -t 90 -r 1 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.1.1.3.1 a 192.168.200.10 \
1.3.6.1.4.1.171.12.1.2.1.1.4.1 i 2 \
1.3.6.1.4.1.171.12.1.2.1.1.5.1 s fw_des3526 \
1.3.6.1.4.1.171.12.1.2.1.1.7.1 i 3 \
1.3.6.1.4.1.171.12.1.2.1.1.8.1 i 3 \
1.3.6.1.4.1.171.12.1.2.1.1.10.1 i 1
snmpset -t 45 -v2c -c private 172.20.0.1 1.3.6.1.4.1.171.12.1.2.3.0 i 3
P.S: Сохранение конфига:
snmpset -t 60 -r 1 -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.6.0 i 3
пятница, 25 октября 2013 г.
Включение LLDP D-Link 3200-28
config lldp ports 1-24 notification disable
config lldp ports 1-24 admin_status disable
config lldp ports 25-28 notification enable
config lldp ports 25-28 admin_status tx_and_rx
config lldp ports 25-28 basic_tlvs port_description system_name system_description system_capabilities enable
config lldp ports 25-28 mgt_addr ipv4 10.4.255.23 enable
config lldp forward_message enable
config lldp ports 25-28 notification enable
config lldp ports 25-28 basic_tlvs all enable
config lldp ports 25-28 dot1_tlv_pvid enable
config lldp ports 25-28 dot1_tlv_vlan_name vlan all enable
enable lldp
Полезные ссылки:
XGU LLDP
config lldp ports 1-24 admin_status disable
config lldp ports 25-28 notification enable
config lldp ports 25-28 admin_status tx_and_rx
config lldp ports 25-28 basic_tlvs port_description system_name system_description system_capabilities enable
config lldp ports 25-28 mgt_addr ipv4 10.4.255.23 enable
config lldp forward_message enable
config lldp ports 25-28 notification enable
config lldp ports 25-28 basic_tlvs all enable
config lldp ports 25-28 dot1_tlv_pvid enable
config lldp ports 25-28 dot1_tlv_vlan_name vlan all enable
enable lldp
Полезные ссылки:
XGU LLDP
Подписаться на:
Сообщения (Atom)