Я рассматриваю только младшие серии (Cisco 2500, AS5100), про ATM ни слова, про ИБМ протоколы тоже)(потребности в памяти даны для Cisco 2500 - исполнение из флэша)(RMON alarm and events реализованы даже для наборов, в которых нет RMON):
11.1(10)
более старые модификации я не рассматриваю, но количество их впечатляет Наборы возможностей (feature set) для версии 11.0(16)(у меня есть только 11.0(14))
Рассматривается только Cisco 2500 (все очень похоже на 11.1, потребности в памяти даны для Cisco 2500 - исполнение из флэша) :
11.0(16):
11.0(14):
11.0(13):
11.0(12):
11.0(11) и ранее:
Для версии 11.2 параллельно ведутся 3 ветки: 11.2 (наиболее стабильная, только исправления ошибок), 11.2 P (исправление ошибок и новое оборудование), 11.2 F (исправление ошибок, новое оборудование и межплатформенная совместимость).
Требования к памяти (для версии 11.2 Cisco 2500):
Имена файлов см. в http://www.cisco.com/univercd/data/doc/software/11_2/relnotes/rn112.htm
| Image Name in Release 11.1 or Earlier | Image Name in Release 11.2 | |
|---|---|---|
| Cisco 1005 | ||
|
c1005-bny-mz | |
|
c1005-by-mz | |
|
c1005-ny-mz | |
|
c1005-y-mz | |
|
c1005-y2-mz | |
| Cisco 2500 Series | ||
| IP/IPX/IBM/APPN |
|
c2500-ainr-l |
| Enterprise/APPN |
|
c2500-ajs-l |
|
c2500-c-l | |
| Desktop |
|
c2500-d-l |
| Desktop/IBM Base |
|
c2500-ds-l |
|
c2500-f-l | |
|
c2500-fin-l | |
| ISDN |
|
c2500-g-l |
| IP |
|
c2500-i-l |
| IP/RMON |
|
c2500-is-l |
| IP/IPX/RMON |
|
c2500-ds-l |
| IP/IPX/IBM/RMON |
|
c2500-ds-l |
| IP/IBM/RMON |
|
c2500-is-l |
| IP/IPX |
|
c2500-d-l |
| IP/IBM Base |
|
c2500-is-l |
| IP/IPX/IBM base |
|
c2500-ds-l |
| Enterprise/RMON |
|
c2500-js-l |
| Enterprise |
|
c2500-j-l |
| Cisco AS5200 | ||
|
c5200-is-l | |
|
c5200-ds-l | |
|
c5200-js-l | |
| Cisco 4000 Series | ||
|
c4000-ainr-mz | |
|
c4000-ajs-mz | |
|
c4000-d-mz | |
|
c4000-ds-mz | |
|
c4000-is-mz | |
|
c4000-d-mz | |
|
c4000-ds-mz | |
|
c4000-is-mz | |
|
c4000-j-mz | |
| Cisco 4500 Series | ||
|
c4500-ajs-mz | |
|
c4500-ds-mz | |
|
c4500-is-mz | |
|
c4500-d-mz | |
|
c4500-ds-mz | |
| Cisco 7000 Series | ||
|
c7000-aj-mz | |
|
c7000-ajv-mz | |
|
c7000-jv-mz | |
|
c7000-j-mz | |
| Cisco 7200 Series | ||
|
c7200-ajs-mz | |
|
c7200-ds-mz | |
|
c7200-js-mz | |
| Cisco 7500 Series and Cisco 7000 with RSP7000 | ||
|
rsp-ajsv-mz | |
|
rsp-jsv-mz | |
|
rsp-ajsv-mz | |
|
rsp-jsv-mz |
Каждый набор может иметь 4 модификации: базовая, расширенная (PLUS), шифровка 40 бит, шифровка 56 бит (не на каждой платформе возможны определенные пакеты и их модификации):
Для Cisco 1000 и 1600 (только 11.1 и 11.2):
Для Cisco 1005:
Для Cisco 2500 и AS5100 дополнительно:
11.2(7):
11.2(6):
11.2(5):
11.2(4) и ниже:
Новое в версии 11.0 (начиная с 11.0(11) только исправляются ошибки):
Новое в версии 11.1 (начиная с 11.1(6) только исправляются ошибки):
Новое в версии 11.2:
Заказывать надо продукт с номером, заканчивающимся на знак равенства.
IOS можно заказать в трех формах:
Номер продукта определяется так:
Поставка осуществляется в виде пакетов возможностей (feature packs) - CD-ROM с одним или несколькими образами IOS и инсталляционной программой для MS Windows 95, инструкция по установке (в т.ч. использование TFTP вместо инсталляционной программы), лицензия, CD-ROM с документацией.
а а аНа наших маршрутизаторах стоит IOS версии 11.1 (12) на внутренних и 11.2(5) на внешней, хотя уже выпущена 11.2(7a) 18-jul-97 - ана внутренних не хватает флэша под версию 11.2.
а а аВынимаем железку, подключаем терминал (или PC с TELEMATE) к консольному порту (или вспомогательный порт ранее сконфигурированной киски и заходим обратным телнетом), все нужные нам кабели (синхронный, Ethernet, модемы), включаем питание и начинаем конфигурирование. При первом включении IOS пытается скачать конфигурацию из глобальной сети - можно подождать несколько минут, чтобы дать ей понять, что на том конце ничего нет, или временно отсоединить синхронный кабель. Потерпев неудачу, IOS предлагает выполнить команду setup - соглашайтесь! В этом случае IOS задает вам несколько вопросов и самостоятельно конфигурируется.
Конфигурирование осуществляется следующими способами:
а аОбщие сведения о командном языке:
а аУровни привилегий:
предусмотрено 16 уровней
привилегий - от 0 до 15. Если не
производить
дополнительной настройки, то уровень 0 - это
уровень
пользователя: доступны только
"безопасные" команды. Уровень 15 - это
уровень
супервизора: доступны все команды.
Переходим с уровня на уровень по
команде:
а аепable [номер уровня]
Любую команду можно
перевести на уровень, отличный от
стандартного; любому
пользователю можно
назначить
определенный уровень,
устанавливаемый при входе на киску этого
пользователя; таким образом права
пользователей можно тонко
настраивать (только help-ом при этом тяжело
пользоваться :(
Режимы командного языка:
Комментарии начинаются с восклицательного знака, но в NVRAM не сохраняются.
Задать размер истории команд: terminal history size размер
Предыдущая/следующая команда: Ctrl-P/Ctrl-N или sстрелка вверх/вниз
Включить/выключить
редактирование:
[no] terminal editing
символ вперед/назад: Ctrl-F/Ctrl-B или стрелка вперед/назад
в начало/конец строки: Ctrl-A/Ctrl-E
на слово вперед/назад: Esc F/Esc B
развертывание команды: Tab или Ctrl-I
вспомнить из буфера/вспомнить следующий: Ctrl-Y/Esc Y
удалить символ слева от курсора/под курсором: Delete/Ctrl-D
удалить все символы до начала строки/конца строки: Ctrl-U/Ctrl-K
удалить слово слева от курсора/справа от курсора: Ctrl-W/Esc D
перерисовать строку: Ctrl-L/Ctrl-R
поменять символы местами: Ctrl-T
экранирование символа: Ctrl-V или Esc Q Работа с флэш-памятью (в ней лежит и из нее выполняется IOS) и NVRAM (конфигурация)
На киске работает ТРИ программы: ROM монитор (это загрузчик и отладчик - тупой до безобразия - попадаем в него если соответствующим образом установлен регистр конфигурации или нажал BREAK во время загрузки и это не запрещено); система в ROM (урезанная и очень старая система IOS - 9.1 - если не удалось найти более подходящую во флэш или по сети или ручная загрузка из ROM монитора) и система во флэш - версия, которуя сам поставил.
В руководстве делается предупреждение, что на Sun'е сервер TFTP должен быть настроен так, чтобы генерировать и проверять контрольные суммы UDP (я ничего не делал). Везде вместо TFTP можно использовать rcp (rsh), но мне лениво следить за безопасностью в этом случае.
Посмотреть, что там лежит: show flash all
System flash directory:
File Length Name/status
addr fcksum ccksum
1 3243752 igs-i-l.110-1
0x40 0xB5C4 0xB5C4
[3243816 bytes used, 950488 available, 4194304 total]
4096K bytes of processor board System flash (Read ONLY)
Chip Bank Code Size Name
1 1 89A2 1024KB INTEL 28F008SA
2 1 89A2 1024KB INTEL 28F008SA
3 1 89A2 1024KB INTEL 28F008SA
4 1 89A2 1024KB INTEL 28F008SA
Executing current image from System flash
Иметь два файла во флэш можно только, если имеется два банка памяти (у меня нет) и выполнить специальную процедуру (IOS надо настроить адреса - выполняется-то она из флэша!). Буква l в имени файла как раз и означает, что адреса можно настроить.
Посмотреть, сколько раз туда чего записывали: show flash err (по-моему, ерунду показывает).
Копировать из флэш на tftp: copy flash tftp, после чего спросят имя сервера, исходное аимя файла и результатирующее имя файла (файл должен существовать с правами 666).
Копировать конфигурацию на tftp: copy startup-config/running-config tftp
Загрузить конфигурацию с tftp: copy tftp startup-config/running-config (по-моему, если грузить текущую конфигурацию, то происходит не копирование, а слияние).
Копировать из tftp во флэш (если достаточно памяти!!!): copy tftp flash
Понятное дело, что если IOS выполняется из флэш, то грузить новое содержимое флэша во время работы IOS не стоит, надо загрузиться из ROM (либо нажав Break при загрузке, либо выдав no boot system flash).
Черта-с два! На самом деле все не так как в книжке. Надо выдать copy tftp flash прямо из IOS (ибо в bootstrap такой команды нет вовсе), будет запущен flash load helper, который задает все необходимые вопросы, затем перезапускает киску из ROМа, стирает флэш, копирует файл с tftp (заходить только с консоли - иначе ничего не увидишь, и об ошибках не узнаешь ;). После этого надо сохранить конфигурацию (copy run start). А все-таки интересно, как выбираться из ситуации, если что-то получилось не так. Кстати, рекомендуется сохранить конфигурацию куда-нибудь на tftp перед изменением флэша. p.s. все-таки можно было бы сделать и загрузившись из ROM (только не ROM монитор, а ROM IOS), если задать в регистре конфигурации младшие 4 бита равными 0-0-0-1.
Копирование текущей конфигурации в загрузочную: copy run start
Копирование загрузочной конфигурации в текущую: copy start run
Посмотреть состояние: show version
Проверить контрольную сумму: verify flash
Сжатие конфигурационного файла работает только на Cisco 3xxx и Cisco 7xxx.
Повторно выполнить конфигурационный файл: configure memory
Очистить конфигурацию: erase startup
Посмотреть текущую/загрузочную конфигурацию: show run/start
В NVRAM записываются только параметры, отличные от параметров по умолчанию.
Регистр конфигурации: 16 бит. Меняется командой: config-register. Младшие 4 бита (3,2,1, и 0) образуют поле загрузки:
Файл
конфигурации сети (по
умолчанию имя файла: network-config):
boot network [tftp]
имя-файла
[ip-адрес]
service config
Файл
конфигурации хоста (по
умолчанию имя файла: network-config):
boot host [tftp]
имя-файла
[ip-адрес]
service config
Перезагрузка:
ClickStart: конфигурирование Cisco 1003, 1004 и 1005 через WWW (однопортовые ISDN, Frame Relay и асинхронные маршрутизаторы).
AutoInstall: включаешь новый маршрутизатор, он ишет сконфигурированный ранее маршрутизатор (Ethernet, FDDI, HDLC, Frame Relay) - требуется такое количество предварительной подготовки, что легче все сделать вручную (если только не надо установить сотню кисок).
Setup: интерактивная установка параметров. Требует подключения консольного терминала (я использую AUX порт соседней киски).
Еще бывает sreamline setup (если установлен RXBOOT ROM) и возникают непреодолимые проблемы: задает минимум вопросов необходимых, чтобы найти загрузочный образ и файл с конфигурацией.
Часы (сбрасываются даже при перезагрузке на 1 марта 1993 года) хранятся в формате UTC (Coordinated Universal Time) - то же самое, что и GMT. Используются протоколы NTP (прием и передача - включен по умолчанию - при перезагрузке и при выключении на пару минут время сохраняется), SNTP ана кисках серии 1000 (только прием - выключен по умолчанию).
Запустить TFTP сервер на киске:
Запустить RARP
сервер на киске (чтобы это реально
использовать
необходимо выполнить кучу
дополнительных условий -
обеспечить broadcast UDP - ip forward-protocol udp 111,
заполнить таблицу аАRP
MAC-адресами клиентов, ip helper-adress
адрес-настоящего-сервера -
говорят, что проблемы возникли из-за
недоделанности rpc.bootparamd в SunOS - судя по
нашему принтеру так оно и есть):
cat(config-if)>ip rarp-server
ip-адрес-настоящего-сервера
rcp и rsh сервис:
HTTP-сервер (при входе в
качестве имени надо говорить имя киски, а
пароля - пароль
супервизора) - пользы от этого
никакой:
ip http server
ip http port 80
prompt строка -
изменение
стандартного
приглашения
hostname имя - имя
маршрутизатора
alias уровень-EXEC
имя-синоним
текст-команды -
создание
сокращений-синонимов команд
show aliases
[уровень-EXEC] -
посмотреть список
синонимов
load-interval секунд - длина
интервала вычисления средней
загрузки
description
строка-текста
hold-queue длина in/out -
задание размера буфера
bandwidth kilobits -
используется, например, для
настройки параметров TCP
delay
десятые-милисекунды -
информация для некоторых
протоколов
маршрутизации (или десятки
микросекунд)
keepalive секунд - как часто
посылать пкаеты для проверки
живучести линии (интерфейс
считается упавшим если в течении 3
интервалов не пришло ответа)
mtu байт
async: 8 штук на Cisco 2509, 16 штук на Cisco 2511, еще можно использовать AUX порт, но ОЧЕНЬ не советую (дефективная аппаратная реализация: скорость 38400, все на программном уровне - в том числе и синхронизация).
Саму физическую линию надо конфигурировать отдельно с помощью команды line.
Вход в режим
конфигурации
интерфейса:
interface async
номер-порта
Инкапсуляция: поддерживаются два метода инкапсуляции - SLIP и PPP. О SLIP мы забудем сразу же.
Режим:
интерактивный или жестко
настроенный (dedicated): ав
последнем случае не
запускается EXEC, так что нельзя
поменять адрес и другие
параметры:
async mode interactive/dedicated
Разрешить протоколы
динамической
маршрутизации:
async dynamic routing
Групповая конфигурация (столько предупреждений об ошибках, что лучше и не трогать)
hub ethernet number port
no shutdown
auto-polarity
link-test
source-address [MAC-address] -
пропускать только пакеты от этого MAC-адреса
interface loopback number
interface null 0
interface serial номер
encapsulation
atm-dxi/hdlc/frame-relay/ppp/sdlc-primary/sdlc-secondary/smds/stun/x25
- по умолчанию HDLC (есть
обнаружение ошибок, но нет повтора
неверно переданных данных)
compress stac - если
загрузка CPU превышает 65%, то
выключить
pulse-time секунд - какую паузу
сделать при
пропадании несущей
Для чего это надо:
Компоненты:
Предупреждения:
interface tunnel номер
тут должно быть описано каким
протоколам позволено
туннелироваться
tunnel source
ip-address-или-интерфейс
tunnel destination
ip-address-или-интерфейс
tunnel mode aurp/cayman/dvmrp/eon/gre ip/nos -
определяет протокол
инкапсуляции
tunnel checksum - все плохие пакеты будут
выкидываться (некоторые
протоколы требуют этого)
tunnel key номер - должны быть
одинаковы на обоих концах (слабая
защита)
tunnel sequence-datagramms -
отбрасывать пакеты,
пришедшие не в том порядке
(некоторые протоколы требуют этого)
show async status
show interface async
номер
show compress
show controller
имя-контроллера
show interface accounting
show interface тип
номер
clear counters тип
номер
show protocols
show version
clear interface тип
номер
clear line номер
shutdown
no shutdown
down-when-looped - считать
интерфейс упавшим, если на нем включен loopback
(необходимо для backup)
ip address-pool local
ip local pool default
начальный-ip-адрес
конечный-ip-адрес
interface Group-Async1
ip unnumbered Ethernet0
ip tcp header-compression passive
encapsulation ppp
bandwidth 112
delay 20000
keepalive 10
async mode interactive
no cdp enable
здесь я еще говорил: peer default ip address pool, но
она куда-то делась
(по-умолчанию небось)
group-range 1 16
если чей-то адрес надо задать явно, то скажи:
member номер peer default ip address
IP-адрес
в версии 11.0(1) не работала, в версии 11.1(12) вроде работает
а а аПример конфигурации с коментариями.
а аservice tcp-small-servers #
позволяет киске отвечать на всякие мелкие
запросы типа echo, chargen и т.д.
а аhostname cat2511-wb # имя киски,
выдается в
приглашении и ,наверное, где-то еще
а асlock timezone MSK 3 #
временная зона
а асlock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00 #
летнее время
а аепable secret <шифрованный пароль> #
зашифрованный пароль
суперпользователя
а аепable password <нешифрованный пароль> # не
используется, если есть
шифрованный
а аip subnet-zero # не
разбирался
а аip tcp synwait-time 120 #
зачем это
а аip tcp path-mtu-discovery #
автоматическая настройка на размер MTU
а аip accounting-threshold 256 # не
разбирался
а аip accounting-list 194.84.39.0 0.0.0.255 #
не
разбирался
а аinterface Ethernet0 # начинаем
конфигурировать порт Ethernet
а аip address 194.84.39.24 255.255.255.224 # IP
адрес и маска ethernet-порта
(основной адрес киски)
а аip address 194.87.163.24 255.255.255.224 secondary #
если у нас два блока IP-адресов (что у нас было в
момент перехода от одного ISP к
другому
а аехit # выход из
конфигурирования Ethernet
а аinterface Serial0 # начинаем
конфигурировать
синхронный
последовательный порт
а апo ip address # нет у нас его
а аshutdown # -//-
а аехit # выход из
конфигурирования порта
а аinterface Serial1 # начинаем
конфигурировать
синхронный
последовательный порт
а апo ip address # нет у нас его
а аshutdown # -//-
а аехit # выход из
конфигурирования порта
а аip domain-name deol.ru. # имя нашего
домена
а аip name-server 194.84.39.28 # адрес
DNS-сервера (может быть до 6 штук)
а аip route 0.0.0.0 0.0.0.0 194.84.39.26 #
маршрут по умолчанию (все, что не на наших
портах, передаем на более "умную" киску
а аsnmp-server community public RO #
разрешаем SNMP
управление (только чтение)
а аline con 0 # начинаем
конфигурирование
консольного порта
а аехec-timeout 0 0 #
отключаем тайм-аут
а аехit # выход из
конфигурирования порта
а аline 1 16 # начинаем
конфигурацию
асинхронных
последовательных портов
а аехec-timeout 0 0 #
отключаем тайм-аут
а амodem InOut #
отрабатывать модемные сигналы
а ааиtocommand telnet 194.84.39.28 # при входе на
линию, киска насильно выдает команду telnet..., что не
позволяет
пользователю делать что-либо еще (если,
конечно, не знаешь как из этого выйти)
а аtransport input none # не
позволяет звонить с наших модемов (зайдя на линию
обратным телнетом)
а аtransport preferred none # ана всякий
случай
а аеscape-character NONE # не
позволяет выйти из telnet'а
а аstopbits 1
а аrxspeed 115200 # скорость между
модемом и киской
а аtxspeed 115200 # скорость между киской и
модемом
а аflowcontrol hardware
а аехit # выход из
конфигурирования порта
а аline aux 0 #
конфигурирование
вспомогательного
асинхронного
последовательного порта
а аtransport input all # может быть сюда будет
подключена консоль другой киски
а аехit # выход из
конфигурирования порта
а аline vty 0 4 #
конфигирирование
виртуальных
терминалов (на них мы попадаем, когда
заходим телнетом на киску)
а аехec-timeout 0 0 #
отключаем тайм-аут
а арassword <пароль> # пароль линии; к
сожалению, не
шифрованный
а аlogin # киска будет
спрашивать пароль при заходе на эту линию (в
данном случае телнетом)
а аехit # выход из
конфигурирования порта
а а аСервер доступа (tacacs+) - это
программа, которая крутится на
UNIX-компьютере и отвечает на запросы киски типа: есть ли
такой
пользователь, какие у него права и ведет
журнал посещений. Как
конфигурировать сервер смотри
отдельную главу, а киска
конфигурируется так:
а ааaa new-model # будем
использовать tacacs+, а не старые
варианты
а ааaa authentication login default tacacs+ enable #
по-умолчанию проверяем каждый вход на линию с
помощью tacacs+ сервера, а если он не
отзывается, то
спрашиваем пароль
суперпользователя
а ааaa authentication ppp default if-needed none # при
включении PPP,
производим проверку
пользователя, если не
проверяли его раньше (может это уже
можно
выключить?)
а ааaa authorization exec tacacs+ if-authenticated #
проверяем права на запуск EXEC (shell так у киски
называется) с помощью сервера tacacs+, а если его нет, то
даем разрешение, если личность
пользователя
удостоверена - только
благодаря этой строчке tacacs+ сервер
возвращает
автокоманду (в нашем случае telnet или ppp)
а ааaa authorization commands 1 tacacs+ if-authenticated #
проверяем права на
исполнение команд уровня 1
(непривилегированных) с помощью сервера tacacs+, а если его
нет, то даем
разрешение, если личность
пользователя
удостоверена
а ааaa authorization commands 15 tacacs+ if-authenticated #
проверяем права на
исполнение команд уровня 15
(привилегированных) с помощью сервера tacacs+, а если его нет, то
даем разрешение, если личность
пользователя
удостоверена
аа aaa authorization network tacacs+ if-authenticated #
проверка прав, если кто-то лезет к нам по сети с
помощью сервера tacacs+, а если его нет, то даем
разрешение, если личность
пользователя
удостоверена
а ааaa accounting network stop-only tacacs+ #
посылаем учетную запись tacacs+ серверу в
случае окончания сетевого события
(завершение PPP-сеанса,
например)
а ааaa accounting connection stop-only tacacs+ # а
апосылаем учетную запись tacacs+
серверу в случае окончания
telnet-сеанса
а ааaa accounting system stop-only tacacs+ #
посылаем учетную запись tacacs+ серверу в
случае окончания
системного события (например,
перезагрузки)
а аеще должна работать команда: aaa authentication local-override
(если конечно перед ней завести
пользователя на киске username admin privilege 15 password <пароль>),
которая позволяет
использовать локальную базу
пользователей, но такие
пользователи
получаются абсолютно
бесправными (даже EXEC не могут
запустить :( Отлично! Я
использую это для запрета входа
пользователя bbs на киску с
быстрыми модемами, не
разбираясь с tacacs+
сервером.
а аtacacs-server host 194.84.39.28 # адрес
компьютера, на котором работает tacacs+
сервер
а аtacacs-server host 194.84.39.27 # адрес
компьютера, на котором работает
запасной tacacs+ сервера (в
реальности он не работает, но при
необходимости можно
запустить)
а аtacacs-server key <пароль> # ключ, с
помощью которого шифруются
сообщения между киской и tacacs+
сервером