Сервер у нас установлен и настроен. Теперь загрузим имеющийся маршрутизатор Cisco 881 с образа на TFTP сервере.
Имеющиеся IOS образы на сервере:
ls -l /media/tftpd_data/ -rwxr-xr-x 1 nobody nogroup 83002016 дек 28 08:01 c800-universalk9-mz.SPA.154-3.M4.bin -rwxrwxrwx 1 nobody nogroup 36835492 июл 1 2013 c880data-universalk9-mz.152-4.M3.bin
Для загрузки имеющегося маршрутизатора потребуется образ c880data-universalk9-mz.152-4.M3.bin.
Обратите внимание: второй образ IOS для другой модели — C881, и для наших целей не подойдет.
Войдем в режим ROMMON.
В Putty это комбинация Ctrl+Break или Special Commands > Break в начале загрузки оборудования.
В терминале Linux такая комбинация не работает и приходится делать следующее:
— При выключенном оборудовании подключаюсь к консоли на скорости 1200 бод
sudo screen /dev/ttyUSB0 1200
где /dev/ttyUSB0 — мой USB-RS232 адаптер.
— Включаю маршрутизатор и зажимаю «Пробел» на клавиатуре секунд на 15-20. На мусор в консоли не обращаю внимание.
— Далее нажимаю «Ctrl+a», клавишу «\» и отвечаю на вопрос утвердительно — «y». Так мы выйдем из программы screen.
— Подключаемся заново на скорости 9600 бод и мы в ROMMON:
sudo screen /dev/ttyUSB0 9600
Что такое screen можно почитать здесь.
Загрузка с TFTP сервера.
Просмотр параметров, необходимых для загрузки с TFTP:
tftpdnld -h Use this command for disaster recovery only to recover an image via TFTP. Monitor variables are used to set up parameters for the transfer. (Syntax: "VARIABLE_NAME=value" and use "set" to show current variables.) "ctrl-c" or "break" stops the transfer before flash erase begins. The following variables are REQUIRED to be set for tftpdnld: IP_ADDRESS: The IP address for this unit IP_SUBNET_MASK: The subnet mask for this unit DEFAULT_GATEWAY: The default gateway for this unit TFTP_SERVER: The IP address of the server to fetch from TFTP_FILE: The filename to fetch The following variables are OPTIONAL: TFTP_VERBOSE: Print setting. 0=quiet, 1=progress(default), 2=verbose TFTP_RETRY_COUNT: Retry count for ARP and TFTP (default=18) TFTP_TIMEOUT: Overall timeout of operation in seconds (default=7200) TFTP_CHECKSUM: Perform checksum test on image, 0=no, 1=yes (default=1) FE_PORT: Port number of the switch to use, 0 (default) to 3 TFTP_DESTINATION: The flash destination device for the file flash:(default), usbflash0: Command line options: -h: this help screen -r: do not write flash, load to DRAM only and launch image
Заполним все REQUIRED параметры :
IP_ADDRESS=192.168.0.10 IP_SUBNET_MASK=255.255.255.0 DEFAULT_GATEWAY=192.168.0.1 TFTP_SERVER=10.10.10.1 TFTP_FILE=c880data-universalk9-mz.152-4.M3.bin
Проверяем заданные настройки:
set
Если все верно, набираем:
tftdnld
или, если не хотим записывать образ на flash память:
tftdnld -r
Еще интересные команды в ROMMON:
boot, confreg, reset, set, tftpdnld.
Идея как послать break в терминале linux подсмотрена здесь.