Лабораторная работа №1: Подготовка инфраструктуры и сети
Цель работы
Section titled “Цель работы”Научиться создавать виртуальные машины, настраивать между ними сетевое взаимодействие и организовывать безопасный доступ по SSH с использованием ключей.
Основные теоретические положения
Section titled “Основные теоретические положения”1. Виртуализация
Section titled “1. Виртуализация”Технология, позволяющая запускать несколько изолированных операционных систем (гостевых ОС) на одном физическом компьютере (хосте). Это основа для создания воспроизводимых и изолированных сред.
- Рекомендуемая литература: Что такое виртуализация? (Red Hat)
2. Сетевые режимы VirtualBox
Section titled “2. Сетевые режимы VirtualBox”Для связи ВМ с внешним миром и между собой используются разные сетевые режимы. В этой работе мы используем два ключевых:
- NAT (Network Address Translation): Позволяет ВМ выходить в интернет через хост-машину. ВМ находится за “виртуальным роутером” и не видна из внешней сети. Идеально для скачивания пакетов.
- Виртуальный адаптер хоста (Host-only Adapter): Создает полностью изолированную виртуальную сеть, в которую входят хост-машина и выбранные ВМ. Машины в этой сети могут общаться друг с другом, но не имеют доступа в интернет через этот адаптер. Идеально для создания внутренней сети проекта.
- Рекомендуемая литература: Глава 6. Виртуальные сети (Документация VirtualBox)
3. SSH (Secure Shell)
Section titled “3. SSH (Secure Shell)”Протокол для безопасного удаленного управления операционной системой. Состоит из двух частей: клиента (ssh) для подключения и сервера (sshd), который принимает подключения. Аутентификация по ключу является промышленным стандартом, так как она гораздо безопаснее паролей.
- Рекомендуемая литература: SSH-ключи: инструкция по использованию
Задания для выполнения
Section titled “Задания для выполнения”-
Создание виртуальных машин (25 мин):
- Установить VirtualBox, если он не установлен.
- Создать три виртуальные машины:
Main-server,Web-node,Db-node. - Рекомендуемые параметры: 1 CPU, 1-2 ГБ RAM, 10-20 ГБ диск, ОС Ubuntu Server 22.04.
- Для каждой ВМ настроить два сетевых адаптера:
- Адаптер 1:
NAT— для доступа в интернет. - Адаптер 2:
Виртуальный адаптер хоста— для связи между ВМ.
- Адаптер 1:
-
Базовая настройка ОС и сети (35 мин):
- Запустить все три ВМ и выполнить первоначальную настройку ОС.
- (ВАЖНО) Установка SSH-сервера: На
Web-nodeиDb-nodeубедитесь, что установлен SSH-сервер. Если его нет, установите и запустите:Terminal window sudo apt updatesudo apt install openssh-serversudo systemctl enable ssh --now - Настроить статические IP-адреса для второго сетевого адаптера. Откройте файл
/etc/netplan/01-netcfg.yaml(или аналогичный) и приведите его к виду:network:version: 2ethernets:enp0s3: # Имя первого адаптера (NAT)dhcp4: trueenp0s8: # Имя второго адаптера (Host-only)dhcp4: no# IP-адреса: .10 для Main-server, .11 для Web-node, .12 для Db-nodeaddresses: [192.168.56.11/24] # Укажите правильный IP для каждой машины! - Применить конфигурацию (
sudo netplan apply). - Проверить сетевую связность между машинами с помощью команды
ping. СMain-serverдолжны “пинговаться”192.168.56.11и192.168.56.12.
-
Настройка беспарольного доступа по SSH (30 мин):
- На управляющей машине
Main-serverсгенерировать пару SSH-ключей:ssh-keygen -t rsa -b 4096. На все вопросы можно нажимать Enter. - Скопировать публичный ключ с
Main-serverнаWeb-nodeиDb-nodeс помощью утилитыssh-copy-id:Terminal window ssh-copy-id user@192.168.56.11ssh-copy-id user@192.168.56.12 - Проверить, что с
Main-serverможно зайти наWeb-nodeиDb-nodeпо SSH без ввода пароля.
- На управляющей машине
Контрольные вопросы
Section titled “Контрольные вопросы”- Зачем в лабораторной работе используется два сетевых адаптера для каждой ВМ?
- В чем разница между SSH-клиентом и SSH-сервером?
- В чем преимущество SSH-ключей перед парольной аутентификацией?
- Какая команда используется для проверки сетевой доступности другого хоста?