Перейти к основному содержимому

Часть 1. Подготовка виртуальной машины

к сведению

Процесс развертывания виртуальной машины показан на VirtualBox 7.0, установленный на хостовую машину с операционной системой Manjaro (Linux).

Установка операционной системы виртуальной машины

  1. Устанавливаем VirtualBox.

  2. Скачиваем образ для установки дистрибутива Ubuntu Server 22.04 с официального сайта. Вы можете выбрать любой способ загрузки, подходящий вам, например через Torrent клиент.

    к сведению

    Во время подготовки материала использовался образ ubuntu-22.04.3-live-server-amd64.iso, как наиболее универсальный вариант.

  3. Пока качается образ - создаем виртуальную машину (далее ВМ) в системе виртуализации. Ставить будем в VirtualBox (далее VB)

    Открываем окно создания виртуальной машины:

    create-vm-1

    Как назвать - дело ваше. Удобно набрать "ubuntu" в названии, тогда VB сразу подставит значения для Ubuntu в выпадающие списки.

    Важно указать, что мы хотим пропустить автоматическую установку:

    create-vm-2

    Для виртуальной машины рекомендуется задать оперативную память 4096 МБ. На странице официальной странице дистрибутива указано, что минимальным требование является 1024 МБ. Этот параметр вы можете изменить в будущем в настройках виртуальной машины:

    create-vm-3

    Выделяем диск. Использовать рекомендуется динамический виртуальный диск. Тогда покуда внутри ВМ вы не забьете место на диске - оно не будет занято и в вашей хостовой системе. Фактический размер будет динамически растягиваться под требования (но автоматически сжиматься не будет). Достаточно будет и 25 GiB. Лучше сразу больше, все равно место оно не занимает, пока не потребуется:

    create-vm-4

    После того, как задали все параметры, нажимаем "Готово".

  4. Идем в настройки VirtualBox и создаем новую сеть NAT. Настраиваем проброс портов 127.0.0.1:2222 -> 10.0.5.5:22. Это нам потребуется для того, чтобы мы могли по SSH подключиться к виртуальной машине из хостовой.

    create-net-1

    Переходим к созданию новой сети NAT:

    create-net-2

    Указываем, что хотим создать подсеть 10.0.5.0/24:

    create-net-3

    Далее делаем проброс портов 127.0.0.1:2222 -> 10.0.5.5:22:

    create-net-4

    После того, как все указали, применяем настройки сети и проброса портов.

  5. В настройках ВМ в системе виртуализации выбираем загруженный образ в качестве содержимого оптического носителя, чтобы с него загрузиться:

    create-choose-cd-1

    create-choose-cd-2

  6. В настройках ВМ в пункте "Сеть" выбираем "Сеть NAT" и нашу новую сеть:

    create-choose-net-1

    Незабываем подтвердить внесенные изменения в виртуальную машину.

  7. Запускаем виртуальную машину и устанавливаем систему. Подробно рассматривать процесс установки не будем, остановимся только на самых важных деталях. Руководство по установке Ubuntu Server.

    Выбираем пункт Try or Install Ubuntu Server:

    install-ubuntu-1

    Выбор региона и раскладки клавиатуры. Если выбираете себе что-то, кроме английской раскладки - дело ваше, страдать Вам. Мы оставим все все по умолчанию:

    install-ubuntu-2

    install-ubuntu-3

    Оставим также по умолчанию то, что хотим устанавливать:

    install-ubuntu-4

    Далее настройки сетевого интерфейса. Оставляем по умолчанию:

    install-ubuntu-5

    Proxy - пропускаем, оставляем пустым:

    install-ubuntu-6

    Какое зеркало для загрузки репозиториев использовать - выбираем ru.archive.ubuntu.com - зеркало Yandex:

    install-ubuntu-7

    Настройки разметки диска. Оставляем все по умолчанию - система автоматически поставится поверх LVM. Для реальных систем идут жаркие споры о том стоит или не стоит ставить систему на LVM:

    install-ubuntu-8

    install-ubuntu-9

    install-ubuntu-10

    Настройки пользователя, hostname - сетевое имя системы и пароля. Пароль root (пользователя с идентификатором (UID - user ID) 0 и имеющим неограниченные привилегии, аналог администратора, далее будем называть его root) не устанавливается. Задаем пароль только для своего основного пользователя. Настоятельно не советуем ставить свой настоящий сложный пароль на ВМ. После ввода его попросят еще раз для подтверждения:

    install-ubuntu-11

    Пропускаем рекламу:

    install-ubuntu-12

    Выбираем установить OpenSSH-сервер:

    install-ubuntu-13

    Пропускаем установку дополнительных пакетов:

    install-ubuntu-14

    Ждем завершения установки системы:

    install-ubuntu-15

    Подтверждаем изъятие диска:

    install-ubuntu-16

    ВМ "на логине". Пробуем войти своим пользователем. Если все введено верно, то вы увидите приглашение ввода команд (command prompt):

    install-ubuntu-17

    Если загружается снова установка, то проверьте в параметрах ВМ то, что диск извлечен:

    install-ubuntu-18

Создание снимка

Делаем мгновенный снимок виртуальной машины, если ваша система виртуализации это поддерживает. Тогда в любой момент мы сможем вернуться на данное состояние системы, если что-то сломаем. В VB переходим во вкладку "Снимки" (Snapshots) и нажимаем "сделать". Названия не принципиальны.

примечание

Люди делятся на два типа:

  • Еще не делают бэкапы;
  • Уже делают бэкапы.

make-snapshot-1

make-snapshot-2

make-snapshot-3

make-snapshot-4

Что-нибудь изменим в системе, например напишем пару команд и выключим ВМ. Теперь попробуем восстановить мгновенный снимок. Если все в полном порядке, вы откатитесь к состоянию ВМ на момент завершения установки виртуальной машины.

примечание

Люди, которые делают бэкапы, делятся на два типа:

  • Еще не проверяют свои бэкапы после создания;
  • Уже проверяют свои бэкапы после создания.

make-snapshot-5

Настройка сети

Посмотрите, какой IP адрес был получен в созданной нами NAT сети с помощью следующей команды:

ip a

netplan-1

Установим статический адрес ВМ, чтобы при перезагрузке наша ВМ не получала от DHCP нашей сети случайны адрес из пула адресов.

Для это мы воспользуемся утилитой Netplan.

Все конфигурационные файлы Netplan находятся в папке /etc/netplan/. Во время запуска службы, она преобразовывает свою конфигурацию в конфигурацию той службы, которая будет управлять сетью и помещает её в каталог /run/. По умолчанию в Ubuntu есть только один конфигурационный файл. Его мы и откроем на редактирование:

sudo nano /etc/netplan/00-installer-config.yaml

Заменим его текущее содержимое следующим:

netplan-2

В данном случае мы установим статический IP-адрес на сервере Ubuntu 22.04 на 10.0.5.5/24 со шлюзом по умолчанию 10.0.5.1 и DNS-серверами 10.0.5.1. Подробнее о синтаксисе можете узнать здесь.

После того, как мы подправили мы должны сохранить изменения в файл. В текстовом редакторе Nano нужно вызвать комбинацию ctrl+x и подтвердить то, что мы хотим сохранить изменения в файл.

Далее мы применим изменения Netplan с помощью команды:

sudo netplan apply

Если все прошло успешно, то ip a нам покажет, что мы имеет интересующий нас адрес:

netplan-3

Проверим с помощью ping ya.ru то, что мы имеем выход в интернет:

netplan-4

Делаем доступным ssh

Модуль "system" управляет службой SSH во всех последних дистрибутивах Ubuntu. Таким образом, вы можете использовать команды "systemctl" для управления службой SSH.

Чтобы запустить службу SSH и добавить ее в автозапуск, используйте следующую команду:

sudo systemctl enable ssh

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

sudo systemctl status ssh

ssh-enable

После включения SSH-сервера вы можете использовать его для инициирования удаленных подключений, а также принимать входящие запросы на подключение. Используйте следующую команду ssh для удаленного подключения SSH-сервера:

ssh <имя пользователя>@localhost -p 2222

Мы используем атрибут -p 2222, чтобы воспользоваться пробросом портов, который мы делали при настройки сети NAT VB.

При первом подключении от вас потребуется подтвердить, что вы хотите добавить виртуальную машину в известные хосты. Для этого введите yes на соответствующий запрос:

The authenticity of host '[localhost]:2222 ([127.0.0.1]:2222)' can't be established.
ED25519 key fingerprint is SHA256:oLDQlGjAow+wh2RDzTzts8EAQZ4iKAmZ958oSmt6QgY.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[localhost]:2222' (ED25519) to the list of known hosts.

Если все получилось, то отобразится приглашение ввода команд:

check-ssh