Всем привет!
В этой статье я хочу рассказать, как после обучения Cisco CCNA дальше углубить свои знания и развиваться в направлении компьютерные сети. Я сам проходил профессиональную переподготовку на курсе инфокоммуникационные сети, что в дальнейшем оказалось учебными материалами, очень напоминающими материалы CCNAv6 Routing and Switching Essentials.
После чего задумался как применять свои навыки и развиваться как сетевой инженер.
Курс CCNA (Cisco Certified Network Associate) — самый популярный сертификат. Подтверждает навыки настройки сетей малого/среднего размера.
После же данного обучения всегда возникают вопросы, что учить дальше, так как стоять на месте специалисту чуждо. Вот тогда-то и приходит на ум, либо учить сетевое оборудование другого вендора (коих очень много, но работают они все на базовой теории) или же углубить свои знания до Cisco CCNP.
Курс CCNP (Cisco Certified Network Professional) — углублённые знания для сетей до 500 хостов. Требует сдачи 3 экзаменов (маршрутизация, коммутация, устранение неполадок).
И на данный момент возникает много вопросов:
-
Сертификация закрыта в России.
-
Знание английского языка важно (но не всем дано освоить данный навык).
-
Функционал Cisco Packet Tracer урезан, и не способен воспроизводить сложные лабораторные работы.
-
Обучение на данном курсе стоит не малых денег.
После курса CCNA закономерно встаёт вопрос: на чём отрабатывать более сложные сценарии? Cisco Packet Tracer для уровня CCNP уже не хватает — часть протоколов и возможностей в нём не воспроизводится. Поэтому я решил собрать собственный лабораторный стенд в полноценном сетевом эмуляторе, используя образы, которые Cisco предоставляет для скачивания на своём сайте. В этой статье я показываю, как развернуть такую лабораторную для отработки навыков уровня CCNP ENCOR с нуля.
Выбор сетевого эмулятора (описал только активно поддерживаемые):
-
Cisco Modeling Labs (CML) — это официальная платформа от Cisco для моделирования сетей. Я бы описала её так: это не просто эмулятор, а целая среда, где можно создавать виртуальные сети, используя настоящие образы операционных систем Cisco (IOS, IOS-XR, NX-OS, ASA). Это даёт очень высокую реалистичность — идеально для подготовки к сертификациям (CCNA, CCNP, DevNet Associate), тестирования сложных конфигураций или проверки изменений в инфраструктуре перед внедрением.
-
ContainerLab — это открытый инструмент для эмуляции сетевых лабораторий, который позволяет создавать виртуальные сети на базе контейнеров. Он даёт возможность описывать топологию в декларативных YAML-файлах, запускать контейнеры с реальными сетевыми операционными системами (NOS) и соединять их виртуальными каналами, имитируя реальную инфраструктуру.
-
GNS3 (Graphical Network Simulator 3). Открытый эмулятор, который позволяет запускать реальные образы маршрутизаторов и коммутаторов Cisco. Поддерживает работу с виртуальными машинами и физическим оборудованием для создания гибридных лабораторий. Имеет графический интерфейс для визуального проектирования топологий.
-
PNETLab. Платформа для эмуляции сетевого оборудования и построения виртуальных лабораторий. Позволяет запускать образы маршрутизаторов, коммутаторов, серверов, систем безопасности и других устройств. Поддерживает образы разных вендоров. Развёртывается в гипервизоре (например, VMware или VirtualBox), управление происходит через веб-интерфейс.
Описывать все плюсы и минусы сетевых эмуляторов не стану. Их можно найти в интернете, и при этом для себя сделать вывод в какой среде Вы комфортнее себя чувствуете. Для себя я решил, что буду переводить лабораторные для каждого сетевого эмулятора по мере развития себя как специалиста в данном направлении.
Первый эмулятор, который я буду использовать — Cisco Modeling Labs (CML).
Настроим лабораторный стенд для проверки знаний CCNP Encor. Так как не нашел на сайте Хабр статью по работе Cisco Modeling Labs, опишу шаги по настройке последовательно, и с какими проблемами можно столкнуться.
Схему возьмем состоящую из 3 маршрутизаторов и 3 коммутаторов, чтобы можно было проверить работу нескольких протоколов.
Рисунок 1. Схема оценки навыков CCNP Encor
Запустим виртуальную машину в среде виртуализации на ваш выбор с установленной системой Cisco Modeling Labs. Я поставил более свежую версию CML 2.9.1.
Образы можно бесплатно скачать с сайта Cisco. Установку можно посмотреть в сети интернет, коих много на данный момент.
Рисунок 2. Экран загрузки виртуальной машины CML
Теперь вы можете получить доступ к CML через https://<IP> или к панели администрирования через https://<IP>:9090. Пользователя и пароль вводим, которые указывали при развертывании виртуальной машины.
Рисунок 3. Веб-страница входа в CML
При входе увидим Dashboard системы CML без каких-либо созданных лабораторных работ.
Рисунок 4. Веб-страница Dashboard CML
Начинаем воплощать свои идеи по созданию своей сети для практики. Нажимаем на иконку ADD и переходим в рабочую плоскость наподобие Cisco Packet Tracer. Видим инструментарий для создания нашей сети.
Рисунок 5. Инструменты для создания лабораторной
Перечислю каждый элемент инструментов.
|
|
Select |
— чтобы выделять узлы или уже созданные соединения в рабочей области. |
|
|
Draw Rectangle |
— нарисовать прямоугольник в рабочей области. |
|
|
Draw Elipse |
— нарисовать эллипс в рабочей области. |
|
|
Draw Text |
— для добавления текстовой надписи. |
|
|
Draw Line |
— нарисовать линию. |
|
|
Smart Annotations |
— это продвинутый способ добавлять к топологии не просто текст, а осмысленные, структурированные пометки, которые помогают документировать схему. |
|
|
Add Nodes |
— основная кнопка/панель, откуда вы перетаскиваете устройства на рабочую область. |
|
|
Center Canvas |
— центрирует топологию на рабочей области. |
|
|
Fit Canvas |
— подгоняет топологию под текущие размеры рабочей области. |
|
|
Zoom Out |
— отдалить масштаб. Для плавной регулировки можно зажать кнопку мыши. |
|
|
Zoom In |
— приблизить масштаб. Для плавной регулировки можно зажать кнопку мыши. |
|
|
Canvas Settings |
— открывает отдельную панель настроек, где можно включить/выключить сетку (Grid Lines), активировать привязку к сетке (Snap To Grid), показать или скрыть подписи к линкам (Show Link Labels), а также настроить группировку линков (Link Bundling between Nodes) |
|
|
LAB |
— это центральный пункт управления лабораторными работами. · Start Lab — запускает виртуальные устройства и сеть. · Stop Lab — останавливает работу устройств. · Wipe Lab — полностью очищает состояние устройств (удаляет все конфигурации и временные данные, как будто лаборатория создана заново). · Delete Lab — удаляет лабораторию из списка. |
|
|
NODES |
— это каталог и диспетчер всех типов виртуальных устройств, которые можно использовать в лабораториях. |
|
|
PANES |
— это инструмент гибкой организации рабочего пространства. Она нужна, чтобы одновременно держать перед глазами несколько сессий (консоли, VNC, PCAP) и удобно их группировать. |
После того, как привыкли к рабочей области и ее инструментарию, начнем строить нашу схему.
Добавляем в рабочую область сетевое оборудование — выбираем панель Add Nodes
Рисунок 6. Панель Add Nodes
Сетевое оборудование, которое будем использовать:
-
Desktop — конечный хост Linux.
-
IOSv — маршрутизатор (устройство 3 уровня).
-
IOSvL2 — коммутатор (устройство 2 уровня).
И соединим как показано на рисунке выше. В Cisco Modeling Labs были убраны старые интерфейсы типа Serial. Назовем это особенностью платформы CML. В CML виртуальные устройства (роутеры, коммутаторы) моделируются с поддержкой только GigabitEthernet. Более высокоскоростные интерфейсы (10G/40G) в этой среде не реализованы. Поэтому на новой схеме сети будут изменены интерфейсы типа Serial на интерфейсы типа GigabitEthernet.
Схема должна выглядеть читаема, чтобы можно было различать интерфейсы с каждых сторон. Поможет при поиске ошибок или неправильной настроенной конфигурации.
Рисунок 7. Логическая топология сети без подписей
Далее на схему выводим опознавательные подписи, которые помогут лучше читать схему, и видеть какие протоколы будут использованы. Документирование сетевой инфраструктуры — ключевой элемент поддержки и развития сети: оно ускоряет устранение инцидентов, упрощает передачу знаний и помогает соблюдать требования регуляторов.
Обозначения:
— синие подписи — (шрифт Monospace, размер 8) —
идентификаторы сетей или IP-адреса интерфейсов, VLAN, DHCP
— красные подписи — (шрифт Monospace, размер 14) —
протоколы динамической маршрутизации (OSPF, EIGRP, BGP).
Также выделяются области работы данных протоколов.
— красные подписи — (шрифт Monospace, размер 8) —
протоколы мониторинга и AAA-учеты.
— красные кольца — Указывают на технологию EtherChannel.
Рисунок 8. Логическая топология сети с подписями
Добавим области работы протоколов динамической маршрутизации внутри компании, через инструмент Draw Rectangle. Здесь главное указать уровень наложения на картинке, чтобы невидимая область прямоугольника не скрывало остальные подписи на нашей схемы.
Для этого определим уровни (Layes) для прямоугольников — 0.
Для остальных рисунков будем повышать на 1, чтобы все было видно.
Рисунок 9. Выбор уровня наложения на рабочей области
Рисунок 10. Логическая топология сети с подписями протоколов динамической маршрутизации
Осталось добавить подписи основных сетевых коммутаторов 3 уровня D1 и D2, на которых строится вся внутренняя работа сети внутри компании. Для этого сделаем выноску линией к информации о настройке этих коммутаторов 3 уровня, на основной схеме не осталось места для этих подписей, и так будет боле читаемо для нашей документации.
Рисунок 11. Логическая топология сети
После сбора нашей сетевой топологии. Начинаем настраивать оборудование через встроенную системы скриптов при первом запуске сетевых устройств.
Для задания IP-адреса в хосте Linux не обязательно запускать систему.
В графическом режиме возможно удобнее, но экономия времени всегда должна учитываться для настройки устройств.
Заходим в PC1 и прописываем команды в панели Config.
Данный конфигурационный файл будет запущен при загрузке операционной системы.
Рисунок 12. Панель Config для настройки конфигурационного файла
Команды, указанные в конфигурационном скрипте это базовые команды управления для операционной системы Linux, разберем их подробнее:
# — Комментарий, поясняющий назначение файла. # - Это хорошая практика для документации. # — задаёт имя хоста. В контексте загрузки это полезно для идентификации машины в сети и логах. hostname PC1 # — добавляет IPv4-адрес с маской /24 к интерфейсу eth0. # — аналогично добавляет IPv6-адрес. # — поднимает (активирует) интерфейс eth0, без этого IP-адрес не будет доступен. ip addr add 10.0.100.5/24 dev eth0 ip addr add 2001:db8:100:100::5/64 dev eth0 ip link set dev eth0 up # - Дальше в скрипте идут переменные USERNAME и PASSWORD, # - которыми мы указываем пользователя, под которым будем заходить в систему.# configurable user account USERNAME=ciscoPASSWORD=cisco
Если же в скрипте указать только строку, указанную ниже, то при включении операционной системы сработает поиск сервера DHCP. Данная настройка будет применима к PC2 и PC3.
ip link set dev eth0 up
Хост PC4 настроить по аналогии с PC1.
При добавлении конфигурационного файла обязательно нажмите на кнопку SAVE, иначе ничего не сохранится.
Рисунок 13. Панель Config — расположение кнопки SAVE
И наконец то приступим к настройке конфигурационных файлов коммутаторов и маршрутизаторов Cisco. Эта часть для сетевого инженера самая интересная. Но и довольна проста, если есть навык работы с устройствами Cisco.
Приведу пример конфигурационного файла для маршрутизатора R1.
Рисунок 14. Панель Config — конфигурация R1
После данных действий можно запустить всю сетевую топологию и потренироваться в настройке какого-либо сетевого протокола, который нужен вам в работе или изучении. Уверен, что данные навыки всегда нужны, особенно если вы не знаете, как настроить сложную сеть, или заметить какой-то старый протокол на новый.
Для экспорта топологии нажмите на вкладке LAB → Download Lab
Cisco CML сохранит файл в вашей операционной системе. Сетевой эмулятор сохраняет не только топологию (связи между узлами), но и конфигурации самих устройств в формате YAML. То есть внутри такого файла для каждого узла будет своя секция с настройками — интерфейсы, IP, протоколы, баннеры и т.д.
Данный файл можно загружать (импортировать) в сетевой эмулятор Cisco CML на другой компьютер при необходимости, или поделиться с другом.
Рисунок 15. Вкладка LAB
Приведу описание важных блоков в файле .yaml:
-
lab — метаданные лабораторной — простое описание.
-
nodes — устройства — здесь описываются все устройства в топологии.
-
interfaces — интерфейсы устройств.
-
links — связь между устройствами.
-
configurations — стартовые конфигурации устройств.
lab: title: "OSPF Basic Lab" author: "me" description: "Basic OSPF topology with 3 routers"nodes: r1: type: iosv image: iosv-latest ram: 2048interfaces: - node: r1 name: GigabitEthernet0/0 slot: 0 port: 0 - node: r2 name: GigabitEthernet0/0 slot: 0 port: 0links: - src: r1/GigabitEthernet0/0 dst: r2/GigabitEthernet0/0 bandwidth: 1000 delay: 5configurations: r1: | hostname R1 interface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 no shutdown
Практические советы по разбору YAML.
-
Сначала смотрите nodes и links — так вы поймёте топологию без GUI. Это особенно удобно, если нужно быстро оценить масштаб лабораторной работы или перенести её в другую среду.
-
Смотрите секцию configurations — именно там заданы все настройки протоколов и интерфейсов. Если вы готовите лабораторную работу под конкретный экзамен (вроде ENCOR / ENARSI), по конфигурациям сразу видно, какие темы отрабатываются.
-
Проверяй type и image — разные образы поддерживают разный набор протоколов. Например, ASAv — это файрвол, там не будет OSPF в том же виде, что на IOSv.
-
Обращайте внимание на bandwidth и delay в links — если лабораторная работа про сходимость или QoS, эти параметры могут сильно влиять на поведение сети.
-
Для автоматизации YAML можно парсить скриптами (Python, Ansible, pyATS) и, например, генерировать отчёты по топологии или проверять наличие нужных протоколов.
Приведу небольшую таблицу для указания сетевых устройств и сетевых протоколов, на которых можно попрактиковаться в лабораторных стендах в Cisco CML.
|
Сетевое устройство |
Сетевые протоколы |
Типичные задачи |
|
IOS/IOS‑XE роутер |
OSPF, EIGRP, BGP, NAT, ACL, GRE, IPSec |
Маршрутизация, безопасность, туннели |
|
L3‑коммутатор (Cat9k) |
OSPF, EIGRP, BGP, NAT, ACL, GRE, IPSec |
Коммутация + L3, отказоустойчивость |
|
Nexus (NX‑OS) |
VPC, OTV, VXLAN, BGP, PIM |
ЦОД, мультикаст, L2‑растягивание |
|
ASA |
Security policies, NAT, IPSec, SSL VPN |
Межсетевой экран, VPN |
|
FTD |
Firepower policies, IDS/IPS, URL |
Продвинутая безопасность |
После сетевого эмулятора Cisco CML хочу изучить сетевой эмулятор ContainerLab. Система построена также на работе контейнеров, что позволяет использовать меньше ресурсов персонального компьютера, особенно при запуске одновременно 10 виртуальных сетевых устройств. Но с оговоркой, что саму схему сложнее увидеть, необходимы сторонние модули для настройки. Я бы сказал хардкор, для того чтобы самим вести карту сетевого оборудования, как сетевой инженер. НО ContainerLab полностью открытый инструмент, что идеальной подходит для построения и изучения работы сетевого оборудования.
В ближайшем будущем планирую построить топологию сети для оценки навыков CCNP Encor в ContainerLab.
Всем спасибо за внимание.
ссылка на оригинал статьи https://habr.com/ru/articles/1055252/