====== NETSHe _ GNS3 Installation Guide RU ====== {{NETSHe _ GNS3 Installation Guide RU.odt|Original file}} Контактные данные организации{{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_0.gif}}{{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_1.png}} NETSHe & GNS3 Руководство по установке и настройке Контактные данные организации**Версия**** ****2****.0** **Апрель****, 20****20** ====== Введение ====== NETSHe Lab длительное время занимается разработками программного обеспечения для сетевых устройств, провайдеров услуг и операторов связи. Среди программного обеспечения центральное место занимает операционная система NETSHe, которая может быть использована в широком спектре сетевых устройств и сервисов, среди которых можно отметить: - Полноценный маршрутизатор, реализующий как статическую и динамическую маршрутизацию RIP/OSPF/BGP, так и резервирование и балансировку соединений; - поддержку туннелей на базе IPIP, L2TP, PPPTP, PPPoE, GRE, OpenVPN, IPsec и др. с возможностью передачи трафика уровней L2 и L3 модели OSI; - Полноценный межсетевой экран; - Построение динамических полносвязных выделенных сетей с шифрованием (DM VPN); - поддержку беспроводных сетей и сотовых соединений. Сокращение затрат и стоимости владения всегда было приоритетом NETSHe Lab. В рамках данной стратегии нами предоставляется единый унифицированный веб-интерфейс управления устройствами, позволяющий применять единый набор знаний и навыков. Научившись управлять самым простым из наших устройств, пользователь сможет продуктивно начать работать и с самыми сложным. Безусловно, наличие средств и инструментов, позволяющих без вложений познакомиться с NETSHe, просимулировать возможные сценарии использования, а также проверить совместимость с иными устройствами, является еще одним элементом стратегии сокращения затрат пользователей. Для знакомства с NETSHe, проведения разного рода симуляций и использования в учебном процессе, нами предлагается использовать широко известный сетевой симулятор GNS3, приложение NETSHe для симулятора и набор учебных проектов. **Что**** ****такое**** ****GNS****3?** Graphical Network Simulator, если перевести дословно, — графический симулятор сети. Он позволяет создавать различные сетевые топологии прямо на вашем компьютере. Чаще всего GNS используется в качестве лабораторного стенда, где можно проверить ту или иную технологию или схему. На самом деле GNS3 не симулятор, а эмулятор! Эмулятор позволяет создать модель компьютера или другого устройства и запускать внутри оригинальное программное обеспечение. Эмулируются все основные компоненты устройства, в том числе процессор, память и устройства ввода/вывода. Например, GNS3 позволяет создать модель маршрутизатора СISCO и запустить внутри реальную операционную систему Cisco IOS. Т.е. GNS3 предоставляет полнофункциональные маршрутизаторы, межсетевые экраны, интерконнект. **Почему GNS3?** - Первая и самая главная причина — полный функционал эмулируемых устройств. - Есть возможность построения гетерогенных сетей. Имеется ввиду, что мы можем собрать схему, где будут работать устройства NETSHe, Cisco, Juniper, Mikrotik, CheckPoint и т. д. - Добавление в сеть полноценных рабочих станций и серверов. - GNS3 является бесплатным и свободно распространяемым программным обеспечением. Больше информации о GNS3 можно найти на официальном сайте [[https://www.gns3.com|https://www.gns3.com]] в сети Интернет. Данный документ описывает процесс установки и настройки сетевого симулятора GNS3 на компьютерах под управлением Linux и Windows, импорта универсального образа устройства под управлением NETSHe, импорта проектов-примеров от NETSHe Lab и создания собственных проектов симуляции сетей и приложений с использованием NETSHe. ====== Общие замечания по установке, настройке и использованию GNS3 на Linux и Windows ====== Установка, настройка и использование GNS3 под Linux выглядит проще и удобнее ввиду отсутствия вложенной виртуализации и использования естественных для Linux средств виртуализации Qemu и KVM. Данный документ не является исчерпывающим руководством по работе с GNS3. Для ознакомления с принципами установки и работы GNS3 читатель может посмотреть видео в Интернете или воспользоваться многочисленной документацией. Так мы рекомендуем видеокурс на английском от одного из разработчиков: [[https://www.youtube.com/watch?v=LvLGEKD-oqA|https://www.youtube.com/watch?v=LvLGEKD-oqA]] [[https://www.youtube.com/watch?v=R6fSub4ycTk|https://www.youtube.com/watch?v=R6fSub4ycTk]] [[https://www.youtube.com/watch?v=anYw9pbAUiI|https://www.youtube.com/watch?v=anYw9pbAUiI]] В данном документе рассматриваются особенности настройки GNS3 под NETSHe и вопросы выбора средств виртуализации для решения поставленных задач. ====== Установка и настройка GNS3 на компьютере с Windows. ====== Установка GNS3 под Windows выполняется без особенностей. При первой загрузке GNS3 спросит пользователя, как запускать сервер. Если в распоряжении пользователя только один компьютер, то следует выбрать вариант ‘local server’ ‘tcp:3080’. В последствии эти настройки пользователь может наблюдать в разделе ‘Server’ меню настроек ‘Preferences’. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_2.png}} **Внимание!** GNS3 является ресурсоемким приложением. Не запускайте иные ресурсоемкие приложения во время работы GNS3. ===== Установка платформы виртуализации ===== Windows и GNS3 совместно поддерживают несколько вариантов виртуализации VMWare Workstation, VirtualBox, VMWare Player. К сожалению, GNS3 под Windows использует вложенную виртуализацию, в связи с чем работоспособность с VMWare Player находится под вопросом и в данном документе не рассматривается.\\ Вложенная вирутализация в VirtualBox появилась недавно, и в первую очередь для процессоров AMD. **Внимание!** NETSHe Lab настоятельно рекомендует использовать VMWare Workstation под Windows, так как этот способ обеспечивает максимальную функциональность симулятора при минимальном потреблении ресурсов и минимальных пользовательских настройках. Итак, лучшим вариантом является использование VMWare Workstation в качестве системы виртуализации. VMWare Workstation не является свободно распространяемым продуктом, однако доступен в течение 30 дней ознакомительного периода. Установка VMWare Workstation проходит без особенностей. В процессе создаются стандартные дополнительные сетевые адаптеры (loopback), которые впоследствии будут использоваться GNS3 для связи с внешним миром, компьютером или сетью пользователя. После установки VMWare (а равно любой иной системы виртуализации) пользователю следует загрузить шаблон виртуальной машины GNS VM c сайта [[https://www.gns3.com/software/download-vm|https://www.gns3.com/software/download-vm]]. Далее следует стандартная процедура импорта шаблона в систему виртуализации и старт виртуальной машины. Перед стартом необходимо в свойствах машины указать возможность поддержки Intel-VT. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_3.jpeg}} После запуска мишины пользователю следует убедиться, что виртуальная машина GNS3 успешно стартовала. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_4.jpeg}} Нажать ‘ОК’, убедиться, что основное меню машины отображается, и выключить машину, воспользовавшись последним пунктом этого меню ‘Shutdown’. ===== Настройка GNS VM ===== GNS VM включается в среду GNS3 в разделе ‘Service’ меню настроек ‘Preferences’. Нужные варианты легко выбираются из выпадающих списков, которые уже заполнены. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_5.jpeg}} При успешных настройках автоматически стартует виртуальная машина ‘GNS VM’, которая отображается в среде GNS3 справа в списке ‘Servers’. ===== Импорт приложения NETSHe ===== **Внимание!** Предварительно загрузите файл netshe.gns3a с сайта [[http://gw.stasoft.net/share/gns3/netshe.gns3a|http://gw.stasoft.net/share/gns3/netshe.gns3a]] или сайта [[http://netshe-lab.ru/files/gns3a/netshe.gns3a|http://netshe-lab.ru/files/gns3a/netshe.gns3a]] Для импорта приложения пользователю нужно воспользоваться пунктом меню ‘Files’->’Import Appliance’, где в диалоге выбрать предварительно загруженный файл netshe.gns3a. Приложение самостоятельно загружает образ виртуальной машины с сайта NETSHe Lab. Eсли у пользователя нет подключения к Интернет, то следует предварительно загрузить образ NETSHe с сайта [[http://gw.stasoft.net/share/gns3/NETSHe-5.3-amd64.vmdk|http://gw.stasoft.net/share/gns3/NETSHe-5.3-amd64.vmdk]] или [[http://netshe-lab.ru/files/gns3/NETSHe-5.3-amd64.vmdk|http://netshe-lab.ru/files/gns3/NETSHe-5.3-amd64.vmdk]] , где 5.3 — номер актуальной версии NETSHe. Проверить требуемую версию NETSHe, а также целостность скачанного файла можно по данным из файла .gns3a (version и md5sum в разделе [images]). После этих действий пользователь может увидеть в браузере устройств GNS3 новое устройство Qemu VM с именем ‘NETSHe OS’. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_6.jpeg}} Теперь пользователь может использовать эти устройства в своих тестовых стендах, просто вытаскивая их на поле проектов GNS3. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_7.jpeg}} ===== Работа с устройствами NETSHe в среде GNS3 ===== Все операции с данными устройствами выполняются аналогично работам с устройствами Cisco Systems или любыми другими. Контекстное меню у устройства имеет стандартный вид, а консоль автоматически подключается через установленное на компьютере пользователя приложение, например, РuTTy. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_8.jpeg}} Следует заметить, что только интеграция GNS VM с помощью VMWare Workstation позволяет получить в тесты весь функционал операционной системы NETSHe. ===== Работа с проектами. Перенос проектов с других компьютеров. ===== Когда NETSHe интегрирована в среду GNS3, можно начать работу с уже сделанными (или примерными) проектами. Загрузить примерные проекты можно по ссылкам [[http://gw.stasoft.net/share/gns3/projects/|http://gw.stasoft.net/share/gns3/projects/]][[|или]] [[http://netshe-lab.ru/files/gns3/projects/|http://netshe-lab.ru/files/gns3/projects/]] Файлы проектов имеют расширение .gns3project и имеют внутри все необходимое для дальнейшей работы. Средствами среды можно открыть любой файл проекта, ранее сделанный, например, на Linux. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_9.jpeg}} **Внимание!** При переносе проектов с Linux на Windows и обратно следует учесть разницу исполняемых сред (Qemu внутри GNS VM машины на Linux или Qemu непосредственно на Linux) и, как следствие, разные интерфейсы, подключаемые в проекты. Поясним на примере проекта, принесенного с Linux в GNS3 под Windows. Для подключения к Интернет и доступа к веб-интерфейсу (WebUI, Web User Interface) устройства с NETSHe проект содержит компонент Cloud. Для этого компонента надо изменить интерфейс в его настройках, как это показано на следующей картинке: {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_10.jpg}} Пошаговые действия таковы: - - удалить линк, соединяющий Cloud c другим компонентом проекта, на котором желательно запомнить имя соединяемого порта, - - в контекстном меню Cloud выбрать Configure, - - в списке интерфейсов удалить virbr0 и добавить Ethernet, - - восстановить линк. После этого пользователь получает не только работающий проект, но и стандартными средствами уже соединенный с Интернетом через новый для него компьютер, если это было сделано в проекте ранее. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_11.jpeg}} Открытый проект содержит все свойства исходного, например, на картинке ниже у VPCs отсутствуют назначенные адреса, поэтому часть хостов показаны недоступными. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_12.jpeg}} ===== Особенности использования VirtualBox ===== Как уже говорилось выше, пользователь получает полофункциональную среду на Windows только с использованием VMWare Workstation. Связано это с работой GNS VM + Qemu, если будущие версии GNS3 позволят реализовать эту связку на базе другой виртуальной платформы, то и NETSHe автоматически заработает в той среде. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_13.jpeg}} К сожалению, в настоящее время запустить GNS VM на Virtual Box можно (картинка выше), но при этом запрос Qemu при импорте приложения NETSHe вернет пустой ответ, а значит NETSHe как Qemu VM не будет доступна. Это можно обойти через импорт виртуальных машин VirtualBox. В этом случае каждое устройство NETSHe будет исполняться на отдельной виртуальной машине в среде VirtualBox. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_14.jpeg}} Однако при этом функционал будет сильно урезан, и вызвано это опять ограничениями GNS3. - Только однократно виртуальную машину VirtualBox можно использовать в проекте, при попытке вытащить на поле вторую, GNS3 выдаст соответствующую ошибку. - Другие устройства NETSHe в проект можно завести как отдельные виртуальные машины, создав клон из первой средствами VirtualBox. Понятно, что это процесс и трудоемкий, и ресурсоемкий. Учитывая вышеизложенное, мы рекомендуем использовать VirtualBox, только для начального ознакомления с NETSHe. ====== Установка, настройка и использование GNS3 на компьютере с Linux. ====== В настоящем документе мы будем использовать версии 2.2.x GNS3 и дистрибутивы основанные на Ubuntu 16.04/18.04. К сожалению, Ubuntu 16.04/18.04 и деривативы имеют старый GNS3 в репозитории. В сети Интернет имеется немало руководств по установке GNS3 в различных Линукс дистрибутивах. В том числе руководства по установке из исходных кодов. Мы не будем использовать исходный код, а поставим свежий GNS3 из PPA-репозитория. Будем использовать подключение к сети Интернет, консольный режим и введем команды: **sudo apt-get update** **sudo apt-get upgrade** **sudo apt-get install qemu qemu-kvm** После запуска данной команды нужно согласиться с возможным запросом на обновление программных компонентов системы пользователя. Далее следует ввести команды: **sudo**** ****add****-****apt****-****repository**** ****ppa****:****gns****3/****ppa** **sudo apt-get update** **sudo apt-get install gns3-gui** После запуска команды, потребуется некоторое время на загрузку приложений и их установку. По завершению установки система запросит разрешения на возможность захвата пакетов и исполнение GNS3 непривелегированными пользователями. Ответьте «Да» (Yes) на оба вопроса. Если необходимо использовать образы Cisco в симуляторе, выполните следующие три команды: **sudo dpkg --add-architecture i386** **sudo apt-get update** **sudo apt-get install gns3-iou** Перезагрузите компьютер. После перезапуска компьютера найдите в интерфейсе значок/меню с GNS3 и запустите его. При запуске первый раз, GNS3 задаст несколько вопросов: {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_15.png}} Выберите пункт «Run application on my local computer». При следующем вопросе согласитесь с выбором GNS3. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_16.png}} В случае успеха GNS3 сообщит Вам, что удачно соединился с локальным сервером и сам найдет Qemu. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_17.png}} Установка и настройка завершены. Можно переходить к импорту приложения NETSHe. Для этого нужно открыть меню «File→Import appliance» и указать путь файлу netshe.gns3a {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_18.png}} Пройдите мастер импорта. В нашем случае образ виртуальной машины NETSHe находился в том же каталоге, что и файл .gns3a. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_19.png}} {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_20.png}}{{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_21.png}}{{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_22.png}}{{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_23.png}}Импорт удачно завершен. Можно переходить к созданию первого проекта. {{руководство_по_установке_и_инсталляции_gns3_и_netshe_Image_24.png}} Следует выбрать пункт меню «File→New blank project» и щелкнуть по списку маршрутизаторов (первый значок в левом столбце), далее перетащить символ NETSHe OS в поле проекта. **Несколько замечаний по конфигурации образа NETSHe для GNS3**: - Образ собран с поддержкой до 5-ти Ethernet интерфейсов. Все интерфейсы имеют имена еth0-eth4. - Интерфейс еth0 — это внешний интерфейс (WAN к вышестоящему маршрутизатору). По-умолчанию на нем запущен DHCP-клиент. Интерфейс настроен в режиме бэкапа для другого WAN интерфейса. Входяший трафик на этом интерфейсе будет отбрасываться за исключением ICMP пакетов и доступа к веб-интерфейсу (TCP порт 5556). Используйте этот интерфейс для подключения к объекту Cloud для автоматического получения адреса. А так же используйте адрес этого интерфейса для доступа к веб-интерфейсу устройства, узнать его можно консольной CLI-командой: **ifconfig eth0** - Интерфейс eth1 — это внутренний интерфейс LAN. Он имеет адрес 192.168.1.1/24 и на нем запущен DHCP-сервер. На интерфейсе нет ограничений на входящий трафик и настроен NAT в направлении интерфейса еth0. - Интерфейс eth2 — это интерфейс в сторону серверов (DMZ). Он имеет адрес 172.16.0.1/24. Для зоны DMZ настроен проброс портов из зон WAN и LAN TCP 80 на адрес 172.16.0.2 порт 80 и UDP 53 на адрес 172.16.0.3 порт 53. Из зоны настроен NAT в зоны WAN и LAN. - Интерфейс eth4 — это основной WAN интерфейс. Используйте его в своих проектах для подключений со статической адресацией. - Доступ к веб-интерфейсу устройств NETSHe на порту 5556: Полный — superuser/abC123dEf_ , Ограниченный — root/root, Доступ по SSH из зоны LAN — root/root.