Гид по технологиям

Как настроить лабораторию Cisco на Linux (CentOS 5.2)

• 5 min read • Сеть • Обновлено 25 Nov 2025
Лаборатория Cisco на Linux (CentOS 5.2)
Лаборатория Cisco на Linux (CentOS 5.2)

Version 1.0
Author: Andrew Colin Kissa

Предпосылки

Для выполнения инструкций потребуются навыки работы с командной строкой Linux и базовое знание Cisco IOS/PIX. Обратите внимание: вам необходимо иметь собственные образы Cisco IOS/PIX — не запрашивайте их у автора.

Важно: использование образов Cisco может подпадать под лицензионные ограничения. Убедитесь, что у вас есть право запускать эти образы.

Кому это подходит

  • Студентам и инженерам, готовящимся к сертификациям Cisco (например, CCSP).
  • Тем, у кого нет Windows-машины, но есть Linux-сервер/рабочая станция.
  • Инженерам, которые хотят тестировать сетевые сценарии локально, без физического оборудования.

Необходимое ПО и концепция

Коротко о компонентах (в одной строке):

  • Dynamips — эмулятор аппаратной платформы Cisco, запускает реальные IOS-образы.
  • Dynagen — текстовый интерфейс/конфиг-обёртка над Dynamips (ini-подобный формат).
  • PEMU — эмулятор для Cisco PIX/ASA (обёртка для образов PIX/ASA).

Все инструкции ориентированы на RPM-основанную систему (CentOS 5.2). При желании команды можно адаптировать под другие дистрибутивы.

Установка ПО

Автор использовал собственные собранные RPM-пакеты и ключ для проверки подписи. Вы можете собрать пакеты из исходников сами или воспользоваться готовыми RPM (при наличии доверия к источнику).

Скачайте и импортируйте ключ автора:

wget http://www.topdog-software.com/oss/roundcube/andrew_topdog-software.com_key.txt
rpm --import andrew_topdog-software.com_key.txt

Установка Dynamips:

 rpm -Uvh http://www.topdog-software.com/oss/dynamips/dynamips-0.2.8RC2-1.i386.rpm

Установка Dynagen:

 rpm -Uvh http://www.topdog-software.com/oss/dynagen/dynagen-0.11.0-1.noarch.rpm

Установка PEMU:

 rpm -Uvh http://www.topdog-software.com/oss/pemu/pemu-0.0.1-20070420.i386.rpm

Примечание: если вы предпочитаете собирать из исходников, соответствующие source RPM доступны у проектов (за исключением PEMU, для которого автор собрал RPM самостоятельно).

Пример лаборатории: SNPA (IOS + PIX)

Для демонстрации возьмём лабораторию из модуля SNPA, где видно взаимодействие IOS-устройств и PIX/ASA.

Запустите сервисы:

service dynamips start
service pemu start

Распакуйте образы и скопируйте их в рабочую директорию PEMU (это ускорит загрузку):

unzip snrs.bin
cp C3640-JK.BIN /var/lib/pemu/images/snrs.bin
unzip asa722-k8.bin
cp target/f1/pix /var/lib/pemu/images/pix

Создайте файл конфигурации dynagen, например /tmp/snpa.net, со следующим содержимым:

autostart = false
model = 3640
ghostios = true
sparsemem = true
[localhost]
workingdir = /var/lib/pemu
        [[3640]]
        image = /var/lib/pemu/images/snrs.bin
        #idlepc = 0x60ba8df4
        [[router inside]]
        # This router will be on the "inside" of the firewall
        # Connect this router's e0/0 interface to fw1's e1 interface
        e0/0 = fw1 e1
        [[router outside]]
        # This router will be on the "outside" of the firewall
        # Connect this router's e0/0 interface to fw1's e0 interface
        e0/0 = fw1 e0
        [[ethsw s1]]
        1 = access 1
        # Bridge the below interface to allow fw1's e2 interface access to real networks
        # e.g. for using ASDM from a PC to manage the firewall, change the interface to
        # reflect your system
        2 = access 1 NIO_gen_eth:eth1
[pemu localhost]
        [[525]]
        #for pix 7 & 8
        serial = 0x1234568
        key = 0xffffffff,0xffffffff,0xffffffff,0xffffffff
        image = /var/lib/pemu/images/pix
        [[fw fw1]]
        # Connect the firewall's e2 interface to the virtual switch, which will bridge it
        # to the real network
        e2 = s1 1

Запустите dynagen с этой конфигурацией:

dynagen /tmp/snpa.net

Вас встретит консоль dynagen:

Reading configuration file...
Network successfully loaded
Dynagen management console for Dynamips and Pemuwrapper 0.11.0
Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa
=>  

Основные команды dynagen

Внутри консоли dynagen доступно множество команд — краткий вывод по вопросу:

=> ?
Documented commands (type help ):
========================================
capture  confreg  cpuinfo  export  hist    list  py      save   show   suspend
clear    console  end      filter  idlepc  no    reload  send   start  telnet
conf     copy     exit     help    import  push  resume  shell  stop   ver
=>                  

Список устройств в лаборатории (пример вывода):

=> list
Name       Type       State      Server          Console
inside     3640       stopped    localhost:7200  2000
outside    3640       stopped    localhost:7200  2001
fw1        525        stopped    localhost:10525 4000
s1         ETHSW      always on  localhost:7200  n/a
=>           

Запуск устройств:

=> start outside
100-VM 'outside' started
=> start inside
100-VM 'inside' started
=> start fw1
100-PEMU 'fw1' started
=>

Повышение производительности: idlepc

Чтобы снизить загрузку CPU и повысить производительность, подберите значение idlepc для каждой виртуальной машины:

=> idlepc get inside
Please wait while gathering statistics...
   1: 0x605a39c8 [61]
   2: 0x605a3a40 [25]
   3: 0x604fd014 [78]
   4: 0x604fd044 [64]
   5: 0x6048daa0 [80]
   6: 0x604fe168 [75]
*  7: 0x604fe584 [59]
   8: 0x604fe734 [46]
   9: 0x604fe75c [49]
Potentially better idlepc values marked with "*"
Enter the number of the idlepc value to apply [1-9] or ENTER for no change: 7 

Повторите подбор для всех устройств, где это релевантно.

Доступ к консоли устройств

Каждое устройство предоставляет консоль на TCP-порту. Узнать порты можно командой list в dynagen. Подключение к консоли маршрутизатора:

 telnet localhost 2000

Первичное подключение может предложить войти в начальный диалог конфигурации:

Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
Connected to Dynamips VM "inside" (ID 0, type c3600) - Console port

% Please answer 'yes' or 'no'.
Would you like to enter the initial configuration dialog? [yes/no]:   

Подключение к PIX/ASA (PEMU):

telnet localhost 4000

Ожидаемый вывод:

Trying 127.0.0.1...
Connected to localhost.localdomain (127.0.0.1).
Escape character is '^]'.
pixfirewall>   

Дополнительные образцы лабораторий

В комплекте с Dynagen есть директория с примерами: /usr/share/doc/dynagen-0.11.0/sample_labs

GUI-альтернатива

Если вы предпочитаете графический интерфейс, рассмотрите проект GNS (GNS3). Автор не использовал GNS лично, но проект популярен среди тех, кто любит визуальное управление.

Чек-листы по ролям

Инженер по сетям:

  • Подготовить образы IOS/PIX и убедиться в лицензии.
  • Настроить рабочую директорию (/var/lib/pemu).
  • Подобрать idlepc для всех VM.

Тестировщик/студент:

  • Запустить базовую топологию, проверить доступ к консоли.
  • Протестировать маршрутизацию/ACL/функции PIX.

Администратор системы:

  • Настроить автозапуск сервисов (dynamips/pemu).
  • Контролировать потребление CPU и сетевые мосты.

Мини-методология быстрой проверки (по шагам)

  1. Установить RPM-пакеты и импортировать ключ.
  2. Поместить образы в /var/lib/pemu/images.
  3. Подготовить .net файл для dynagen.
  4. Запустить dynagen и проверить список устройств.
  5. Запустить VM, подключиться к консоли, определить и применить idlepc.
  6. Протестировать сценарий (ping, маршруты, доступ ASDM при необходимости).

Устранение неполадок — распространённые ситуации и решения

  • Динамипс не запускается: проверьте права на /var/lib/pemu и SELinux.
  • Образы не загружаются или падают: убедитесь, что образ совместим с моделью (например, 3640).
  • Высокая загрузка CPU: подобрать idlepc, убедиться в параметре ghostios/sparsemem.
  • Нет доступа к реальной сети через NIO_gen_eth: проверьте, что интерфейс eth1 существует и не занят.

Альтернативы и когда это не подходит

  • Если вам нужна полная аппаратная точность (тайминги/физические порт-особенности), эмуляция может не подойти — лучше физические устройства.
  • Для легкой визуальной отладки и простых лабораторий GNS (GNS3) может быть удобнее.

Совместимость и миграция

  • Инструкции ориентированы на CentOS 5.2 и RPM-пакеты. На современных дистрибутивах пути и системные сервисы (systemd) будут отличаться — адаптируйте команды запуска и пути к демонам.
  • PEMU и Dynamips — старые проекты; при переносе на новые ядра/ядра realtime-патчи могут потребоваться патчи или сборка из исходников.

Критерии приёмки

  • Все указанные виртуальные устройства запускаются без фатальных ошибок.
  • Есть доступ по telnet к консоли каждого устройства.
  • Idlepc подобран для основных VM, нагрузка CPU в простое приемлемая.

Факт-бокс: ключевые версии и пути

  • Dynamips: 0.2.8RC2 (в примерах).
  • Dynagen: 0.11.0.
  • PEMU: 0.0.1-20070420.
  • Рабочая директория примера: /var/lib/pemu.
  • Примеры конфигураций: /usr/share/doc/dynagen-0.11.0/sample_labs.

Короткое объявление для команды (100–200 слов)

Я настроил реплику лаборатории Cisco на CentOS 5.2 с помощью Dynamips, Dynagen и PEMU. Это позволяет запускать реальные IOS- и PIX/ASA-образы для тренировок и тестирования сетевых сценариев без физического железа. В руководстве описаны шаги по установке RPM-пакетов, размещению образов, созданию конфигурации dynagen (/tmp/snpa.net), запуску виртуальных машин и подключению к их консоли через telnet. Также включены рекомендации по подбору idlepc для снижения загрузки CPU, чек-листы для ролей и советы по устранению типичных проблем. Убедитесь в наличии прав на использование образов Cisco и в адаптации команд запуска для современных дистрибутивов при миграции.

Благодарности

Спасибо разработчикам проектов Dynagen, Dynamips и PEMU; рассмотрите возможность пожертвований этим проектам.

  • Dynagen
  • Dynamips
  • PEMU

Резюме

  • Можно развернуть полноценную лабораторию Cisco на CentOS с использованием Dynamips/Dynagen/PEMU.
  • Важные шаги: установка RPM, размещение образов, создание .net, запуск и подбор idlepc.
  • Для GUI-альтернативы есть GNS3; для продвинутых сценариев может потребоваться физическое оборудование.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро