пятница, 19 апреля 2019 г.

Прошивка Cisco AIR-lAP1131AG-E-K9

Поговорим о том, как прошить точку доступа cisco AIR-lAP1131AG-E-K9 в режим Stand-alone.



Итак, имеем WiFi точку с прошивкой для работы с контроллером. Задача - перепрошить для работы без контроллера. Прошивку буду использовать c1130-k9w7-tar.124-25d.JA1, скачанную с официального сайта.
Нам понадобиться пк с com-портом и консольный цисковский кабель. Точки доступа пришли без блоков питания, так что буду использовать PoE инжектор. Из программного обеспечения Putty и tftpd32.
Открываем крышку нашей циски, подключаем консольный кабель.



Запускаем Putty, скорость ком-порта стандартная, 9600. При подаче питания если используете PoE инжектор - кабель со второго порта инжектора вытаскиваем. Если блок питания - Ethernet-кабель в циску не вставляем, иначе в режим загрузчика не попадете.
Внимание! Все последующие действия стоит выполнять используя источник бесперебойного питания. Есть риск окирпичить циску если пропадет электропитание во время прошивки и вырубиться комп и/или циска.
Зажимаем кнопку reset и подаем питание на циску. В консоли видим следующее:

Xmodem file system is available.
flashfs[0]: 47 files, 15 directories
flashfs[0]: 0 orphaned files, 0 orphaned directories
flashfs[0]: Total bytes: 15998976
flashfs[0]: Bytes used: 12185600
flashfs[0]: Bytes available: 3813376
flashfs[0]: flashfs fsck took 42 seconds.
Base ethernet MAC Address: XX:XX:XX:XX:XX:XX
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
link auto-negotiating....
auto-negotiation takes 10000 milli-seconds to complete
ERROR: timeout waiting for auto-negotiation to complete
ERROR: fail to bring ethernet link up

The system has been encountered an error initializing
ethernet port. You may need to check hardware
The system is ignoring the error and continuing boot.
If you interrupt the system boot process, the following
commands will reinitialize ethernet, tftp, and finish
loading the operating system software:

    ether_init
    tftp_init
    boot

button is pressed, wait for button to be released...


Отпускаем кнопку, точка продолжит загрузку, ждем появления букв ap и двоеточия.

button pressed for 46 seconds
process_config_recovery: set IP address and config to default 10.0.0.1
process_config_recovery: image recovery


ap:


Теперь назначим нашей точке IP, маску и шлюз, после чего инициализируем tftp-клиент. Я сконфигурировал на своем ПК на сетевом интерфейс статический адрес 192.168.0.10 c 24-той маской, на циске с этой же маской будет 192.168.0.11. А поскольку подключение будет напрямую к ПК, то шлюзом на циске будет адрес ПК. Делается все это следующими командами (для удобства то, что пишет в консоль циска, я помечу зеленым цветом, то, что пишем в консоль мы, то есть команды, красным).

ap: set IP_ADDR 192.168.0.11
ap: set NETMASK 255.255.255.0
ap: set DEFAULT_ROUTER 192.168.0.10
ap: tftp_init
tftp_init success: You can now use tftp file system!

Соединяем наш PoE инжектор и ПК патчкордом, если шьете с использованием цисковского блока питания - то соединяйте патчкордом циску и ПК. Инициализация интерфейса выполняется следующей командой

ap: ether_init
Initializing ethernet port 0...
Reset ethernet port 0...
Reset done!
ethernet link up, 100 mbps, full-duplex
Ethernet port 0 initialized: link is up

Точка готова к перепрошивке. Давайте подготовим саму прошивку и tftp-сервер.
Для удобства я создал на диске D папку с коротким цифровым названием и положил туда файл c1130-k9w7-tar.124-25d.JA1. Запускаем tftpd32.exe, отключаем в нем dhcp, если таковой включен. Указываем папку в которой лежит прошивка и прикрепляем наш tftp сервер к интерфейсу. После чего на самой циске даем команду на скачивание прошивки

ap: tar -xtract tftp://192.168.0.10/c1130-k9w7-tar.124-25d.JA1.tar flash:

extracting info (286 bytes)
c1130-k9w7-mx.124-25d.JA1/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/ (directory) 0 (bytes)
c1130-k9w7-mx.124-25d.JA1/html/level/1/ (directory) 0 (bytes)

Пока наша прошивка загружается и распаковывается, cisco будет писать нам в консоль лог выполнения этого процесса. Так же лог скачивания мы можем смотреть и на стороне нашего сервера. Если все будет хорошо, то в конце будет следующее

extracting c1130-k9w7-mx.124-25d.JA1/6701.img (131328 bytes)............................
extracting c1130-k9w7-mx.124-25d.JA1/info (286 bytes)
extracting info.ver (286 bytes)
ap:


У меня с первого раза прошить не получилось, банально не хватило места для новой прошивки. В таком случае циска может выдать что-то наподобие этого

extracting c1130-k9w7-mx.124-25d.JA1/html/level/15/ap_contextmgr_scm_summary.shtml.gz (5559 bytes).
extracting c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (4758352 bytes)Error writing flash:/c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1 (Not enough space on device)

ap:

Если видим ошибку записи Not enough space on device - просто удаляем ненужные файлы с флеш-памяти циски. Как это делать я опишу в конце статьи. После удаления просто заново запускаем команду на скачивание и распаковку прошивки.
После того, как наша точка скачает и распакует прошивку, нам нужно с этой прошивки загрузиться. Для этого есть команда boot, параметром параметром в которой будет файл, с которого мы хотим грузится.

ap: boot flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
Loading "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1"...################

File "flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1" uncompressed and installed, entry point: 0x3000
executing...

Дальше пойдет стандартная загрузка. По окончанию увидим следующее

Product/Model Number : AIR-LAP1131AG-E-K9

Press RETURN to get started!

CESS: RADIO crypto FIPS self test passed on interface Dot11Radio 1
*Mar 1 00:00:12.939: %LINK-3-UPDOWN: Interface FastEthernet0, changed state to up
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio0, changed state to administratively down
*Mar 1 00:00:13.162: %LINK-5-CHANGED: Interface Dot11Radio1, changed state to administratively down
*Mar 1 00:00:13.231: %SYS-5-CONFIG_I: Configured from memory by console
*Mar 1 00:00:13.235: %SYS-5-RESTART: System restarted --
Cisco IOS Software, C1130 Software (C1130-K9W7-M), Version 12.4(25d)JA1, RELEASE SOFTWARE (fc1)
Technical Support: http://www.cisco.com/techsupport
Copyright (c) 1986-2011 by Cisco Systems, Inc.
Compiled Thu 11-Aug-11 02:44 by prod_rel_team
*Mar 1 00:00:13.235: %SNMP-5-COLDSTART: SNMP agent on host ap is undergoing a cold start
*Mar 1 00:02:07.689: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to up
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio0, changed state to down
*Mar 1 00:02:07.912: %LINEPROTO-5-UPDOWN: Line protocol on Interface Dot11Radio1, changed state to down
*Mar 1 00:02:07.917: %LINEPROTO-5-UPDOWN: Line protocol on Interface BVI1, changed state to up

ap>

Вот мы и загрузились в режиме standalone. Осталось только закрепить успех, то есть указать нашей циске, что теперь ей следует всегда грузиться именно с этой прошивкой. Для этого заходим в режим enable (пароль Cisco с большой буквы), дальше в режим конфигурации и говорим ей с какого файла ей начинать загрузку.

ap>enable
Password:
ap#conf t
ap(config)#boot system flash:c1130-k9w7-mx.124-25d.JA1/c1130-k9w7-mx.124-25d.JA1
ap(config)#exit
ap#write
Building configuration...
[OK]
ap#

Ну вот мы и прошили нашу Cisco Aironet 1130AG Series Access Point для самостоятельной работы без контроллера. Теперь можно присвоить ей адрес (на bridge, vlan или на физический интерфейс) и зайти на web интерфейс



Настройку я уже рассматривать не буду, тут на ваше усмотрение. Инструкция подойдет от любой циски, если работали с ними - то сложного ничего нет.

Давайте теперь вернемся к той ситуации, когда шиться циска не хочет из-за недостатка свободного места на флешке. В таком случае она пишет ошибку Not enough space on device. Для начала нужно посмотреть, что же занимает место и удалить лишнее.

Как посмотреть память на Cisco.
Для просмотра дисков и файловой системы в cisco есть команда dir. Пример

ap: dir
List of filesystems currently registered:
    flash[0]: (read-write)
    xmodem[1]: (read-only)
    null[2]: (read-write)
    tftp[5]: (read-only)

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

ap: dir flash:
Directory of flash:/
2   -rwx   286   <date>   info
9   drwx   320   <date>   c1130-k9w8-mx.124-23c.JA6
4   drwx   128   <date>   c1130-rcvk9w8-mx
3   -rwx   5144   <date>   private-multiple-fs
7   -rwx  201   <date>   env_vars
8   -rwx   92018   <date>   event.log
16   drwx   320   <date>   c1130-k9w8-mx.124-25e.JAL
63   drwx   0   <date>   configs
64   drwx   64   <date>   c1130-k9w7-mx.124-25d.JA1

3137536 bytes available (12861440 bytes used)


Как видим, у нас тут присутствуют папки с другими прошивками. Одна из них наша, которую мы только что пытались загрузить, еще одна - рабочая, с которой циска работала и третья лишняя.

Как посмотреть файлы в папке на cisco.
Чтоб посмотреть файлы в каталоге, нужно после dir добавить в команду файловую систему и ту папку, которая нас интересует. Например

ap: dir flash:c1130k9w8-mx.124-25e.JAL


Как удалить файл на Cisco.
Для удаления файлов есть команда del, ее нужно написать с полным путем к файлу, который хотим удалить. Пример

ap: del flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL
Are you sure you want to delete "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" (y/n)?y
File "flash:c1130-k9w8-mx.124-25e.JAL/c1130-k9w8-mx.124-25e.JAL" deleted

Как удалить каталог (папку) на cisco.
Для удаления папок на циско есть команда rmdir. Почему-то она не захотела удалять полные папки с ключом recursive, поэтому для удаления каталога сначала удаляем из него все файлы командой del, после чего удаляем пустую папку.

Итак, в статье я рассказал как прошить Cisco Aironet 1130AG Series Access Point, показал на примере модели AIR-lAP1131AG-E-K9. Так же рассказал как смотреть и удалять файлы из файловой системы. В дальнейшем может хватит времени на написание статьи про настройки данных точек доступа, в чем я очень сильно сомневаюсь, ибо времени, простите за тавтологию, последнее время катастрофически не хватает.