Маршрутизаторы Cisco Systems и их конфигурирование
Rambler's Top100
Pyramids Telecomm
Главная Архив статей Теория, практика, примеры конфигураций Словарь терминов

Работа в режиме ROM-монитора

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



Вход в режим ROM-монитора, набор команд.

Для того, чтобы войти в режим ROM-монитора необходимо выполнить следующие действия:

  1. Подсоединиться терминалом к консольному порту маршрутизатора. В связи с этим обязательно нужен локальный доступ к маршрутизатору. Установки терминальной программы:
  2. Загрузить маршрутизатор в обычный режим для просмотра значения конфигурационного регистра (обычно его значение 0x102 или 0x2102). Эта процедура требуется для дальнейшего восстановления этого значения. Просмотреть значение конфигурационного регистра можно по команде show version, если только эта команда вам доступна. В конце листинга, который выдается по этой команде, обычно находится надпись:

    Configuration register is 0x2102

  3. Выключить и снова включить маршрутизатор. Сразу после начала загрузки необходимо послать (send) маршрутизатору сигнал прерывания (break). Сделать это можно просто - нажав клавишу прерывания Break-key (в терминальных программах это обычно сочетание Alt + B, а нажать ее лучше несколько раз). Выполнив это, попадаем в режим ROM-монитора. В этом режиме можно протестировать маршрутизатор, загрузить с выполнением или без выполнения образ операционной системы из памяти или с TFTP-сервера, изменить значение регистра конфигурации.

Потеря пароля для входа в привилегированный режим является практически самой главной причиной использования режима ROM-монитора. В зависимости от серии используемого маршрутизатора, а точнее от версии Bootstrap зашитого в нем, внешний вид и набор команд данного режима несколько отличаются друг от друга. Имея локальный доступ к маршрутизаторам Cisco 2514, 2611, 3640, приведу для каждого листинги режима ROM-монитора.

System Bootstrap, Version 11.0(10c), SOFTWARE

$            Toggle cache state
B [filename] [TFTP Server IP address | TFTP Server Name]
             Load and execute system image from ROM or from TFTP server
C [address]  Continue execution [optional address]
D /S M L V   Deposit value V of size S into location L with modifier M
E /S M L     Examine location L with size S with modifier M
G [address]  Begin execution
H            Help for commands
I            Initialize
K            Stack trace
L [filename] [TFTP Server IP address | TFTP Server Name]
             Load system image from ROM or from TFTP server, but do not
             begin execution
O            Show configuration register option settings
P            Set the break point
S            Single step next instruction
T function   Test device (? for help)

Deposit and Examine sizes may be B (byte), L (long) or S (short).
Modifiers may be R (register) or S (byte swap).
Register names are: D0-D7, A0-A6, SS, US, SR, and PC
>

System Bootstrap, Version 11.1(20)AA2, EARLY DEPLOYMENT RELEASE SOFTWARE (fc1)

rommon 1 > ?
alias               set and display aliases command
boot                boot up an external process
break               set/show/clear the breakpoint
confreg             configuration register utility
cont                continue executing a downloaded image
context             display the context of a loaded image
cookie              display contents of cookie PROM in hex
dev                 list the device table
dir                 list files in file system
dis                 disassemble instruction stream
dnld                serial download a program module
frame               print out a selected stack frame
help                monitor builtin command help
history             monitor command history
meminfo             main memory information
repeat              repeat a monitor command
reset               system reset
set                 display the monitor variables
stack               produce a stack trace
sync                write monitor environment to NVRAM
sysret              print out info from last system return
unalias             unset an alias
unset               unset a monitor variable
xmodem              x/ymodem image download
rommon 2 >

System Bootstrap, Version 11.3(2)XA4, RELEASE SOFTWARE (fc1)

Набор команд режима ROM-монитора данного маршрутизатора аналогичен набору команд маршрутизатора Cisco 3640, с одним дополнением - появилась команда tftpdnld - tftp image download.

Пример восстановления пароля на маршрутизаторах Cisco 2514, 2611, 3640.

Для восстановления пароля входа в привилегированный режим необходимо выполнить следующее:

  1. Изменить значение регистра конфигурации
  2. Перезагрузить маршрутизатор
  3. После перезагрузки маршрутизатор предлагает войти в режим конфигурационного диалога:
    Would you like to enter the initial configuration dialog? [yes/no]: n
    Отвечаем обычно no и попадаем в пользовательский режим:
    Router>
  4. По команде enable без всякого пароля входим в привилегированный режим:
    Router>enable
    Router#

    Вот и получили то, что хотели!

Следующим шагом восстановим прежнее значение конфигурационного регистра. Делается это из режима конфигурации при помощи команды config-register:

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

После восстановления конфигурации следует обратить внимание на то, что все рабочие интерфейсы находятся в состоянии administratively down. Это даже не смотря на то, что в первоначальной конфигурации для интерфейсов не было состояния shutdown. Убедимся в этом, просмотрев листинг загрузки маршрутизатора. Приведу пример для Cisco 2611:

  00:00:35: %LINK-5-CHANGED: Interface Ethernet0/0, changed state to administratively down
00:00:35: %LINK-5-CHANGED: Interface Serial0/0, changed state to administratively down
00:00:35: %LINK-5-CHANGED: Interface Ethernet0/1, changed state to administratively down
00:00:35: %LINK-5-CHANGED: Interface Serial0/1, changed state to administratively down

Поэтому для полного восстановления работоспособности маршрутизатора необходимо вывести необходимые порты из состояния shutdown, например:

Теперь можно ввести новый пароль для входа в привилегированный режим, запомнить его, чтобы никогда больше не забывать, сохранить все изменения командой write.

Процесс загрузки IOS во flash маршрутизатора из режима ROM-монитора.

Еще только начиная работать с маршрутизаторами и проводя с ними многочисленные эксперименты, мне приходилось загружать IOS, находясь в режиме ROM-монитора. Удалив однажды IOS из flash-памяти маршрутизатора Cisco 2611 при помощи команды delete мне не удалось его восстановить, хотя на самом деле IOS не удалается совсем. Порядок моих действий был следующий:

Полностью удалить IOS и очистить flash-память можно командой erase:

Найти способ восстановить IOS во flash-памяти маршрутизатора Cisco 2611 мне не удалось. Команды undelete в данной версии операционной системы не оказалось. Пришлось перезагрузиться и войти в режим ROM-монитора. Для текущей версии Bootstrap - Version 11.3(2)XA4, RELEASE SOFTWARE (fc1), как уже выше отмечалось, существует интересная команда tftpdnld - tftp image download.

rommon 1 > tftpdnld ?

usage: tftpdnld [-r]
  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=7)
          TFTP_TIMEOUT: Overall timeout of operation in seconds (default=7200)
         TFTP_CHECKSUM: Perform checksum test on image, 0=no, 1=yes (default=1)

  Command line options:
   -r: do not write flash, load to DRAM only and launch image
rommon 2 >

Из листинга помощи по данной команде становится ясно, что необходимо установить некоторые переменные, чтобы команда tftpdnld смогла заработать. Это делается командой set. Она выводит уже установленные переменные, затем сразу же надо вводить новые и сохранить все изменения командой sync. Все параметры, причем, сохраняются в NVRAM.

rommon 2 > set
PS1=rommon ! >
BOOT=
?=0
rommon 3 >

rommon 3 > IP_ADDRESS=10.46.12.126
rommon 4 > IP_SUBNET_MASK=255.255.255.0
rommon 5 > DEFAULT_GATEWAY=10.46.12.28
rommon 6 > TFTP_SERVER=10.46.12.73
rommon 7 > TFTP_FILE=c2600-ds-mz.120-16.bin

rommon 8 > set
PS1=rommon ! >
IP_ADDRESS=10.46.12.126
IP_SUBNET_MASK=255.255.255.0
DEFAULT_GATEWAY=10.46.12.28
TFTP_SERVER=10.46.12.73
TFTP_FILE=c2600-ds-mz.120-16.bin
BOOT=
?=0
rommon 9 >

rommon 10 > sync

Следующим шагом будет загрузка IOS во flash-память командой tftpdnld. После перезагрузки маршрутизатор работает в обычном режиме. IOS лежит во flash-памяти.

rommon 11 > tftpdnld

          IP_ADDRESS: 10.46.12.126
      IP_SUBNET_MASK: 255.255.255.0
     DEFAULT_GATEWAY: 10.46.0.28
         TFTP_SERVER: 10.46.12.73
           TFTP_FILE: c2600-ds-mz.120-16.bin

Invoke this command for disaster recovery only.
WARNING: all existing data in all partitions on flash will be lost!
Do you wish to continue? y/n:  [n]:  y
...
Receiving c2600-ds-mz.120-16.bin from 10.46.12.73 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!........!!!!!!!
File reception completed.
Copying file c2600-ds-mz.120-16.bin to flash.
Erasing flash at 0x607c0000
program flash location 0x60560000

Если же команду tftpdnld выполнить с параметром -r, то IOS загрузится в ОЗУ без записи во flash, поэтому после перезагрузки маршрутизатора необходимо будет скопировать IOS во flash-память из какого-либо доступного источника.

Главная Архив статей Теория, практика, примеры конфигураций Словарь терминов
Rambler's Top100 TopList be number one нЕУОСКФ НЕЗЪНЗЛЮ ъНВИWeb

Created 2001 by Евгений
Copyright Pyramids Telecomm 2001