Заказывать надо продукт с номером, заканчивающимся на знак равенства.
Номер продукта определяется так:
начинается на SF и НЕ кончается на знак
равенства - первоначальная загрузка на фабрике
начинается на SF и
зканчивается на знак равенства - upgrade для Cisco 1003, 1004, 1005 для загрузки
во Flash
начинается на CD и заканчивается на знак равенства - upgrade для
устройства, которое пока содержит пакет (feature set) только IP;
начинается
на SW и НЕ заканчивается на знак равенства - для загрузки в новую систему;
начинается на SW и заканчивается на знак равенства - upgrade для системы,
поставленной ранее на ROM или дискетте;
начинается на FR - лицензия на
использование;
начинается на SWR и заканчвается на знак равенства - запасной
софт, поставляемый на ROM для Cisco 7000.
Поставка осуществляется в виде пакетов возможностей (feature packs) - CD-ROM с одним или несколькими образами IOS и инсталляционной программой для MS Windows 95, инструкция по установке (в т.ч. использование TFTP вместо инсталляционной программы), лицензия, CD-ROM с документацией.
Вынимаем железку, подключаем терминал (или PC с TELEMATE) к консольному порту (или вспомогательный порт ранее сконфигурированной киски и заходим обратным телнетом), все нужные нам кабели (синхронный, Ethernet, модемы), включаем питание и начинаем конфигурирование. При первом включении IOS пытается скачать конфигурацию из глобальной сети - можно подождать несколько минут, чтобы дать ей понять, что на том конце ничего нет, или временно отсоединить синхронный кабель. Потерпев неудачу, IOS предлагает выполнить команду setup - соглашайтесь! В этом случае IOS задает вам несколько вопросов и самостоятельно конфигурируется.
Конфигурирование осуществляется следующими способами:
командный
интерфейс:
telnet имя-киски
имя-киски>
с терминала: conf term
NVRAM: conf memory
из сети: conf network
через WWW (начиная с версии 11.0(6), 11.1(5), не все
возможности): ip http server
ClickStart (стандартные конфигурации).
Общие сведения о командном языке:
help - в любой момент можно ввести »?»
- киска в ответ выдаст список команд или операндов;
любое ключевое слово или
имя можно сокращать до минимально возможного;
если терминал нормально
настроен, то можно редактировать командную строку как в emacs или bash.
почти каждую команду можно предварять словом no.
Уровни привилегий: предусмотрено 16 уровней привилегий - от 0 до 15. Если не
производить дополнительной настройки, то уровень 0 - это уровень пользователя:
доступны только «безопасные» команды. Уровень 15 - это уровень супервизора:
доступны все команды. Переходим с уровня на уровень по команде:
enable [номер
уровня]
Любую команду можно перевести на уровень, отличный от стандартного;
любому пользователю можно назначить определенный уровень, устанавливаемый при
входе на киску этого пользователя; таким образом права пользователей можно тонко
настраивать (только help-ом при этом тяжело пользоваться :(
Режимы командного языка:
1.Режим пользователя
2.Привилегированный
режим:
a)ROM монитор (нажать break в первые 60 секунд загрузки, тоже есть
help).
b)верхний уровень
c)режим глобальной конфигурации:
собственно
верхний уровень конфигурирования
конфигурирование интерфейса
конфигурирование контроллера (T1)
конфигурирование хаба (cisco 2500 -
ethernet)
конфигурирование списка карт (ATM и FrameRelay)
конфигурирование класса карт (Quality of Service over Switched Virtual
Circuit - ATM, FrameRelay или dialer)
конфигурирование линий
конфигурирование маршрутизатора (bgp, egp, igrp, eigrp, is-is, iso-igrp,
mobile, OSPF, RIP, static)
конфигурирование IPX-маршрутизатора
конфигурирование карт маршрутизатора
конфигурирование ключевых цепочек с
его подрежимами (RIP authentication)
конфигурирование генератора отчетов о
времени ответа
конфигурирование БД LANE (ATM)
режим команд APPN с его
подрежимами (advance peer-to-peer Networking - второе поколение SNA)
режим
команд присоединения канала IBM с его подрежимами (Cisco 7000 с CIP)
режим
команд сервера TN3270
конфигурирование списков доступа (для именованых IP
ACL)
режим шестнадцатеричного
ввода (задание публичного ключа для шифровки)
конфигурирование карт шифровки
Комментарии начинаются с восклицательного знака, но в 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
На киске работает ТРИ программы: ROM монитор (это загрузчик и отладчик - тупой до безобразия - попадаем в него если соответствующим образом установлен регистр конфигурации или нажал BREAK во время загрузки и это не запрещено); система в ROM (урезанная и очень старая система IOS - 9.1 - если не удалось найти более подходящую во флэш или по сети или ручная загрузка из ROM монитора) и система во флэш - версия, которуя сам поставил.
Посмотреть, что там лежит: 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, который задает все необходимые вопросы, затем перезапускает киску из ROMа, стирает флэш, копирует файл с 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) образуют поле загрузки:
0-0-0-0 загрузить ROM-монитор
вместо IOS
0-0-0-1 загрузить boot ROM
если между 0-0-1-0 и 1-1-1-1 то
грузить то, что задано командой boot system (если ничего не задано, то грузить
файл с сетевого сервера с именем определяемым по умолчанию: имя формаируется
исходя из значения регистра). Можно задать несколько команд boot system. Только
не надо задавать имя файла в boot system flash (все равно он ровно один, а то
после прошивки новой версии IOS загрузчик будет упрямо искать старый файл).
Файл конфигурации сети (по умолчанию имя файла: network-config):
boot
network [tftp] имя-файла [ip-адрес]
service config
Файл конфигурации хоста (по умолчанию имя файла: network-config):
boot
host [tftp] имя-файла [ip-адрес]
service config
Перезагрузка:
просто перезагрузка
reload
перезагрузка в
определенное время:
reload at hh:mm [month day] [reason]
перезагрузка
через определенное время:
reload in [hh:]mm [reason]
отмена отложенной
перезагрузки:
reload cancel
Часы (сбрасываются даже при перезагрузке на 1 марта 1993 года) хранятся в
формате UTC (Coordinated Universal Time) - то же самое, что и GMT. Используются
протоколы NTP (прием и передача - включен по умолчанию - при перезагрузке и при
выключении на пару минут время сохраняется), SNTP на кисках серии 1000 (только
прием - выключен по умолчанию).
посмотреть
show clock [detail]
установить вручную
clock set hh:mm:ss день месяц год
аутентификация
NTP:
ntp authenticate - включить
ntp authentication-key number md value
- задать значение ключа
ntp trusted-key номер-ключа - знающий этот ключ
может синхронизовать нас
определить соседей:
ntp peer ip-address [version
номер] [key номер-ключа][source интерфейс] [prefer]
определить
сервер:
ntp server ip-address [version номер] [key номер-ключа][source
интерфейс] [prefer]
широковещательная рассылка
ntp broadcast [version
версия]
получать широковещательную рассылку
ntp broadcast client
установить предполагаемое значение задержки при широковещательной
рассылке
ntp broadcastdelay микросекунд
управление доступом (номер
ACL задается базовой командой
access-list)(по умолчанию все разрешено, даже синхронизация с незнакомыми
системами)
ntp access-group query-only/serve-only/serve/peer номер-ACL
запретить NTP сервис на
определенном интерфейсе
ntp disable
если киска имеет несколько IP-адресов
то можно определить исходный IP-адрес в NTP-пакетах
ntp source интерфейс
определить киску как властный источник времени, даже если она не
синхронизована с внешним миром
ntp master [слой]
посмотреть
статус
show ntp status
посмотреть список соседей
show ntp associations
[detail]
откуда SNTP будет запрашивать NTP пакеты
sntp server адрес
[version версия]
SNTP будет брать NTP пакеты из широковещательных
потоков
sntp broadcast client
посмотреть сосотояние SNTP (Cisco
100x)
show sntp
задать часовой пояс
clock timezone имя(MSK)
смещение(3)
задать летнее время (по правилам) (last Sun Mar 2:00 last Sun
Sep 2:00)
clock summer-time имя(MSD) recurring first/last/номер-недели-начала
день-недели месяц hh:mm first/last/номер-недели-окончания день-недели месяц
hh:mm [смещение-в-минутах]
задать летнее время непосредственно
clock
summer-time имя месяц-начала день год hh:mm месяц-окончания день год hh:mm
[смещение-в-минутах]
предоставлять содержимое флэша (там лежит не обязательно IOS):
tftp-server
flash имя-файла [alias синоним] [acl]
предоставлять содержимое ROMа (можно
одновременно с флэш):
tftp-server rom имя-файла [alias синоним] [acl]
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
Групповая конфигурация (столько предупреждений об ошибках, что лучше и не
трогать - в версии 11.1(22) все прерасно работает)
определение
группы:
interface group-async unit-number
общие команды
member номер
индивидуальная-команда
group-range low-number high-number - тут же начинается
построение конфигурации
multilink PPP через последовательные асинхронные
порты
Конфигурация cisco в качестве принимающей стороны для multilink PPP на две линии, с той стороны Zyxel Prestige 153, я пытаюсь сохранить старые адреса в локальной сетке:
username имя password пароль
interface Ethernet 0
ip address
адрес-соответствующий-той-стороне маска
ip address адрес-в-локальной-сетке
маска secondary
interface Group-Async 1
mtu 1104
no ip
address
encapsulation ppp
no ip route-cache
no ip
mroute-cache
bandwidth 112
keepalive 10
async mode dedicated
dialer
in-band
dialer rotary-group 0
no fair-queue
no cdp enable
group
range 7 8
interface Dialer 0
mtu 1104 # 552* количество линий
ip
unnumbered Ethernet0 # у меня нет адресного пространства под связующую
сетку
no ip tcp header-compression # ругается, что несовместим с
multilink
encapsulation ppp
no ip route-cache
no ip mroute-cache
no
peer default ip address
dialer in-band
dialer idle-timeout
2147000
dialer-group 1
no fair-queue
no cdp enable
ppp
negotiation-timeout 90
ppp authentication pap
ppp multilink
ip route
0.0.0.0 0.0.0.0 адрес-P153 # если единственный выход в свет через этот
линк
ip route адрес-сетки-соединенной-через-MPPP маска
адрес-ethernet-интерфейса-P153
ip route адрес-ethernet-интерфейса-P153
255.255.255.255 Dialer0 permanent
dialer-list 1 protocol ip permit
line 7
8
exec-timeout 0 0
modem InOut
transport preferred
none
escape-character NONE
telnet break-on-ip
telnet
transparent
stopbits 1
rxspeed 115200
txspeed 115200
flowcontrol
hardware
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 секунд - какую паузу сделать при пропадании несущей
Для чего это надо:
многопротокольная локальная сеть через
однопротокольный бэкбон
для обхода протоколов ограничивающих число
промежуточных узлов
виртуальные частные сети через WAN
Компоненты:
протокол-пассажир
протокол-носитель
протокол
инкапсуляции (обычно GRE, остальные в исключительных случаях)
Предупреждения:
большая загрузка CPU
возможное нарушение безопасности
увеличение времени задержки
множественные тунели могут забить канал
информацией о маршрутах
протокол маршрутизации может предпочесть тунель как
якобы самый короткий маршрут
появление рекурсивных маршрутов
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 номер
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(22) вроде работает, но, похоже, со временем отъедает память.
Пример конфигурации с коментариями.
service tcp-small-servers # позволяет киске отвечать на всякие мелкие запросы
типа echo, chargen и т.д.
hostname cat2511-wb # имя киски, выдается в
приглашении и ,наверное, где-то еще
clock timezone MSK 3 # временная
зона
clock summer-time MSD recurring last Sun Mar 2:00 last Sun Oct 2:00 #
летнее время
enable secret <шифрованный пароль> # зашифрованный пароль
суперпользователя
enable password <нешифрованный пароль> # не
используется, если есть шифрованный
ip tcp path-mtu-discovery #
автоматическая настройка на размер MTU
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 к другому
interface Serial0 #
начинаем конфигурировать синхронный последовательный порт
no ip address # нет
у нас его
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 # начинаем
конфигурирование консольного порта
exec-timeout 0 0 # отключаем
тайм-аут
line 1 16 # начинаем конфигурацию асинхронных последовательных
портов
exec-timeout 0 0 # отключаем тайм-аут
modem InOut # отрабатывать
модемные сигналы
autocommand telnet 194.84.39.28 # при входе на линию, киска
насильно выдает команду telnet…, что не позволяет пользователю делать что-либо
еще (если, конечно, не знаешь как из этого выйти)
transport input none # не
позволяет звонить с наших модемов (зайдя на линию обратным
телнетом)
transport preferred none # на всякий случай
escape-character
NONE # не позволяет выйти из telnet'а
stopbits 1
rxspeed 115200 # скорость
между модемом и киской
txspeed 115200 # скорость между киской и
модемом
flowcontrol hardware
exit # выход из конфигурирования
порта
line aux 0 # конфигурирование вспомогательного асинхронного
последовательного порта
transport input all # может быть сюда будет
подключена консоль другой киски
exit # выход из конфигурирования
порта
line vty 0 4 # конфигирирование виртуальных терминалов (на них мы
попадаем, когда заходим телнетом на киску)
exec-timeout 0 0 # отключаем
тайм-аут
password <пароль> # пароль линии; к сожалению, не
шифрованный
login # киска будет спрашивать пароль при заходе на эту линию (в
данном случае телнетом)
exit # выход из конфигурирования порта
послать Break в первые 60 секунд после включения питания
изменить
регистры загрузки
> confreg 0×141 (для 1000/1600/3600/4500)
> o/r 0×141 (для 2500/4000)
сброс
> reset (для
1000/1600/3600/4500)
> i(для 2500/4000)
initial conf dialog? n
Router(boot)> enable
Router(boot)# copy start run (если была включена
authorisation, то конфигурировать придется с нуля :(
# config term
(config)# enable secret новый_пароль
(config)# config-reg 0×2102
(config)# end
(boot)# copy run start
(boot)#
reload
То, естественно, хочется нагрузить их оба. Но делать настоящую маршрутизацию
(AS, LIR) лениво и дорого. Простейший метод состоит в том, чтобы поделить все
свои компьютеры на две группы. Одной группе дать адреса от одного провайдера
(194.1.1.0), другой - от второго (195.2.2.0). И обеспечить разделение потоков
через policy routing.
ip access-list extended provider1-source
permit ip
194.1.1.0 0.0.0.255 any
deny ip any any
route-map provider1-out permit
10
match ip address provider1-source
set default interface
Serial0
interface Ethernet0
ip policy route-map provider1-out
ip route
0.0.0.0 0.0.0.0 Serial1
Все команды debug вводятся в привилегированном режиме.
Отмена отладочной
печати: no debug …
Отменить всю отладочную печать: no debug all
Посмотреть какая отладочная печать включена: show debugging