Создание и настройка стенда на GNS3 для проведения лабораторных работ по сетевой безопасности

Введение

В современном мире сетевая безопасность стала одним из ключевых аспектов в области информационных технологий. Для практического освоения принципов защиты сетей и систем, создание и настройка виртуального стенда являются важным этапом в обучении специалистов по сетевой безопасности. В этой статье мы рассмотрим шаги по созданию и настройке стенда на GNS3, популярной платформе для моделирования сетей, с целью проведения простых лабораторных работ по сетевой безопасности.

Что такое GNS3?

GNS3 (Graphical Network Simulator-3) — это программное обеспечение с открытым исходным кодом, которое моделирует сложные сети, максимально приближаясь к тому, как работают реальные сети. И все это без специального сетевого оборудования, такого как маршрутизаторы и коммутаторы.

Архитектура

GNS3 состоит из двух частей:

  1. Клиентская часть (GNS3-all-in-one)

    Представляет из себя графический интерфейс (GUI) в котором создаются топологии.

  2. Серверная часть

    Это ПО, на котором запускается эмуляция работы устройств из вашей топологии. Это может быть встроенный в клиентскую часть сервер, локальная или удаленная виртуальная машина.

В качестве серверной части рекомендуется использовать виртуальные машины, которые представлены для разных платформ (VMware, Virtualbox и т.д.). GNS3 может быть использован и без серверной части, но это сильно ограничивает его функции.

GNS3 поддерживает как эмуляцию, так и симуляцию устройств:

  • Эмуляция: GNS3 имитирует или эмулирует аппаратное обеспечение устройства, и вы запускаете реальные ОС на виртуальном устройстве. Например, вы можете скопировать Cisco IOS с реального физического маршрутизатора Cisco и запустить его на виртуальном эмулируемом маршрутизаторе Cisco в GNS3.
  • Симуляция: GNS3 имитирует функции и возможности такого устройства, как коммутатор. Вы используете не настоящие ОС (например, Cisco IOS), а скорее симулированное устройство, разработанное GNS3, например встроенный коммутатор L2.

Установка GNS3

Первым делом требуется установить клиентскую часть GNS3 на вашем ПК. Последние версии под разные ОС находятся по ссылке.

Инструкции по установке доступны в официальной документации: Windows, Linux, Mac.

Также нам понадобится установить виртуальную машину GNS3.

При написании этой статьи использовалась клиентская часть версии 2.2.45 и виртуальная машина для VMware Workstation с такой же версией. В качестве хостовой системы используется EndeavourOS (основан на Arch Linux).

Настройка GNS3

При первом запуске откроется Мастер настройки.

Мастер настройки

Выбираем 1 пункт "Run appliances in a virtual machine", так как мы будем использовать виртуальную машину для эмуляции устройств и нажимаем Next. Откроется окно настройки локального сервера.

Настройки локального сервера

Здесь меняем Host binding на сеть VMware Host-only, так как GNS требует, чтобы локальный сервер работал в той же сети, что и виртуальная машина. Порт можно выбрать любой. В Linux-based системах лучше выбирать порт выше 1024, так как они не требуют для запуска root-прав. Нажимаем Next. Начнётся проверка локального сервера.

Проверка подключения к локальному серверу

Если вы всё правильно установили, то GNS3 напишет, что подключение прошло успешно. Нажимаем Next. Откроется окно настройки виртуальной машины.

Настройки виртуальной машины

Здесь выбираем VMware. Если вы уже импортировали GNS3 VM, то она отобразится в списке, если же вы этого ещё не сделали, то самое время скачать и импортировать её в VMware и после нажать Refresh. Вы можете установить любое число виртуальных ядер и памяти, для примера установлено 4 ядра и 16 Гб оперативной памяти. Нажимаем Next. Откроется окно подтверждения.

Подтверждение настроек виртуальной машины

Проверьте настройки и нажимайте Finish. Если вы сделали всё правильно, то в VMware должна была запустится виртуальная машина.

Окно VMware

Главное окно GNS3

После настройки GNS3 должно открыться окно создания проекта. Если вы его случайно закрыли, или по какой-то причине оно не открылось, то его можно открыть вручную: File -> New Blank Project.

Создание нового проекта GNS3

Можете назвать свой проект как угодно. Я назову его sample_project. После нажмите OK. Теперь доступно главное окно GNS3.

Главное окно GNS3

Окно содержит множество элементов, рассмотрим каждое из них.

Рабочее пространство

Рабочее пространство это окно, в котором создаются топологии.

Рабочее простанство

Панель инструментов

Здесь представлены кнопки для быстрого доступа к инструментам.

Панель инструментов

Панель устройств

Здесь представлены все устройства, которые могут быть в вашей топологии.

Панель устройств

Устройства сгруппированы в следующие группы:

КнопкаНазвание
Роутеры
Коммутаторы и хабы
Конечные устройства (ПК, Облако и т.д.)
Устройства безопасности
Все устройства
Добавить соединение

Информация о топологии

Здесь указаны все устройства в сети и их состояние (включено/выключено).

Информация о топологии

Информация о серверах

Если при установке и настройке вы сделали всё правильно, то в окне Servers Summary должны отображаться два сервера: локальный (на скриншоте arslan-laptop) и виртуальная машина (на скриншоте GNS3 VM). Также здесь отображается нагруженность серверов и какие устройства на них работают.

Информация о серверах

Создание первой топологии

Создадим простую топологию:

  • Три компьютера
  • Один коммутатор

Компьютеры будут иметь статические IP-адреса, чтобы не требовался DHCP-сервер в сети.

Первым делом создадим три компьютера. Откроем группу End Devices в панели устройств и перетащим VPCS (Virtual PC Simulator) в рабочую зону.

Группа End Devices

При добавлении устройства нам предлагают выбор сервера. Выбираем виртуальную машину.

Выбор сервера

После добавления всех компьютеров, рабочая область должна выглядеть примерно так:

Топология с компьютерами

Добавим в топологию Ethernet Switch из группы Switches:

Группа Switches

Так же, как и при добавлении сервера, выбираем в качестве сервера нашу виртуальную машину. Сейчас рабочая область выглядит вот так:

Топология с добавленным коммутатором

Теперь нам нужно добавить соединения между устройствами. В панели устройств выбираем Add a Link и нажимаем на PC1. Появится выбор порта. В случае с VPCS нам доступен только один порт.

Выбор порта у PC1

Соединяем его со Switch1. Нажимаем на Switch1 и выбираем порт Ethernet0.

Выбор порта у Switch1

Мы успешно создали первую связь. Необходимо проделать то же самое с другими ПК. Должно получится следующим образом:

Топология со связями

Обратите внимание на цвета у связей. В таблице приведены все возможные цвета:

Цвет Состояние
Красный Устройство выключено
Жёлтый Устройство приостановлено
Зелёный Устройство включено

{% hint style="warning" %} Примечание: Если устройство помечено зелёным, то это ещё не значит, что порт находится в рабочем состоянии (он может быть выключен программно). Рекомендуется перепроверять, что порт включен через конфигурацию. {% endhint %}

Запустим все устройства в топологии. Для этого нажмём кнопку Play в панели инструментов.

Запуск топологии

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

Запущенная топология

VPCS представляет собой очень упрощенное устройство, поэтому управлять им можно только через командную консоль.

Консоль VPCS

Пусть все наши ПК находятся в одной сети 10.10.10.0/24. Назначим IP-адреса следующим образом

Компьютер IP-адрес
PC1 10.10.10.1
PC2 10.10.10.2
PC3 10.10.10.3

В VPCS адреса назначаются через команду ip:

Установка IP-адреса у PC1

Проделаем это для остальных ПК в топологии:

Установка IP-адреса у PC2

Установка IP-адреса у PC3

Проверим, что все ПК видят друг друга через команду ping:

Команды ping на PC1

Команды ping на PC2

Команды ping на PC3

Если все пинги прошли успешно, то поздравляю, вы успешно создали свою первую топологию в GNS3!

А что дальше?

На самом деле, с помощью стандартных устройств GNS3 нужные топологии не сделать. Есть специальный сайт, где представлено множество устройств, преднастроенных проектов и ПО. Установка выходит за рамки статьи, но есть туториал.

Ещё рекомендую вам самим изучить документацию к GNS3, так как она содержит много полезных вещей, которые были опущены в статье.

Заключение

В этой статье мы разобрали, как установить GNS3 с виртуальной машиной, как их настроить и как сделать свою первую топологию. Надеюсь, что она вам пригодится в рамках выполнения лабораторных работ по сетевой безопасности.