es 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

Групповая конфигурация (столько предупреждений об ошибках, что лучше и не трогать)

  1. определение группы:
    interface group-async unit-number
    общие команды
    member номер индивидуальная-команда
    group-range low-number high-number - тут же начинается построение конфигурации

хаб (2505, 2507, 2516)

hub ethernet number port
no shutdown

auto-polarity
link-test
source-address [MAC-address]
- пропускать только пакеты от этого MAC-адреса

loopback (позволяет удержать BGP-сессию, даже если другие интерфейсы упадут)

interface loopback number

null (позволяет маршрутизировать все ненужное в /dev/null)

interface null 0

синхронный последовательный интерфейс (serial)

interface serial номер
encapsulation atm-dxi/hdlc/frame-relay/ppp/sdlc-primary/sdlc-secondary/smds/stun/x25 - по умолчанию HDLC (есть обнаружение ошибок, но нет повтора неверно переданных данных)
compress stac - если загрузка CPU превышает 65%, то выключить
pulse-time секунд - какую паузу сделать при пропадании несущей

тунель (инкапсуляция пакетов одного протокола внутри пакетов другого)

Для чего это надо:

  1. многопротокольная локальная сеть через однопротокольный бэкбон
  2. для обхода протоколов ограничивающих число промежуточных узлов
  3. виртуальные частные сети через WAN

Компоненты:

  1. протокол-пассажир
  2. протокол-носитель
  3. протокол инкапсуляции (обычно GRE, остальные в исключительных случаях)

Предупреждения:

  1. большая загрузка CPU
  2. возможное нарушение безопасности
  3. увеличение времени задержки
  4. множественные тунели могут забить канал информацией о маршрутах
  5. протокол маршрутизации может предпочесть тунель как якобы самый короткий маршрут
  6. появление рекурсивных маршрутов

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-адресов из локального пула и удержание их за пользователями

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+)

     Сервер доступа (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+ сервером конфигурирование PPP-доступа конфигурирование маршрута по умолчанию