Ученье – свет и высокая зарплата: обзор программных эмуляторов сетевого оборудования Cisco Systems и Juniper NetworksЧтобы научиться работать с "серьезным" сетевым оборудованием, совсем необязательно иметь тугой кошелек. Можно воспользоваться специальными эмуляторами, полностью имитирующими нужную среду, а то и целые сети. Packet TracertРазработчик: Cisco Systems Inc. Умение работать с оборудованием Cisco всегда являлось жирным плюсом при приеме на работу, однако оплатить курсы или приобрести циску (даже б/у) может далеко не каждый. Вероятно, поэтому количество кошачьих эмуляторов растет из года в год, и они пользуются популярностью у админов и желающих ими стать. Используя эмулятор, можно самостоятельно подготовиться к получению сертификатов CCNA (Cisco Certified Network Associate, Сертифицированный Cisco Сетевой Специалист), "перепробовав" все доступные девайсы и понастраивав сеть. Обзор начнем с официальной разработки Cisco – эмулятора Packet Tracert, предлагаемого отделением Networking Academy, отвечающим за образование и подготовку различных курсов. Задача программы: помочь закрепить на практике полученные студентом теоретические навыки. Для ее решения PT обладает всем необходимым, позволяя "строить" сети различной сложности с практически неограниченным количеством устройств. Все установки производятся при помощи логической диаграммы сети, для симуляции представлен весь спектр оборудования, выпускаемого Cisco (роутеры, свитчи, точки доступа и т.п.). Можно изменять настройки объектов, моделировать потоки данных и многое другое. Поддерживается большое количество протоколов и технологий, используемых в оборудовании Cisco (полный список смотри в документации на сайте). Работа с оборудованием хоть и виртуальна, но выглядит так, будто приходится использовать реальные устройства. Можно добавлять платы расширения, настраивать параметры в командной строке или используя графический интерфейс. Весь процесс обмена данными представлен в виде диаграмм и таблиц, что помогает визуально оценить текущие настройки и работу оборудования. Официально в свободном доступе Packet Tracert не найти, он предназначен только для зарегистрированных преподавателей и студентов курсов (его можно найти на дисках, прилагаемых к некоторым книжкам по цисковским курсам). Но – нехитрый запрос к гуглу, и нужная программа будет у тебя на харде. Во время установки никаких ключей не требуется, сам процесс стандартен. Все настройки производятся в большом окне посередине. Внизу слева находятся группы устройств, после выбора чуть правее появляются сами устройства. Отмечаем нужное и двойным щелчком на свободном месте в поле посередине переносим его на карту сети. Поддержка drag'n'drop делает процесс очень простым, устройства затем можно двигать, удалять и т.п. Удобно, что PT самостоятельно связывает некоторые девайсы, например, при появлении Wireless свитча к нему автоматически подключаются все устройства, поддерживающие этот вид соединения. При протяжке кабеля выбираем порт, к которому его подключаем. Один из значков отвечает за автоматическое определение типа соединения, что ускоряет сборку сети на стадии изучения. Если в процессе будет допущена ошибка, то пользователь получает предупреждение с кратким описанием (например, нет свободного разъема). Пока все настройки логической сети производились во вкладке Logical Workspace (Ctrl+L). Чтобы перейти к физическому устройству и посмотреть порядок подключения, следует выбрать в верхнем левом углу вкладку Physical Workspace (Ctrl+P). Также PT предоставляет два режима отображения работы сети: Realtime Mode (Ctrl+R) и Simulations Mode (Ctrl+S). Переключение производится при помощи ярлыков в правом нижнем углу или горячих клавиш. В Realtime сеть работает в обычном режиме, в режиме Simulations можно наблюдать и контролировать процессы, происходящие в сети (работу устройств, интервалы времени, механизмы передачи данных и т.д.) Мастер Activity Wizard поможет создать собственные учебные сценарии. Осталось добавить, что предусмотрена работа в многопользовательском режиме, а также доступно несколько пособий по настройке Cisco и справочная система, помогающая разобраться во всех возможностях. Эмулятор DynamipsРазработчик: OpenSource Проект Dynamips стартовал в августе 2005 года как эмулятор маршрутизатора Cisco 7200 на ПК и предназначался для проверки конфигурации перед использованием на настоящем оборудовании и для обучения. Сегодня Dynamips может эмулировать и другие платформы Cisco – серии 3600, 3700 и 2600. Причем с выбором разных вариантов устройств: CPU (MIPS64 и PowerPC), RAM (DRAM, Packet SRAM, NVRAM), различных типов карт и портов. Предусмотрена возможность создания виртуальных мостов и коммутаторов. Главная особенность – эмулируемое устройство можно подключить к реальной сети, для чего один из выходов виртуального маршрутизатора связывается с реальной сетевой картой. Работа в режиме гипервизора позволяет распределить нагрузку на несколько систем, ведь IOS (Internet Operating System) образы полностью загружаются в ОЗУ и при большом количестве виртуальных систем отбирают много ресурсов. Нужный пакет доступен в репозиториях некоторых дистрибутивов Linux. Для захвата трафика используется библиотека pcap, при установке в Windows потребуется самостоятельно инсталлировать WinPCAP. В Ubuntu/Debian установка проста:
Все параметры Dynamips легко узнать, запустив его с ключом '--help'. По умолчанию эмулируется Cisco 7206VXR с NPE-200 и 256 Мб ОЗУ DRAM. Чтобы указать другую платформу, следует использовать параметр '-P' (например, "-P 3600"). Дополнительный ключ '-t' позволяет "изменить" внутренности виртуального маршрутизатора (в зависимости от выбранного типа аргументы '-t' будут различны). Для запуска понадобятся реальные IOS образы Cisco, которые не являются частью пакета, и их необходимо скачивать отдельно (легко находятся гуглом, в Сети доступны сборники по несколько гигов). Иногда IOS-образы поставляются в сжатом виде, и перед загрузкой их нужно распаковать:
Запускаем:
Но в плане настроек Dynamips не очень удобен, чтобы создать на его основе сеть из нескольких маршрутизаторов, придется немало потрудиться. Эту задачу можно облегчить при помощи Dynagen, который является текстовым фронт-эндом к Dynamips. Используя простой файл описания виртуальной среды, мы можем легко соединить несколько устройств. Главное, что все установки собраны в одном месте, имеют простой синтаксис и легко редактируются.
Это простейший пример, чтобы понять суть настроек. В "боевом" конфиге может быть с десяток самых разных роутеров и конфигураций. Например, чтобы связать один из выходов виртуального маршрутизатора с сетевым интерфейсом реальной или виртуальной системы, пишем:
Сначала запускаем dynamips в режиме гипервизора (после отладки можно стартануть в фоне, добавив '&'):
Теперь Dynagen:
После загрузки образов (процесс будет выводиться в консоли, где запущен dynamips) и настроек виртуальных роутеров получим приглашение консоли управления. Введя знак вопроса или help, получим справку по командам. Набрав "help команда", узнаем обо всех параметрах конкретной команды. Поддерживается автодополнение ввода при помощи клавиши <Tab>. Для остановки, запуска, перезапуска, приостановки и продолжения применяем команды start, stop, reload, suspend, resume с указанием имени роутера или ключа /all для всех устройств:
Все команды регистрозависимы, поэтому нужно быть внимательнее. Просмотрим список работающих маршрутизаторов:
Теперь при помощи команды:
Можем подключиться к порту, указанному в поле Console. Хотя проще подключиться, указав имя устройства в строке приглашения Dynagen:
В отдельном окне откроется окно терминала, в котором уже управляем настройками. Несколько виртуальных маршрутизаторов могут нехило загрузить систему. Причем вне зависимости от реально выполняющейся работы. Это происходит потому, что Dynamips не знает, когда роутер выполняет полезную работу, а когда находится в режиме ожидания. Команда idlepc позволяет проанализировать IOS-образы в действии и определить циклы простоя. При первом запуске значение не установлено:
Нужную цифирь idle-pc можно получить, введя в консоли dynagen команду "idlepc get имя_роутера":
Будет выдано несколько значений, наиболее оптимальные отмечены знаком "*".
Далее выполнение команды остановится, и потребуется ввести одну из цифр,
соответствующих выбранному idlepc. После этого его значение будет добавлено к
выполняющемуся процессу. При запуске Dynamips вручную значение idlepc
указывается при помощи параметра '
Но лучше просто сохранить значение, чтобы оно считывалось при последующих загрузках:
Повторно просмотреть весь список idlepc просто:
Все, маршрутизатор можно настраивать. Проект оброс несколькими субпроектами, делающими использование Dynagen более удобным. Например, gDynagen обеспечивает единую консоль для ввода команд для Dynamips + Dynagen. Генератор настроек для Dynagen – confDynagen добавляет новый режим конфигурирования, который дает возможность изменять параметры Dynagen "на лету", без остановки виртуальной сети. Симулятор GNS3Разработчик: OpenSource GNS3 (graphical network simulator) – очень мощный симулятор, выпускаемый под свободной лицензией и позволяющий эмулировать сети большого размера. Полезен администраторам и инженерам, а также пользователям, которые готовятся к сдаче сертификатов Cisco (CCNA, CCNP, CCIP, CCIE) и Juniper Networks (JNCIA, JNCIS, JNCIE). Чтобы обеспечить максимальную функциональность, также следует установить Dynamips, Dynagen и виртуальную машину Qemu. Для захвата пакетов потребуется Wireshark (wireshark.org). Кроме образов Cisco IOS, GNS3 умеет работать с olive-образами JunOS (juniper.net/ru/ru/products-services/nos/junos) – операционки, используемой в оборудовании компании Juniper Networks. Возможна эмуляция простых Ethernet, ATM и Frame Relay свитчей и файеров (ASA, PIX). Как и в случае с Dynamips, легко подключить виртуальный свитч к сетевой карте реальной или виртуальной системы. И главное – все настройки производятся в интуитивно понятной графической среде. Пакет GNS3 уже доступен в репозиториях большинства основных дистрибутивов Linux. В Debian/Ubuntu для установки набираем:
Чтобы использовать самые свежие версии, следует подключить репозиторий gpl.code.de. Подробные инструкции для своего дистрибутива ищи по адресу gpl.code.de/oswiki/GplcodedeApt. Для самостоятельной сборки пакетов потребуется наличие Python и ряда библиотек: Qt, PyQt и других. При первом запуске встречает Setup Wizard, объясняющий два основных требования к запуску программы: проверить правильность пути в Dynamips и при необходимости скорректировать его. Плюс загрузка IOS-образов. Окно программы можно назвать стандартным. Слева в "Nodes Types" находятся значки устройств, которые простым перетаскиванием помещаем в окно посередине, строя виртуальную сеть. Двойным щелчком вызываем окно свойств, где настраиваются специфические параметры для конкретного роутера, и, в том числе, добавляются адаптеры. Контекстное меню позволяет запустить, остановить устройство, получить IDLE PC, выйти в консоль. В панели сверху доступны примитивные инструменты рисования (вставка круга, прямоугольника, рисунка). Сеть, состоящая из одних маршрутизаторов, не очень наглядна, остальные компоненты сети (серверы, принтеры и т.п.) добавляются через "Edit – Symbol Manager". Правое окно "Topology Summary" предназначено для быстрой навигации, здесь выводятся все девайсы (работающие подсвечиваются зеленым значком). Если образа, соответствующего выбранному устройству, в коллекции GNS3 нет, то при попытке добавить такой роутер получим предупреждение. Чтобы добавить IOS-образы или указать местонахождение гипервизоров Dynamips, открываем "Edit – IOS images and hypervisors". Указываем на image-файл, при этом платформа, модель и количество RAM отображаются автоматически. Эти значения будут использованы по умолчанию, их можно скорректировать. В поле IDLE PC прописывается нужное значение (если оно известно). Внизу посередине находится консоль Dynagen, предназначенная для непосредственного ввода команд. После нанесения на карту всех устройств при помощи консоли приступаем к их настройке, в частности, устанавливаем связи щелчком по "Add a link". Созданные настройки сохраняются в файл для повторного использования. Стоит отметить, что имеется еще один проект – Dynagui, наглядно показывающий подключения между роутерами. Но по функциональности он не дотягивает до GNS3, а последнее обновление датировано 2007 годом. ЗаключениеНе стоит пренебрегать программными эмуляторами сетевого оборудования и недооценивать предлагаемые ими возможности, тем более, что разработчики Cisco Systems и Juniper Networks настоятельно рекомендуют их использовать.
|