Чтобы научиться работать с “серьезным” сетевым оборудованием, совсем необязательно иметь тугой кошелек. Можно воспользоваться специальными эмуляторами, полностью имитирующими нужную среду, а то и целые сети.
Packet Tracert
Разработчик: Cisco Systems Inc.
Web: cisco.com/web/learning/netacad/course_catalog/PacketTracer.html
ОС: Windows XP/Vista/7, Linux (Ubuntu, Fedora)
Лицензия: бесплатно для зарегистрированных преподавателей и студентов курсов
Умение работать с оборудованием 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
Web: www.ipflow.utc.fr/index.php/Cisco_7200_Simulator
ОС: Windows 2k/XP/Vista, x32/x64 Linux, Mac OS X
Лицензия: GNU GPL
Проект 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 установка проста:
$ sudo apt-get install dynamips
Все параметры Dynamips легко узнать, запустив его с ключом ‘-help’. По умолчанию эмулируется Cisco 7206VXR с NPE-200 и 256 Мб ОЗУ DRAM. Чтобы указать другую платформу, следует использовать параметр ‘-P’ (например, “-P 3600″). Дополнительный ключ ‘-t’ позволяет “изменить” внутренности виртуального маршрутизатора (в зависимости от выбранного типа аргументы ‘-t’ будут различны). Для запуска понадобятся реальные IOS образы Cisco, которые не являются частью пакета, и их необходимо скачивать отдельно (легко находятся гуглом, в Сети доступны сборники по несколько гигов). Иногда IOS-образы поставляются в сжатом виде, и перед загрузкой их нужно распаковать:
$ unzip -p c7200-g6ik8s-mz.124-2.T1.bin > c7200.image
Запускаем:
$ dynamips c7200.image
Но в плане настроек Dynamips не очень удобен, чтобы создать на его основе сеть из нескольких маршрутизаторов, придется немало потрудиться. Эту задачу можно облегчить при помощи Dynagen, который является текстовым фронт-эндом к Dynamips. Используя простой файл описания виртуальной среды, мы можем легко соединить несколько устройств. Главное, что все установки собраны в одном месте, имеют простой синтаксис и легко редактируются.
$ nano v_router.net
# Описание узла, на котором установлен Dynamips
[localhost]
# Тип роутера
[[7200]]
# Путь к IOS-файлу
image = /home/grinder/images/c7200.image
# Общие параметры, в данном случае платформа и RAM, при необходимости внутри роутера можно указывать специфические настройки
npe = npe-400
ram = 160
# Первый роутер
[[Router R1]
# Указываем подключение, в нашем случае интерфейс Serial1/0 на R1 будет подключен к Serial1/0 R2
s1/0 = R2 s1/0
[[Router R2]]
# Оставляем все по умолчанию
Это простейший пример, чтобы понять суть настроек. В “боевом” конфиге может быть с десяток самых разных роутеров и конфигураций. Например, чтобы связать один из выходов виртуального маршрутизатора с сетевым интерфейсом реальной или виртуальной системы, пишем:
s2/0 = NIO_linux_eth:eth1
Сначала запускаем dynamips в режиме гипервизора (после отладки можно стартануть в фоне, добавив ‘&’):
$ sudo dynamips -H 7200
Cisco Router Simulation Platform (version 0.2.8-RC2-amd64)
Copyright (c) 2005-2007 Christophe Fillot.
Build date: May 9 2009 18:06:28
ILT: loaded table “mips64j” from cache.
ILT: loaded table “mips64e” from cache.
ILT: loaded table “ppc32j” from cache.
ILT: loaded table “ppc32e” from cache.
Hypervisor TCP control server started (port 7200).
Теперь Dynagen:
$ dynagen v_router.net
После загрузки образов (процесс будет выводиться в консоли, где запущен dynamips) и настроек виртуальных роутеров получим приглашение консоли управления. Введя знак вопроса или help, получим справку по командам. Набрав “help команда”, узнаем обо всех параметрах конкретной команды. Поддерживается автодополнение ввода при помощи клавиши . Для остановки, запуска, перезапуска, приостановки и продолжения применяем команды start, stop, reload, suspend, resume с указанием имени роутера или ключа /all для всех устройств:
=> reload R1
Все команды регистрозависимы, поэтому нужно быть внимательнее. Просмотрим список работающих маршрутизаторов:
=> list
Name Type State Server Console
R1 7200 running localhost:7200 2000
R2 7200 running localhost:7200 2001
Теперь при помощи команды:
$ telnet localhost 2000
Можем подключиться к порту, указанному в поле Console. Хотя проще подключиться, указав имя устройства в строке приглашения Dynagen:
=> telnet R1
В отдельном окне откроется окно терминала, в котором уже управляем настройками.
Несколько виртуальных маршрутизаторов могут нехило загрузить систему. Причем вне зависимости от реально выполняющейся работы. Это происходит потому, что Dynamips не знает, когда роутер выполняет полезную работу, а когда находится в режиме ожидания. Команда idlepc позволяет проанализировать IOS-образы в действии и определить циклы простоя. При первом запуске значение не установлено:
*** Warning: Starting R1 with no idle-pc value
Нужную цифирь idle-pc можно получить, введя в консоли dynagen команду “idlepc get имя_роутера”:
=> idlepc get R1
Будет выдано несколько значений, наиболее оптимальные отмечены знаком “*”. Далее выполнение команды остановится, и потребуется ввести одну из цифр, соответствующих выбранному idlepc. После этого его значение будет добавлено к выполняющемуся процессу. При запуске Dynamips вручную значение idlepc указывается при помощи параметра ‘-idle-pc=’, как вариант, в секции роутера конфига Dynagen дописываем:
idlepc = 0x6076a394
Но лучше просто сохранить значение, чтобы оно считывалось при последующих загрузках:
=> idlepc save R1 db
Повторно просмотреть весь список idlepc просто:
=> idlepc show R1
Все, маршрутизатор можно настраивать.
Проект оброс несколькими субпроектами, делающими использование Dynagen более удобным. Например, gDynagen обеспечивает единую консоль для ввода команд для Dynamips + Dynagen. Генератор настроек для Dynagen - confDynagen добавляет новый режим конфигурирования, который дает возможность изменять параметры Dynagen “на лету”, без остановки виртуальной сети.
Симулятор GNS3
Разработчик: OpenSource
Web: ns3.net
ОС: Windows 2k/XP/Vista, *nix, Mac OS X
Лицензия: GNU GPL
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 для установки набираем:
$ sudo apt-get install gns3
Чтобы использовать самые свежие версии, следует подключить репозиторий 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 настоятельно рекомендуют их использовать.
Некоторые команды маршрутизаторов Cisco
help - справка по всем командам
setup - запуск мастера конфигурирования маршрутизатора
show config - просмотр текущих настроек
configure terminal - вход в режим настройки хоста
enable [номер уровня] - переход к определенному уровню настроек
hostname Router - вводим имя маршрутизатора
ip http server - запуск веб-интерфейса
ip route 172.1.1.0 255.255.255.0 10.1.1.1 permanent - статический маршрут
clear ip route * - удаление всех маршрутов
show ip route - просмотр маршрутов
Консоль Cisco поддерживает автодополнение с использованием табуляции, поэтому полностью вводить команды не обязательно.
Проекты одной строкой
Network Simulator - симулятор, предназначенный для изучения работы сетевых протоколов и маршрутизации. Опционально включает модуль анимации nam (network animator).
Xentaur - решение для организации сетей, объединяющих реальные устройства, эмуляторы и виртуальные машины Xen.
NetSim - симулятор работы по протоколам нижнего уровня, с 3D визуализацией процессов.
ProfSIMs, RouterSim, CertExams.com - коммерческие симуляторы и визуализаторы, позволяющие подготовиться для сдачи сертификата Cisco.
INFO
С помощью программы Packet Tracert можно строить целые сети между виртуальными офисами.
В Packet Tracert доступны инструменты рисования, которые помогут лучше представить сеть на карте. Так, например, отдельные элементы или группы можно раскрасить разными цветами.
WWW
Сайт проекта Dynagen - dynagen.org
Отличные видеоруководства по работе с Dynamips и Dynagen - blindhog.net
Характеристики IOS устройств Cisco - tools.cisco.com/ITDIT/CFN/Dispatch
Список репозиториев для GNS3 - gpl.code.de/oswiki/GplcodedeApt
Сайт проекта Wireshark - wireshark.org
Некоторое представление по командам IOS можно получить по адресу: www.opennet.ru/docs/RUS/cisco_basic
WARNING
Некоторые старые версии IOS не поддерживают команду idlepc.
Перепостинг статьи:
http://www.xakep.ru/post/53126/ Источник