Skip to content

Лабораторная работа №1: Подготовка инфраструктуры и сети

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

Основные теоретические положения

Section titled “Основные теоретические положения”

Технология, позволяющая запускать несколько изолированных операционных систем (гостевых ОС) на одном физическом компьютере (хосте). Это основа для создания воспроизводимых и изолированных сред.

Для связи ВМ с внешним миром и между собой используются разные сетевые режимы. В этой работе мы используем два ключевых:

  • NAT (Network Address Translation): Позволяет ВМ выходить в интернет через хост-машину. ВМ находится за “виртуальным роутером” и не видна из внешней сети. Идеально для скачивания пакетов.
  • Виртуальный адаптер хоста (Host-only Adapter): Создает полностью изолированную виртуальную сеть, в которую входят хост-машина и выбранные ВМ. Машины в этой сети могут общаться друг с другом, но не имеют доступа в интернет через этот адаптер. Идеально для создания внутренней сети проекта.
  • Рекомендуемая литература: Глава 6. Виртуальные сети (Документация VirtualBox)

Протокол для безопасного удаленного управления операционной системой. Состоит из двух частей: клиента (ssh) для подключения и сервера (sshd), который принимает подключения. Аутентификация по ключу является промышленным стандартом, так как она гораздо безопаснее паролей.

Задания для выполнения

Section titled “Задания для выполнения”
  1. Создание виртуальных машин (25 мин):

    • Установить VirtualBox, если он не установлен.
    • Создать три виртуальные машины: Main-server, Web-node, Db-node.
    • Рекомендуемые параметры: 1 CPU, 1-2 ГБ RAM, 10-20 ГБ диск, ОС Ubuntu Server 22.04.
    • Для каждой ВМ настроить два сетевых адаптера:
      1. Адаптер 1: NAT — для доступа в интернет.
      2. Адаптер 2: Виртуальный адаптер хоста — для связи между ВМ.
  2. Базовая настройка ОС и сети (35 мин):

    • Запустить все три ВМ и выполнить первоначальную настройку ОС.
    • (ВАЖНО) Установка SSH-сервера: На Web-node и Db-node убедитесь, что установлен SSH-сервер. Если его нет, установите и запустите:
      Terminal window
      sudo apt update
      sudo apt install openssh-server
      sudo systemctl enable ssh --now
    • Настроить статические IP-адреса для второго сетевого адаптера. Откройте файл /etc/netplan/01-netcfg.yaml (или аналогичный) и приведите его к виду:
      network:
      version: 2
      ethernets:
      enp0s3: # Имя первого адаптера (NAT)
      dhcp4: true
      enp0s8: # Имя второго адаптера (Host-only)
      dhcp4: no
      # IP-адреса: .10 для Main-server, .11 для Web-node, .12 для Db-node
      addresses: [192.168.56.11/24] # Укажите правильный IP для каждой машины!
    • Применить конфигурацию (sudo netplan apply).
    • Проверить сетевую связность между машинами с помощью команды ping. С Main-server должны “пинговаться” 192.168.56.11 и 192.168.56.12.
  3. Настройка беспарольного доступа по 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.11
      ssh-copy-id user@192.168.56.12
    • Проверить, что с Main-server можно зайти на Web-node и Db-node по SSH без ввода пароля.
  1. Зачем в лабораторной работе используется два сетевых адаптера для каждой ВМ?
  2. В чем разница между SSH-клиентом и SSH-сервером?
  3. В чем преимущество SSH-ключей перед парольной аутентификацией?
  4. Какая команда используется для проверки сетевой доступности другого хоста?