02. Подготовка лабораторной
Теперь, когда мы знаем, как должна выглядеть инфраструктура, давайте попытаемся её построить. Ну и самое главное - разберём программную часть этого всего. Нам понадобится много виртуалок и мы будем их связывать с помощью виртуальной сети. Всё это можно сделать и в VirtualBox-е, но это не будет наглядно. Поэтому нам нужна программа GNS3.
Мы всё ещё будем использовать VirtualBox, чтобы работали виртуалки с линуксами, но за сеть и за наглядность будет отвечать GNS3. Сразу предупрежу, что она немного требовательная и рекомендуемый минимум по оперативке где-то 8 гигабайт. На самом деле, если ваша система использует мало памяти, то можно обойтись меньшей памятью. Я буду строить большую сетку с кучей виртуалок, вам же не обязательно так делать. Для разбора большинства тем хватит 3-4 одновременно запущенных виртуалок.
Если у вас основная система GNU/Linux, то вам для установки нужно будет добавить репозиторий, установить несколько пакетов и добавить вашего пользователя в несколько групп. Всё зависит от вашего дистрибутива, для убунту и дебиан инструкцию можно найти в документации на официальном сайте, а для других дистрибутивов есть статьи в интернете.
Что касается Windows, в официальной документации также есть инструкция, но там много лишнего, поэтому я покажу сам.
На официальном сайте GNS3 нажимаете Free Download, после чего вам нужно будет зарегистрироваться, чтобы скачать.
Дальше запускаете установщик, нажимаете Next, соглашаетесь с лицензией и ещё раз «Next».
Во вкладке выбора компонентов раскрываете Tools и убираете галочку с Solar-Putty. Это ssh клиент, чтобы мы могли подключаться к оборудованию. Мы же всё равно будем использовать другую утилиту - MobaXterm. После чего нажимаем Next.
Пока опять не появится окно с предложением бесплатно получить лицензию для SolarWinds Standard Toolset - это набор утилит для мониторинга сети. Нам это не нужно, мы будем делать свой мониторинг сети, поэтому нажимаем No. На этом завершаем установку и запускаем GNS3.
Нас встретит окно с начальными настройками и спросит, где мы будем запускать виртуальное оборудование. У GNS3 есть своя готовая виртуалка с линуксом, но мы всё равно все наши системы будем запускать через VirtualBox, и, чтобы не ставить лишнюю виртуалку, выбираем второй пункт и ставим галочку на «Больше не показывать». Затем Next, Next и finish.
Также скачиваем и ставим MobaXterm. С помощью неё мы будем подключаться к нашим виртуалкам по SSH. Установка довольно простая - просто next next и всё.
После чего в GNS3 заходите в Edit - Preferences - General - Console Applications - Edit и выбираете Mobaxterm. Затем нажимаете OK и Apply.
Также во вкладке Topology ставите галочку на «Show interface labes on new project». Это будет показывать нам названия интерфейсов, подключенных к сети, что будет полезно в будущем.
Также, из-за того, что мы часто будем создавать и удалять виртуалки, будет неудобно их постоянно регистрировать, поэтому вместо RHEL используем AlmaLinux - это один из дистрибутивов, который появился на замену Centos. Скачать его можно с официального сайта по ссылке. Архитектура x86_64, а версию берите последнюю. Я не буду разбирать установку, она ничем не отличается от установки RHEL или Centos. Вы можете использовать любой другой дистрибутив, но желательно всё таки Alma, чтобы избежать путаницы в названиях пакетов и прочих мелочах.
Что касается параметров виртуалки, назовите виртуалку просто «alma». Для установки можете выделить 1 гигабайт оперативки и 16 гигабайт дискового пространства. Среди пакетов выберите минимальную установку со стандартными пакетами.
Всё остальное на ваше усмотрение.
После создания виртуалки выключите её и создайте её клон. Он вам понадобится, чтобы быстро восстановить виртуалку, если вдруг что-то с ней случится. Всё дело в том, что GNS немного капризный в работе и можно случайно попортить связь между GNS3 и VirtualBox. Поэтому и создадим клон на всякий случай.
После создания виртуалки возвращаемся в настройки GNS. Теперь во вкладке VirtualBox VMs нажимаем New и из списка виртуалок выбираем alma. Не забываем поставить галочку «Use as a linked base VM», что позволит нам простым перетягиванием создавать новые виртуалки, используя эту как образ.
Затем в списке слева появится alma. Нажимаем на неё - Edit - меняем количество оперативки на 512MB и ставим галочку «Start VM in Headless mode». Это позволит запускать виртуалку без нового окна с консолью, так как мы всё равно будем подключаться по SSH.
Затем во вкладке Network меняем количество адаптеров на 4 и ставим галочку внизу, чтобы разрешить GNS3 управлять сетевыми адаптерами виртуалбокса. После чего нажимаем OK и Apply.
Закрываем окно настроек и нажимаем на иконку «New blank project» в верхней панели. В появившемся окне даём имя нашему проекту, по необходимости выбираем директорию и нажимаем OK.
Затем нажимаем на иконку монитора в левой панели - откроется панель с устройствами, среди которых наша alma. Попробуем перетянуть её в центральную часть.
При этом создаётся копия виртуалки. В самом виртуалбоксе можно будет увидеть эту виртуалку, ну и у этих двух виртуалок в названии появятся метки. Не трогайте эти виртуалки в VirtualBox - не удаляйте и ничего не меняйте. Ими управляет GNS, и, как я говорил, GNS очень капризный. Если вы случайно удалите виртуалку или что-то в ней испортите, то весь ваш проект в GNS перестанет запускаться, а для его восстановления придётся не мало повозиться. Когда вы будете закрывать GNS, виртуалки из проекта будут пропадать из виртуалбокса, а при запуске проекта - появляться.
Теперь попробуем запустить виртуалку. Для этого в GNS нажмите правой на ней и нажмите Start.
После чего в виртуалбоксе видно, что виртуалка запустилась. Значит всё окей.
Чтобы выключить виртуалку, опять же, в GNS нажимаем правой кнопкой мыши на виртуалке и нажимаем Stop. Всегда перед выходом из GNS предварительно выключайте все виртуалки.
Ну и всегда при запуске GNS дожидайтесь, чтобы отработал его запуск и появилось окно с выбором проектов. Иногда это может занять время, но лучше подождать.
Есть другие программы по типу GNS, есть другие гипервизоры, другие ssh клиенты, другие дистрибутивы - и вы вольны использовать всё что угодно. Но я работал именно с такой связкой, поэтому, если у вас возникнут проблемы - с этими инструментами мне будет легче вам помочь.