Cisco IOS (Internetwork Operating System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:49, 31 октября 2017.
Cisco IOS
CiscoIOS.jpg
Разработчик Cisco Systems
Состояние разработки Поддерживается
Исходный код Закрытый исходный код
Последний релиз 15.6(3)M[Источник 1] / 31 июля 2016
Доступно в Английский
Платформы Сетевые коммутаторы и большинство маршрутизаторов Cisco
По умолчанию
пользовательский
интерфейс
Командная строка
Официальный веб-сайт Cisco IOS

Cisco IOS (от англ. Internetwork Operating System — Межсетевая Операционная Система) — семейство операционных систем, используемых в большинстве роутеров и коммутаторов производства Cisco Systems (ранние коммутаторы использовали CatOS). IOS - это комплекс для управления маршрутизаторами, коммутаторами, межсетевыми и телекоммуникационными функциями, интегрированный в мультизадачную операционную систему. Хотя IOS и базируется на ядре с совместной многозадачностью, многие функциональные возможности системы переносятся на другие ядра, такие как QNX и Linux для использования продуктов Cisco или использования симуляторов, например Cisco VIRL.

Не вся продукция Cisco использует IOS. Например, ASA использует систему на базе Linux и маршрутизаторы на IOS-XR.

Интерфейс

Командная строка IOS предоставляет фиксированный набор команд, доступ к которым зависит от прав доступа текущего пользователя. "Глобальный режим настройки" позволяет команды для изменения системных настроек, "режим настройки интерфейса" предоставляет команды для настройки конкретного интерфейса. Каждой команде присвоен уровень доступа от 0 до 15, поэтому они доступны только тем пользователям, у которых достаточно прав.

Большинство сборок IOS включают в себя интерпретаторы Tcl. Используя встроенный обработчик событий, интерпретатор можно запрограммировать на обработку ошибок и пр.

Доступные режимы: [Источник 2]

  • Пользовательский режим EXEC
  • Специальный режим EXEC
  • Глобальный режим настройки
  • Режим контроля ROM
  • Настроечный режим
  • и более 100 других режимов

Версии

Номер версии ОС Cisco IOS состоит из трех чисел и нескольких символов a.b(c.d)e, где [Источник 3]

  • a — старший номер версии.
  • b — младший номер версии.
  • c — номер релиза, начинающийся с единицы и возрастающий так же, как a.b.
  • d — (опускается в основных релизах) промежуточный номер сборки.
  • e — (ноль, один или две буквы) означает, что релиз не основной, а является дополнением

Ребилд – Сборка, в которой исправлена одна проблема или уязвимость в какой-либо определённой версии IOS. Ребилды нужны для быстрого исправления программных дефектов, а также для минимизации рисков у тех клиентов, которым неудобно обновлять ПО до новой версии из-за критической инфраструктуры на их устройствах.

Промежуточный релиз – Обычно выпускается еженедельно и представляет собой отчёт о текущей деятельности. Перечень промежуточных релизов может включать несколько версий для исправления нескольких проблем.

Сопровождаемый релиз – Строго проверенный релиз с устранёнными неисправностями, включающий в себя различные улучшения. Cisco рекомендует считать эти версии приоритетными, по сравнению с предыдущими двумя.

Серии

Cisco разделяет своё ПО на так называемые серии (англ. Train), каждая предназначена для своих целей. [Источник 4]

До версии 12.4

Релизы разделялись на несколько серий и каждая содержала свой набор функций. В большей или меньшей степени каждая серия была преднезначена для определённой группы клиентов. Эта схема была актуально вплоть до 15-го релиза.

  • Основная серия являлась наиболее стабильной. Функционал не обновлялся в течение всего жизненного цикла, обновления были предназначены исключительно для устранения неполадок и дефектов. Предыдущая техническая серия становилась текущей основной серией (см. далее). Таким образом, чтобы ознакомиться с функционалом текущей основной серии, необходимо было посмотреть в предыдущий T-релиз. [Источник 5]
  • T – Техническая серия, серия получающая весь новейший функционал в течение всего жизненного цикла и, соответственно, менее стабильная серия по сравнению с основной. Cisco не рекомендует использовать эту серию если нет срочной необходимости использовать что-либо из нового функционала, уникального для T-серии. [Источник 5]
  • S – Служебная серия - предназначена для магистральных маршрутизаторов и не приспособлена для клиентов. [Источник 5]
  • E – Корпоративная серия, предназначена для работы в корпоративных средах. [Источник 5]
  • B – Широкополосная серия, использует возможности широкополосного интернета. [Источник 5]
  • X* (XA, XB и т. д.) – Специальная серия, содержит единичные релизы, созданные для исправления определённого бага или добавления новых функций. В конечном счёте обычно объединяется с одной из серий выше. [Источник 5]

Время от времени появлялись другие серии, созданные для отдельных нужд, например серия 12.0AA содержала новый код, который требовался для Cisco AS5800.

После 15.0

Начиная с 15 релиза существует лишь одна M/T-серия, которая включает в себя обычный и расширенный релизы. M - это расширенные релизы, которые поддерживаются в течение 44 месяцев. T - стандартные, поддерживаются 18 месяцев.

Метки релиза

Каждый релиз сопровождается специальной меткой, которая говорит о качестве и удобстве использования.

  • ES - Engineer Special: можно считать бета-версией с различными исправлениями. Эти версии обычно доступны только в Cisco TAC. Релизы ES должны использоваться только в том случае, если содержащиеся в них функции еще не доступны в релизах LD и GD.
  • ED - Early Deployment: так же, как и ES можно считать бета-версией. Обычно используется для всех серий T, X, Y и Z. Аналогично ES, релизы ED должны использоваться только в том случае, если содержащиеся в них функции еще не доступны в LD и GD.
  • LD - Limited Deployment: используется для всех релизов основной серии, которые еще не были сертифицированы программой GD.
  • GD - General Deployment: релизы, сертифицированные программой GD (прошедшие детальный контроль качества) и полностью готовые к использованию. Программное обеспечение GD должно считаться приоритетным.
  • MD - Maintenance Deployment: после того, как Cisco прекратила программу GD в конце марта 2008 года [Источник 6], MD заменяет предыдущие GD и LD. Это не относится к 12.3 и более ранним релизам.
  • DF - Deferred: если релиз снят с разработки, например, потому что он содержит какие-либо серьёзные ошибки, то ему присваивается метка DF. Эти версии больше не доступны для загрузки, больше не продаются и не поддерживаются.

Наборы функций

У подавляющего большинства продукции Cisco, которая использует IOS, также есть несколько так называемых "наборов функций", обычно 8 штук для маршрутизаторов Cisco и 5 для коммутаторов Cisco. Например, релизы Cisco IOS, предназначенные для использования на коммутаторах Catalyst доступны в качестве "стандартной" версии (обеспечивающей только базовую IP-маршрутизацию), "улучшенной" версии, полностью поддерживающей IPv4 маршрутизацию и "продвинутую" версию, которая к тому же поддерживает IPv6.[Источник 4]

Каждый пакет программ соответствует одной из сервисных категорий:

  • IP-данные
  • Конвергированная услуга передачи речи и данных
  • Безопасность и VPN

Определить необходимый набор функционала можно, используя Cisco Feature Set Browser.

Начиная с 1900, 2900 и 3900 моделей ISR-маршрутизаторов, Cisco пересмотрели лицензирование моделей IOS. Маршрутизаторы поставляются с предустановленным паком "IP Base" и лицензией на дополнительный функционал, которая позволяет добавить следующие паки:

  • Data. Содержит BFD, IP SLAs, IPX, L2TPv3, Mobile IP, MPLS, SCTP.
  • Security. Содержит VPN, Firewall, IP SLAs, NAC.
  • Unified Comms. Содержит CallManager Express, Gatekeeper, H.323, IP SLAs, MGCP, SIP, VoIP, CUBE(SBC).

Interface Descriptor Block (блок описателя интерфейса), сокр. IDB - часть памяти, хранящая такую информацию, как IP адрес, состояние интерфейса и статистика пакетов. Cisco's IOS поддерживает один блок описателя интерфейса в каждом отдельном коммутаторе или маршрутизаторе и один IDB для каждого субинтерфейса. Количество блоков IDB в системе варьируется в зависимости от типа платформы.

Архитектура

Во всех версиях Cisco IOS маршрутизация пакетов и пакетная передача (коммутация) являются разными функциями. Маршрутизация и другие протоколы выполняются в качестве процессов и составляют Базу Маршрутизации (Routing Information Base). Это необходимо для составления конечной таблицы IP-передачи (FIB, Forwarding Information Base), которая используется для передачи функций маршрутизатора. На платформах маршрутизаторов с передачей "software-only" (например Cisco 7200) большинство манипуляций с трафиком, включая фильтрацию и передачу контрольного списка доступа, осуществляются на уровне прерываний с использованием Cisco Express Forwarding (CEF) или dCEF (Distributed CEF). Это означает, что у IOS нет необходимости переключать контекст для передачи пакетов. Функции маршрутизации, такие как OSPF и BGP работают на уровне процессов. В маршрутизаторах с передачей на уровне железа (Cisco 12000) таблицы IP-передачи вычисляется на программном уровне и загружается в передающее устройство (например сетевой процессор), который и осуществляет передачу пакетов.

Cisco IOS имеет "монолитную" архитектуру. Это означает, что система работает как единый объект и все процессы разделяют между собой единое пространство памяти. Между процессами не предусмотрена защита памяти, поэтому из-за каких либо дефектов в коде системы один процесс может повредить память другого процесса. Планировщик работает по принципу "работа до завершения", что означает, что процесс должен сообщить ядру о том, что он завершился и настала очередь следующего процесса. Для продуктов Cisco, требующих высокий уровень доступности (например Cisco CRS-1), такие ограничения неприемлемы. В добавок, конкурирующие ОС, появившиеся через 10-20 лет после IOS, такие как JUNOS от Juniper Networks, Inc., этих ограничений не содержали. Ответом Cisco была разработка новой версии Cisco IOS под названием IOS XR, предлагающей модульный принцип организации и защиту памяти между процессами, оптимизированные потоки, "упреждающий" планировщик и возможность независимо перезапускать неудачные процессы. IOS XR использует стороннее микроядро операционной системы реального времени QNX, поэтому большая часть кода IOS была переписана с целью использовать преимущества нового ядра. Микроядро устроено таким образом, что если нет необходимости исполнять процесс в само́м ядре, то он исполняется в качестве процесса обычного приложения. Благодаря такому методу, IOS XR способна достигать уровня доступности, подходящего для новых платформ маршрутизаторов. Таким образом IOS и IOS XR, имея мало общего в кодовой базе, сильно связаны по своему устройству и функционалу.

В 2005 Cisco представила IOS XR на платформе Cisco 12000 c микроядром, расширенным с CRS-1 до широко распространённого магистрального маршрутизатора Cisco. В 2006 Cisco предоставила модульность программного обеспечения, модернизирующую микроядро QNX в более традиционную среду IOS, сохраняя при этом необходимый для клиентов функционал. В данный момент это используется в корпоративных коммутаторах Catalyst 6500.

Использование командной строки

  • Отобразить текущие настройки:
show running-config
  • Отобразить версию IOS, модель маршрутизатора и пр.:
show version
  • Отобразить подробную информацию об интерфейсах маршрутизатора:
show interface
  • Краткий обзор текущих IP-адресов и статуса существующего интерфейса:
show ip interface brief
  • Отобразить текущую таблицу маршрутизации для каждого сетевого протокола:
show ip route
show ipv6 route
show ipx route
show appletalk route
  • Переключиться в привилегированный режим:
enable
  • Переключиться на глобальный режим конфигурации:
configure terminal

Безопасность и уязвимости

Поскольку IOS необходимо знать пароль в чистом виде для определённых целей (например CHAP-аутентификации), пароли, введённые через командую строку по умолчанию шифруются простейшим алгоритмом 'Type 7' с целью примитивной защиты от "подглядывания" пароля во время просмотра администратором конфигурация маршрутизатора. Этот шифр можно расшифровать с помощью программ "getpass" или "ios7crypt" [Источник 7]. Однако, пароли, зашифрованные алгоритмом 'Type 5' расшифровать с помощью этих программ не получится - используется криптографическая соль. [Источник 8]

Cisco рекомендует использовать на своих устройствах модель "ААА" - аутентификацию, авторизацию и ведение аккаунтов. Для этого можно использовать локальную базу данных, RADIUS либо TACACS+. Стоит обратить внимание на то, что локальный аккаунт может пригодиться в каких-либо непредвиденных ситуациях.

На конференции "Black Hat Briefings" в июле 2005, Майкл Линн, работавший в то время на IBM Internet Security Systems рассказал об уязвимости в IOS, хотя Cisco к тому времени выпустила патч и попросила не раскрывать информацию об уязвимостях. Тогда Cisco подала в суд, однако дело было приостановлено во избежание дальнейших раскрытий слабых мест системы

Источники

  1. Cross-Platform Release Notes for Cisco IOS Release 15.6M&T // Cisco [2006—2017]. Дата обновления: 29.04.2007. URL: http://www.cisco.com/c/en/us/td/docs/ios/15_6m_and_t/release/notes/15_6m_and_t/156-3MNEWF.html (дата обращения: 01.03.2017).
  2. MCisco IOS Command Modes // Cisco [2006—2017]. Дата обновления: 25.05.2007. URL: http://www.cisco.com/c/en/us/td/docs/ios/12_2/configfun/configuration/guide/ffun_c/fcf019.html (дата обращения: 01.03.2017).
  3. How to Choose a Cisco IOS Software Release // Cisco [2006—2017]. Дата обновления: 25.05.2007. URL: http://www.cisco.com/c/en/us/support/docs/ios-nx-os-software/ios-software-releases-121-t/15071-choosing-ios.html (дата обращения: 01.03.2017).
  4. 4,0 4,1 Cisco IOS and NX-OS Software Reference Guide // Cisco [2006—2017]. Дата обновления: 25.05.2007. URL: http://www.cisco.com/web/about/security/intelligence/ios-ref.html (дата обращения: 01.03.2017).
  5. 5,0 5,1 5,2 5,3 5,4 5,5 Understanding Cisco IOS Naming Conventions // Cisco [2006—2017]. Дата обновления: 25.05.2007. URL: https://www.cisco.com/c/dam/en_us/training-events/le21/le34/downloads/689/academy/2005/BRK-101.pdf (дата обращения: 01.03.2017).
  6. Cisco IOS Software General Deployment (GD) Program Retirement // Cisco [2006—2017]. Дата обновления: 25.05.2007. URL: http://www.cisco.com/en/US/prod/collateral/iosswrel/ps8802/ps6968/ps6350/product_bulletin_cisco_ios_software_gd_program_retirement.html (дата обращения: 01.03.2017).
  7. ios7crypt // Github [2006—2017]. Дата обновления: 25.05.2007. URL:https://github.com/mcandre/ios7crypt (дата обращения: 01.03.2017).
  8. Cisco 200-105 Braindumps // Braindumps4it [2006—2017]. Дата обновления: 25.05.2007. URL: https://www.braindumps4it.com/braindumps-200-105.html (дата обращения: 01.03.2017).