Amin 's Blog

Всякие размышления о жизни, да и так - справочка для себя

DGS-3024 :: Reset password

При ревизии склада нашли старый гигабитный свитч от D-Link - DGS-3024. Естественно, пароль от него давно пролюбили за давностью лет. Официальная поддержка д-линка не особо помогла - они хотят полный комплект документов, официальный запрос на бумаге!! и надо свитч везти им в сервис, да еще они и денег за это хотят. Понятно, что страдать такой херней ради старого свитча не хотелось совершенно. Поскольку железку было не особо жалко, решил попробовать разобраться самостоятельно. Делюсь опытом.

Вообщем, самую суть решения нашел на зеленом форуме, и перепощу его здесь, чтобы самому потом легче было найти.

Итак, первое, что нам потребуется при работе с таким оборудованием - это COM-порт и терминальная софтина к нему. Новых материнок с COM-портом сейчас не выпускается (за исключением особых промышленных вариантов), поэтому покупаем в магазине USB-2-RS232 контроллер. Я советую купить вот такой девайс. Есть его аналог у китайцев (не за 600, а за 200 рублей), но такой "аналог" у меня не заработал ни под виндой, ни под линуксом ни на одном из битрейтов.
После включения он должен быть виден в lsusb:
Bus 00x Device 0yy: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Не знаю как в этой-глючной-как-её-там, а в теплом ламповом линуксе оно видится как /dev/ttyUSB0. В качестве софтины можно использовать Putty, но мне больше понравился полностью консольный minicom, запущенный внутри konsole. Управление minicom завязано на клавишную комбинацию [Ctrl]-[A] и нажатие кнопки.
Для начала запустим миником от рута с параметром -s , чтобы сгенерить настройку по-умолчанию для всех юзеров.
Опций там много, нам важны следующие:
[Ctrl]-[A], [o] - это настройки. Нам нужно указать устройство - /dev/ttyUSB0, режим порта - 9600-8N1 и очистить строки инициализации и сброса модема (у нас просто терминалка, а не модем).
[Ctrl]-[A], [z] - краткий список команд программы.
[Ctrl]-[A], [q] - выход.
[Ctrl]-[A], [p] - быстрый доступ к настройкам скорости порта (надо будет сменить натсройку на лету).
[Ctrl]-[A], [ s ] - отправить файл (применяется при заливки загрузчиков и прошивок).
Или же просто взять готовый конфиг:
$ cat /etc/minirc.dfl 
# Автоматически сгенерированный файл - используйте "minicom -s" для
# изменения параметров.
pu port             /dev/ttyUSB0
pu baudrate         9600
pu bits             8
pu parity           N
pu stopbits         1
pu minit            
pu mreset           
pu rtscts           No 
Итак, софт и ком-порт у нас настроены. Ставим 9600-8N1, включаем питание свитча и быстро жмём [Shift]-[3] ДО начала загрузки образа:
  Boot Procedure                                                    1.00.B03
-------------------------------------------------------------------------------
  Power On Self Test ......................................  60 %            
                                                                             
  Please change your baud rate to 115200 for Z modem download or             
  press CTRL-C go to BOOT MENU.

Свитч попросит сменить скорость для заливки прошивки. Жмем [Ctrl]-[A], [p], [e] (это выставит порт на скорость 115200), ентер, и когда начнут появляться строки **B0100000027fed4 , жмем [Ctrl]-[A], [ s ], отмечаем пробелом файл последней прошивки, жмем ентер, протокол передачи - zmodem. Начнется долгая (минуты три) загрузка прошивки. Потом свитч прогрузится и стопнется. Тут надо снова сменить скорость порта на 9600 и ребутнуть свитч. Теперь надо снова нажать [Shift]-[3] ПОСЛЕ прохождения POST и загрузчика, но ДО завершения загрузки образа. Свитч спросит, сбросить ли конфиг к настройкам по умолчанию. Жмём [y], ребутим свитч - и обнаруживаем, что список логинов не поменялся. Соединим свитч с сетевой картой нашего компа, настроим все так, чтобы свитч был доступен по сети и со свитча можно было достучаться до TFTP-сервера. У меня он поднят локально, мне проще.
И вот тут начинается магия, подсмотренная на зеленом форуме:
У свитча после сброса будет конфиг дефолтный, IP - 10.90.90.90/24, а вот список логинов - не сбросится. Зато у нас сбросились параметры SNMP! А поскольку SNMP в настройках по умолчанию - одна большая дырка, это можно испрользовать:
Поэтому ставим из репозитария пакет net-snmp-utils (в нем есть утилиты для работы с SNMP) и делаем строго по рекомендацци с форума:
Кладем в корень TFTP-сервера такой конфиг pw.cfg:
create account admin admin
123 
123
и в обычной линуксовой консоли даем такие команды:
# тип файла – конфигурация свитча 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.6.3 i 3 

#тип передачи – передача по стеи 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.4.3 i 2 

#имя файла 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.5.3 s pw.cfg 

# направление передачи – download 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.7.3 i 3 

#ip tftp сервера 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.3.3 a 10.90.90.1

# начать заливку 
snmpset -v2c -c private 10.90.90.90 1.3.6.1.4.1.171.12.1.2.1.1.8.3 i 3
Применяется оно мгновенно, после этого можно спокойно зайти в веб-морду с параметрами admin / 123 и сделать новый конфиг, не забыв его сохранить.

Правильный трейс до ффтентакля ...Что такое настоящий пиздец

Comments

TimMTiVi Wednesday, December 28, 2011 9:30:36 AM

Искал информацию по подключению к Cisco по USB (там встроенный в девайс контроллер RS232) месяц назад.
Так что это статья полезна, но поздно.

Но всё равно спасибо!

AminAminux Wednesday, December 28, 2011 9:47:42 AM

У циски с этим сильно проще. Там есть confreg, он решает в таких случаях.

Write a comment

New comments have been disabled for this post.

May 2012
M T W T F S S
April 2012June 2012
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31