Ubuntu server на virtualbox как настроить сеть: Установка Ubuntu Server на VirtualBox. Настройка сети

Содержание

Настройка сети в гостевой Ubuntu 16.04 Server на VirtualBox + Windows 7 / Хабр

Весна, снова потянуло на эксперименты. Ну, в моем понимании этого слова. Решил поставить себе в Windows 7 виртуальную машину, а в эту машину — Ubuntu 16.04 Server (под которой работает хостинг для моих сайтов). И не то чтобы меня как-то OpenServer не устраивает — он как раз весьма неплох в качестве домашнего WAMP-а, но всё же иногда хочется иметь под рукой локально и LAMP, ну просто потому что. В качестве виртуальной машины [ожидаемо] выбрал VirtualBox.

В целом, установка Ubuntu 16.04 Server на VirtualBox каких-то особых вопросов не вызвала, но вот настройка сети в Ubuntu так, чтобы ее было видно из Windows, поставила меня в тупик. Ибо опыта в этом деле — 0, а мануалы по теме хотя и гуглятся во множестве, но в каждом из них тема почему-то раскрыта лишь частично, и требует уже определенного уровня знания Linux и принципов работы сетевых интерфейсов.

В конечном итоге я этот вопрос решил и теперь делюсь с теми, кому оно тоже актуально. Приступим.

1. Скачиваем VirtualBox для Windows www.virtualbox.org/wiki/Downloads

2. Скачиваем Ubuntu Server 16.04 www.ubuntu.com/download/server

3. Устанавливаем VirtualBox в систему (ставится легко, раскрывать этот вопрос здесь не буду, в крайнем случае — в сети есть много шпаргалок по теме).

4. Ставим Ubuntu Server 16.04 в VirtualBox. Здесь тоже всё не сложнее (а то и проще), чем установка винды, например, и много всяких хороших руководств с картинками (они, в общем, и не требуются — всё интуитивно понятно). Но есть пара нюансов:

4.1 При установке сети выберите автоматическую настройку.
4.2 При установке пакетов сразу поставьте галки на сервер OpenSSH и LAMP (остальное по желанию) — так проще.

5. Я полагаю, что все у вас прошло нормально, Ubuntu загрузилась, и интернет в ней наличествует ( проверить можно командой ping yandex.ru например). Однако, остается вопрос, как, например, законнектиться с Ubuntu из Windows скажем, через SSH. Или просто даже открыть в браузере сайт, работающий на убунтовском Apache.

6. Итак, остановим нашу Ubuntu, закроем окно с терминалом, и уже в главном окне VirtualBox идем в Файл → Настройки → Сеть → Виртуальные сети хоста — справа три маленькие иконки — жмем на нижнюю с изображением отвертки.

7. Видим IP-адрес: 192.168.56.1 — это адрес, по которому Windows обращается к VirtualBox.

8. Рядом вкладка «DHCP сервер» в нашем случае она пуста (чекбокс не выбран). И пусть таковой и остается.

9. Далее идем в настройки гостевой системы (в нашем случае — Ubuntu 16.04.2 Server), щелкаем правой кнопкой на вкладке с системой и выбираем самый верхний пункт «Настроить…».

10. Здесь снова идем в «Сеть» (у нас получается два одноименных пункта «Сеть», но в первом случае мы настраивали сеть Windows и VirtualBox, а теперь мы настраиваем сеть гостевой системы — Ubuntu в связке с остальным). Здесь мы видим, что для первого адаптера отмечена NAT. Не меняем.

11. Открываем вкладку «Адаптер 2», ставим галку на «Включить сетевой адаптер» и в списке выбираем тип подключения: «Виртуальный адаптер хоста». Жмем ОК. Это действие добавит нам в Ubuntu сетевой адаптер, через который мы и прорубим окно во внешний мир, и в которое можно будет посмотреть на Ubuntu из Windows, через браузер или SSH-клиент, например.

12. Далее идем в окно терминала Ubuntu, логинимся (если еще не), и сразу ставим mc

sudo apt-get install mc


Чем значительно облегчаем себе дальнейшую жизнь (здесь вспоминается высказывание древнего философа: — Это как же нужно было не любить людей, чтобы содать vi )

13. Смотрим какие сетевые интерфейсы нам доступны:

ifconfig -a


Нужно это для того, чтобы понять, какое имя в Ubuntu носит тот самый «Виртуальный адаптер хоста», который мы создали в шаге №11

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

Здесь мы видим, что есть три интерфейса: lo — локальная петля, enp0s3 — это «Адаптер 1» который у нас настроен как NAT (через него идет интернет-трафик в Ubuntu) и, наконец, enp0s8 — это и есть вышеупомянутый «Адаптер 2» («Виртуальный адаптер хоста»). Теперь осталось его настроить.

14. Запускаем mc от имени суперпользователя:

sudo mc

15. И открываем для правки файл

/etc/network/interfaces


(переводим на него курсор и жмем F4), либо просто командой

mcedit /etc/network/interfaces


Но лично я предпочитаю через mc — меньше буковок набирать приходится 🙂

16. И добавляем туда в конец текста такие строки:

auto enp0s8

iface enp0s8 inet static

address 192. 168.56.107

netmask 255.255.255.0


Получается что-то вроде как показано на скрине:

Если двумя словами, то мы тем самым нашему «Адаптеру 2» дали статический IP-адрес: 192.168.56.107 (можете поменять его на 192.168.56.101 например, или 192.168.56.110, без разницы). И теперь через этот адрес, Ubuntu будет видна из Windows.

17. Сохраняем изменения — F2 и выходим из редактора — F10.

18. Далее перезапускаем интерфейсы, например так:

sudo service networking restart


или можете просто перезагрузить Ubuntu Server.

19. Теперь, если звезды на небе расположены правильно, то открыв браузер, и набрав в адресной строке:

http://192.168.56.107

вы увидите приветственную страницу установленного в составе LAMP (см.п. 4.2 выше) Apache2.

Либо можете законнектиться по SSH через 22 порт по этому же IP-адресу: 192. 168.56.107

Установка Ubuntu на VirtualBox. Категория: ОС Linux • Разное

Переключение на другую раскладку


После установки Ubuntu на виртуальную машину VirtualBox, столкнулся с тем, что не знаю, как переключиться на другую раскладку. Проблема решается просто — установкой утилиты «Дополнительные настройки Gnome». Из командной строки выполняем:

$ sudo apt install gnome-tweak-tool


Запускаем утилиту:

$ gnome-tweaks


Переходим на вкладку «Клавиатура и мышь», затем выбираем «Дополнительные параметры раскладки»:


Дополнения гостевой ОС


Дополнения VirtualBox для Linux представляют собой набор драйверов устройств и системных приложений, которые могут быть установлены в гостевой операционной системе — для повышения производительности и удобства использования.



После подключения диска Ubuntu предложит установить дополнения.

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


Существует несколько способов, как настроить сеть в VirtualBox, и каждый из них подходит для лучше для решения одной задачи и меньше для другой. Рассмотрим некоторые из них:


NAT (преобразование сетевых адресов) — этот способ используется по умолчанию. Для каждой машины создается отдельная внутренняя локальная сеть, в которой машина получает ip-адрес 10.0.2.15. Это позволяет посещать web-страницы, скачивать файлы, просматривать электронную почту. Однако извне невозможно напрямую соединиться с такой системой.


Принцип преобразования сетевых адресов заключается в следующем. Когда гостевая ОС отправляет пакеты на конкретный адрес удаленной машины в сети, сервис NAT, работающий под VirtualBox, перехватывает эти пакеты, извлекает из них сегменты, содержащие в себе адрес пункта отправки (IP-адрес гостевой операционной системы) и производит их замену на IP-адрес машины-хоста. Затем заново упаковывает их и отправляет по указанному адресу.


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

  • основная система доступна по ip-адресу 192.168.56.1
  • ip-адреса виртуальных машин: 192.168.56.101, 192.168.56.102
  • ip-адрес DHCP-сервера VirtualBox: 192.168.56.100


Сетевой мост — при таком подключении виртуальная машина становится полноценным членом локальной сети, к которой подключена основная система. Виртуальная машина получает адрес у роутера и становится доступна для других устройств, как и основной компьютер, по своему ip-адресу.

NAT (преобразование сетевых адресов)


NAT имитирует подключение к маршрутизатору. Маршрутизатором выступает сетевой модуль VirtualBox, обрабатывающий исходящие пакеты и пересылающий их хост-системе, точно так же происходит обработка входящего трафика. Маршрутизатор создается между каждой виртуальной машиной и хост-системой. Посредством такого разделения виртуальная машина становится защищенной от контактов с другими машинами и проникновений со стороны внешней сети.


Виртуальная машина получает сетевой адрес от встроенного DHCP-сервера. Машине присваивается адрес из диапазона 10.0.XXX.0/24, где XXX обозначает адрес интерфейса, определяемый по формуле +2. Таким образом XXX будет равен 2, если имеется только один активный NAT-интерфейс. Гостевая операционная система получит адрес 10.0.2.15, сетевому шлюзу назначается адрес 10.0.2.2, сервер имен (DNS) получит 10.0.2.3.

Виртуальный адаптер хоста


Чтобы иметь выход в интернет, для виртуальной машины потребуются два адаптера. Первый будет обеспечивать выход в интернет, а второй — служить для организации сети между виртуальными машинами и хост-системой.




По умолчанию ip-адрес виртуальной машине выдается DHCP-сервером VirtualBox. Для удобства можно отключить DHCP-сервер и задать статический ip-адрес в самой виртуальной машине.



$ sudo nano /etc/netlan/01-network-manager-all.yaml
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    enp0s8:
      dhcp4: no
      addresses: [192.168.56.102/24]

Сетевой мост


В этом случае виртуальная машина работает также, как и все остальные компьютеры в локальной сети. Адаптер подключается, минуя хост-систему, к роутеру, который распределяет IP-адреса внутри локальной сети для всех устройств.


VirtualBox соединяется с сетевой картой хост-системы и передает пакеты через нее напрямую. Адаптер получает от DHCP-сервера на роутере стандартный адрес из диапазона 192.168.XXX.XXX. Поэтому виртуальная машина в сети выглядит так, как будто это обычное физическое устройство, неотличимое от остальных.


Установка Extension Pack


Пакет дополнений можно скачать на официальном сайте, он добавляет поддержку VirtualBox Remote Desktop Protocol (VRDP) — протокол удаленного рабочего стола, совместимый с Microsoft RDP.


Подключение к Ubuntu по RDP


Для подключения по RDP переходим в настройки виртуальной машины, пункт меню «Дисплей», вкладка «Удаленный доступ»:



Теперь можно подключаться, набираем в командной строке:

> mstsc /v:192.168.110.2:5001


Здесь 192.168.110.2 — IP-адрес хост-системы, а 5001 — порт, который мы указали в настройках.



При подключении по RDP окно нам не нужно, поэтому виртуальную машину нужно запускать в фоновом режиме:


Поиск:
Linux • Ubuntu • Виртуальная машина • Установка • Gnome • VirtualBox • RDP • Windows • Настройка

Настройка сети между хостом и гостевой ВМ в VirtualBox

Время от времени я экспериментирую с разными инструментами. Чтобы иметь такое же окружение и содержать свою рабочую машину в чистоте от мусора, оставшегося после таких экспериментов, я провожу свои исследования в виртуализированной среде. Обычно моей гостевой операционной системой (ОС) является Ubuntu Server, потому что я обычно использую эту ОС в облаке. Таким образом, чтобы полностью походить на мой опыт работы в облаке, я должен иметь терминальный доступ к гостевой операционной системе. К сожалению, по умолчанию после установки гостевой виртуальной машины (ВМ) у вас нет к ней сетевого доступа. Поэтому в этой статье я покажу, как настроить VirtualBox и гостевые ОС, чтобы вы получали доступ к своим виртуальным машинам с хоста, например, через терминал.

Table of Contents

Введение

Так как время от времени мои эксперименты полностью ломали систему, у меня должна была быть возможность быстро развернуть чистый испытательный стенд. Для достижения этой цели, как только появится новая версия операционной системы (я предпочитаю использовать LTS-версии Ubuntu Server), я загружаю ее образ и создаю новую виртуальную машину, на которой устанавливаю операционную систему из загруженного образа и делаю начальная конфигурация. Затем я сохраняю эту виртуальную машину в качестве шаблона. Когда мне нужна новая виртуальная машина для моих экспериментов, я клонирую эту виртуальную машину-шаблон и почти мгновенно могу начать свои исследования. После того, как я закончил свои эксперименты, я удаляю эту клонированную виртуальную машину, чтобы освободить место на диске.

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

Проблема

По умолчанию VirtualBox создает сетевой интерфейс NAT для вашей новой виртуальной машины, чтобы ваша гостевая ВМ могла иметь доступ к Интернету. Однако в этом случае вы не сможете получить сетевой доступ к вашей виртуальной машине с вашего хост-компьютера. Например, вы не можете пропинговать его, получить к нему доступ через SSH или, если вы разрабатываете клиент-серверное приложение, ваш клиент, работающий на хосте, не может выполнять серверное приложение на гостевой виртуальной машине. Чтобы иметь эту возможность, вам необходимо настроить сеть между вашим хостом и гостевой виртуальной машиной. Поэтому в этой статье я объясню, как это сделать в моем случае.

Я должен отметить, что конфигурация может отличаться, если у вас есть другие хост-системы и гостевые среды. Я использую Kubuntu 18.04 в качестве основной операционной системы и VirtualBox в качестве гипервизора. Здесь я покажу, как настроить Ubuntu Server 16.04 и Ubuntu Server 18.04 (две самые популярные LTS-версии Ubuntu Server сейчас), так как процесс для них отличается.

Конфигурация VirtualBox

После установки Ubuntu Server выключите виртуальную машину, откройте ее «Настройки» (выберите в меню Машина -> Настройки или нажмите Ctrl+S ), и проверьте «Сеть» конфигурации. По умолчанию VirtualBox активирует один адаптер, подключенный к NAT. Вы можете увидеть это на рисунке 1.

Сетевые настройки

Перейдите на вкладку «Адаптер 2» и включите этот адаптер. В раскрывающемся списке «Присоединен к» выберите «Адаптер только для хоста» (см. рис. 2).

Конфигурация адаптера только для хоста

По умолчанию VirtualBox имеет только одну хост-сеть с именем «vboxnet0». Поэтому его имя будет выбрано автоматически. Если у вас по какой-то причине пустой список в выпадающем списке «Имя», перейдите к File -> Host Network Manager… и создайте новый хост-адаптер (см. рис. 3). Там же можно проверить свойства адаптера «vboxnet0». Обратите внимание на значения «Адрес IPv4» и «Маска сети IPv4». Они понадобятся нам при настройке гостевых ВМ.

Менеджер хост-сети

Если вы хотите узнать больше о настройке различных сетевых режимов, обратитесь к официальной документации VirtualBox.

Конфигурация гостевой виртуальной машины

Теперь включите виртуальную машину и войдите в нее. Теперь вам нужно настроить сетевые интерфейсы на вашей гостевой виртуальной машине.

Если вы планируете иметь одновременно несколько клонов машин, убедитесь, что все они будут иметь разные IP-адреса, имена хостов и все их адаптеры будут иметь разные MAC-адреса.

Вы можете установить имя хоста, выполнив команду на гостевой машине:

 $ sudo hostname новое имя
 

Кроме того, убедитесь, что все MAC-адреса разные в «Дополнительных» настройках сетевых адаптеров (см. рис. 1). Если они совпадают, сгенерируйте новый случайный MAC-адрес.

Далее я покажу, как настроить сеть в Ubuntu 16.04 и 18.04, в частности, как установить (или изменить, если вы запускаете несколько ВМ) статический IP-адрес.

Ubuntu 16.04

В первую очередь необходимо проверить, какие сетевые интерфейсы доступны, с помощью следующей команды:

 $ ifconfig -a
 

Скорее всего, вы заметите три сетевых интерфейса. В моем случае это lo , enp0s3 и enp0s8 . lo — петлевой интерфейс, а enp0s3 и enp0s8 соответствуют сетям NAT и Host-only соответственно. Обратите внимание, в зависимости от того, как вы создали сети и в каком порядке, эти имена могут отличаться в вашем случае.

Теперь нам нужно настроить эти интерфейсы. Для этого нужно изменить файл /etc/network/interfaces . Откройте файл с повышенными привилегиями в вашем любимом текстовом редакторе (здесь я использую nano):

 $ sudo nano /etc/network/interfaces
 

И измените это следующим образом:

 # Этот файл описывает сетевые интерфейсы, доступные в вашей системе.
# и как их активировать. Для получения дополнительной информации см. интерфейсы(5).
источник /etc/network/interfaces.d/*
# петлевой сетевой интерфейс
авто вот
iFace Lo Inet Loopback
# Основной сетевой интерфейс (получает адрес автоматически - dhcp)
авто enp0s3
iface enp0s3 инет dhcp
# Дополнительный интерфейс со статическим ip (нам нужно настроить этот раздел)
auto enp0s8 # ставим имя нового интерфейса
iface enp0s8 inet static # выбираем IP адрес вручную (статический)
адрес 192.168.56.5 # IP-адрес, который мы выбрали (каждая ВМ должна иметь свой IP-адрес в сети 192. 168.56.0/24)
сетевая маска 255.255.255.0 #/24 сеть
#шлюз 192.168.56.1 #если у вас нет доступа к интернету попробуйте прокомментировать эту опцию
 

Итак, для enp0s8 выбираем назначение статического IP адреса. Мы устанавливаем его на 192.168.56.5 . Обратите внимание: каждая виртуальная машина должна устанавливать разные IP-адреса для разных виртуальных машин, если вы хотите запускать их одновременно. Кроме того, вы можете выбрать IP адрес из диапазона, определенного для vboxnet0 (или другого выбранного вами интерфейса). Значение сетевой маски также должно соответствовать значению, определенному для vboxnet0 .

Насколько я понимаю, для связи между виртуальными машинами (VM1 <-> VM2) также должен быть определен адрес шлюза. Он должен соответствовать адресу хост-машины ( 192.168.56.1 ). Однако в моем случае, если эта опция установлена, я не могу подключиться к Интернету, в то время как связь между разными виртуальными машинами возможна.

После изменения настроек необходимо перезапустить сеть:

 $ sudo systemctl перезапустить сеть
 

Теперь вы сможете пропинговать хост-компьютер, а также другие виртуальные машины в той же подсети, используя статический IP-адрес, который вы установили на предыдущем шаге.

Ubuntu 18.04

В Ubuntu 18.04 настройка сети выполняется с помощью утилиты netplan. Эта утилита читает файлы конфигурации yaml, хранящиеся в /etc/netplan/, и генерирует из них сетевую конфигурацию, потребляемую системой. Поэтому в Ubuntu 18.04 вместо модификации /etc/network/interfaces , мы должны создать (или изменить) файл конфигурации yaml. Однако перед этим мы должны проверить, какие сетевые интерфейсы доступны. Сделать это можно с помощью следующей команды:

 $ip a
 

Как и в Ubuntu 16.04, у меня тот же список сетевых интерфейсов: lo — петлевой интерфейс, enp0s3 и enp0s8 относятся к сетям NAT и Host-only соответственно. Теперь вы должны создать новый файл в /etc/netplan/, где мы укажем конфигурацию нашей сети. Часто системные администраторы дают этому файлу имя 01-netcfg.yaml . Сделаем то же самое с помощью команды sudo nano /etc/netplan/01-netcfg.yaml . Добавляем туда следующую конфигурацию:

 сеть:
  версия: 2
  Ethernet:
    enp0s3:
      DHCP4: да
    enp0s8:
      DHCP4: нет
      адреса: [192.168.56.10/24]
      #шлюз4: 192.168.56.1
 

Должен отметить, что в целом вы также должны указать визуализатор : NetworkManager или сетевой . В Ubuntu Server 18.04 в конфигурации по умолчанию рендерер не указан (скорее всего, потому что networkd является опцией по умолчанию). Однако, если вы используете настольную версию Ubuntu, вам необходимо добавить параметр renderer: NetworkManager в вашу конфигурацию на том же уровне, где вы определяете версии и ethernets .

Настройки аналогичны предыдущему случаю. Для enp0s3 , мы включаем динамическое выделение IP-адресов с помощью опции dhcp4: yes , а для enp0s8 мы должны настроить значения вручную. Для этого отключаем DHCP ( dhcp4: no ), устанавливаем IP-адрес и сетевую маску (адреса : [192.168.56.10/24] ) и, возможно, указываем IP-адрес шлюза ( gateway4: 192.168). .56.1 ).

Когда вы закончите редактирование файла, вы должны запустить команду sudo netplan try , чтобы проверить правильность вашей конфигурации. Если это так, netplan предложит применить конфигурацию. Если вы хотите применить конфигурацию без проверки, вы можете запустить команду sudo netplan apply напрямую. Однако я не рекомендую этого делать, потому что с файлами yaml очень легко забыть где-то пробел, и в этом случае ваш файл конфигурации не будет валидным. Проверка конфигурации перед ее применением предотвратит выстрел в ногу.

Как установить Ubuntu Server на VirtualBox · Джеймс Хиббард

В этом посте я покажу вам, как установить Ubuntu Server 22.04 LTS (Jammy Jellyfish) на Oracle VirtualBox. Я также покажу, как подключиться к экземпляру Ubuntu через SSH, а также как запустить VirtualBox в автономном режиме.

Начнем!


Примечание: этот пост был обновлен 28 мая 2022 года для использования последних версий Ubuntu Server и VirtualBox.


Что такое VirtualBox?

VirtualBox — это программный пакет виртуализации, который вы можете установить в своей операционной системе (так же, как и обычную программу). Он поддерживает создание и управление виртуальными машинами, в которые можно установить вторую операционную систему.

В терминологии VirtualBox операционная система, на которую вы устанавливаете VirtualBox (то есть ваша обычная ОС), называется хостом . Операционная система, которую вы устанавливаете в VirtualBox (т. е. внутри виртуальной машины), называется гость .

В этом руководстве я буду использовать Linux Mint 20.3 в качестве основной ОС, но нет никаких причин, по которым вы не можете использовать другой дистрибутив Linux, macOS или Windows (если хотите).

Установить VirtualBox

Первое, что нужно сделать, это установить VirtualBox. Я не буду вдаваться в подробности, так как на главной странице проекта есть подробные инструкции для всех основных операционных систем.

Лично я скачал и установил пакет deb для Ubuntu 20.04. Это связано с тем, что версия VirtualBox в репозиториях Mint немного устарела, и я хотел использовать последнюю версию.

Загрузить Ubuntu Server

Следующее, что нужно сделать, это получить копию Ubuntu Server. Вы можете сделать это на их странице загрузки. Выберите вариант 2 ( Ручная установка сервера ), который загрузит на ваш компьютер файл ISO объемом 1,37 ГБ.

На момент написания текущей LTS-версией является Ubuntu Server 22. 04, и именно ее я буду использовать. Он поддерживается до апреля 2025 года и доступен в 64-разрядной версии.

Создать новую виртуальную машину

Запустить VirtualBox. Это должно открыть VirtualBox Manager, интерфейс, из которого вы будете администрировать все свои виртуальные машины.

Далее Нажмите New (в правом верхнем углу VirtualBox Manager), дайте вашей виртуальной машине имя, и два выпадающих меню должны автоматически обновиться.

Щелкните Далее . Теперь мастер попросит вас выбрать объем памяти (ОЗУ) в мегабайтах, который будет выделен виртуальной машине. Я выбрал 2 ГБ (2048 мегабайт).

Щелкните Далее , и вам будет предложено добавить виртуальный жесткий диск к новой машине. Убедитесь, что Создайте виртуальный жесткий диск, теперь выбрано , затем нажмите Создать .

Теперь нам нужно выбрать тип файла для нового виртуального жесткого диска. Убедитесь, что установлен флажок VDI (VirtualBox Disk Image) , и нажмите Next .

На следующем экране вас спросят, должен ли новый виртуальный жесткий диск увеличиваться по мере его использования (динамически распределяться) или он должен быть создан с максимальным размером. Убедитесь, что динамически выделенных 9Выбран 0188, затем нажмите Next .

Наконец, выберите размер виртуального жесткого диска в мегабайтах. Размера по умолчанию в 10 ГБ должно быть достаточно, но вы можете увеличить его по своему усмотрению. Затем нажмите Создать .

Теперь жесткий диск должен быть создан, и вы должны вернуться в VirtualBox Manager. Вы должны увидеть только что созданную виртуальную машину в списке слева.

Установка сервера Ubuntu на виртуальную машину

Убедитесь, что ваша виртуальная машина выбрана, и нажмите Start . VirtualBox Manager попросит вас выбрать файл виртуального оптического диска или физический оптический привод для запуска виртуальной машины. Щелкните папку со стрелкой вверх в правой части диалогового окна, выберите загруженный ранее файл ISO и нажмите Start .

Теперь начнется процесс установки Ubuntu. Он состоит из нескольких этапов и совершенно безболезнен.

Экран приветствия

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

Обновление установщика

Если доступно обновление установщика, вы можете установить его или проигнорировать. Я решил установить обновление.

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

Конфигурация клавиатуры

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

Тип установки

Далее следует выбрать установку по умолчанию, содержащую специально подобранный набор пакетов, и минимизированную версию, которая настроена так, чтобы занимать мало места во время выполнения. Выберите параметр по умолчанию.

Сетевые подключения

Здесь Ubuntu попытается настроить стандартный сетевой интерфейс. Обычно вы можете просто принять значение по умолчанию и выбрать Done .

Настройка прокси-сервера

Если вашей системе требуется прокси-сервер для подключения к Интернету (у меня его нет), введите его данные в следующем диалоговом окне. Затем выберите Готово .

Настройка архивного зеркала Ubuntu

Если вы хотите использовать альтернативное зеркало для Ubuntu, вы можете указать подробности здесь. В противном случае примите зеркало по умолчанию, выбрав Готово . Я принял значение по умолчанию.

Управляемая настройка хранилища

Программа установки поможет вам разбить весь диск на разделы или, если хотите, вы можете сделать это вручную. Если вы решите разделить весь диск, у вас все равно будет возможность просмотреть и изменить результаты до установки Ubuntu. я выбрал Использовать весь диск .

При желании можно указать установщику настроить диск как группу LVM, а также зашифровать его с помощью LUKS. Я выбрал настройку LVM, так как LVM предлагает ряд преимуществ, таких как упрощение резервного копирования работающего сервера. Подробнее о LVM можно прочитать здесь: Что такое LVM и для чего он используется?

Сводная информация о конфигурации хранилища

На следующем экране приводится сводка вариантов, сделанных на предыдущем шаге. Если вас все устраивает, выберите Выполнено .

Так как это «разрушительное действие». Меня попросили подтвердить свой выбор с помощью Продолжить .

Настройка профиля

Здесь необходимо ввести:

  • Ваше (настоящее) имя
  • Имя вашего сервера
  • Ваше имя пользователя
  • Пароль

Заполните эти данные по своему усмотрению.

Настройка SSH

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

У вас также есть возможность импортировать ключи SSH из GitHub или Launchpad. Для этой опции я выбрал No .

Рекомендуемые моментальные снимки сервера

Здесь вы можете выбрать из списка популярные моментальные снимки для установки в вашей системе. Snap — это автономные программные пакеты, которые работают в различных дистрибутивах Linux. я ничего не выбирал.

Установить и перезагрузить

И все, установщик установит Ubuntu 22.04. После завершения вы должны выбрать Перезагрузите сейчас

Ubuntu попросит вас удалить установочный носитель и нажмите Введите . Вы можете удалить диск через _Devices_ > Optical Drives > Remove disk from virtual drive . Вам нужно будет поставить галочку рядом с ubuntu-22.04-live-server-amd64.iso , если он еще не выбран.

Работа с SSH

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

Давайте исправим это:

 sudo apt update
судо подходящее обновление
 

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

Теперь давайте дважды проверим, что SSH установлен (это должно быть, если вы выбрали опцию Install OpenSSH server во время установки).

 Джим@один:~$ сш
использование: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-b bind_address] [-c cipher_spec]
           [-D [адрес_привязки:]порт] [-E log_file] [-e escape_char]
           [-F конфигурационный_файл] [-I pkcs11] [-i идентификационный_файл]
           [-J [пользователь@]хост[:порт]] [-L адрес] [-l имя_логина] [-m mac_spec]
           [-O ctl_cmd] [-o опция] [-p порт] [-Q query_option] [-R адрес]
           [-S ctl_path] [-W хост:порт] [-w local_tun[:remote_tun]]
           [пользователь@]имя хоста [команда]
 

Если вы получаете сообщение об ошибке «команда не найдена», вы можете установить ее с помощью:

 sudo apt-get install openssh-server
 

Следующим шагом будет присвоение нашему серверу Ubuntu IP-адреса в нашей локальной сети. Для этого выключите виртуальную машину с помощью sudo poweroff или Machine > ACPI Shutdown .

Затем в VirtualBox Manager убедитесь, что ваша машина выбрана, и нажмите Настройки . Нажмите на Сеть слева и измените настройку Адаптер 1 > NAT_ на «_Bridged Adapter »_ и нажмите OK .

Запустите виртуальную машину, затем введите IP-адрес (в гостевой системе) и обратите внимание на IP-адрес, назначенный вашему основному сетевому адаптеру. В моем случае это было 192.168.178.40 .

Примечание: также можно воткнуть с оригинальным интерфейсом NAT и SSH в гостевую систему, используя переадресацию портов. Подробнее об этом можно прочитать здесь. Вы можете найти информацию обо всех сетевых настройках VBox в этом подробном руководстве.

Запуск и остановка VirtualBox в автономном режиме

Вы могли заметить, что работа с VirtualBox Manager и гостевой ОС немного утомительна. Если вы собираетесь продолжать это делать, вам следует как минимум установить гостевые дополнения, а также включить поддержку буфера обмена.

Однако есть более приятный способ — вы можете запускать и останавливать виртуальную машину с помощью команды VBoxManage из своего терминала.

Для включения:

 VBoxManage startvm "Ubuntu Server 22.04" --type headless
 

И для выключения:

 VBoxManage controlvm "Ubuntu Server 22.04" poweroff
 

Где «Ubuntu Server 22.04» — это то, что вы назвали своей виртуальной машиной (имя, которое она имеет в графическом интерфейсе VirtualBox Manager).

Подключение к серверу Ubuntu

Давайте продолжим и запустим сервер Ubuntu в автономном режиме, прежде чем подключаться к нему через SSH.

Примечание. На вашем хосте должны быть запущены следующие команды.

В большинстве систем *nix программное обеспечение клиента SSH должно быть частью установки по умолчанию. Если у вас его нет, вы сможете получить его из репозиториев, например:

 sudo apt установить openssh-клиент
 

или просто нажмите DuckDuckGo.

Затем (убедившись, что вы заменили «jim» и IP-адрес соответствующими значениями) вы можете подключиться следующим образом:

 ssh [email protected]
 

Это даст вам предупреждение о том, что подлинность хоста не может быть установлена, и спросит вас, хотите ли вы продолжить подключение. Ответьте «да».

Затем вам будет предложено ввести пароль. Введите его, и вы будете подключены к вашему серверу Ubuntu из вашей основной ОС.

Для пользователей Windows

Если вы используете Windows, вам необходимо установить SSH-клиент, например PuTTY.

При запуске PuTTY должно открыться окно с названием Конфигурация PuTTY . Это окно имеет панель конфигурации слева, поле Host Name и другие параметры в середине, а также панель для сохранения профилей сеансов в нижней правой области.

Для простого использования все, что вам нужно сделать, это ввести IP-адрес хоста, к которому вы хотите подключиться, в Имя хоста и нажмите Открыть .

Создание и установка пары ключей SSH

Ключи SSH обеспечивают безопасный способ входа на сервер без необходимости ввода пароля.

В двух словах, это зависит от того, сгенерируете ли вы пару открытого и закрытого ключей SSH. Закрытый ключ хранится на вашем компьютере (и его следует тщательно охранять). Открытый ключ копируется на сервер, к которому вы хотите подключиться.

SSH-ключи — сложный вопрос, который не рассматривается в этом руководстве. Если вы хотите узнать больше, я рекомендую найти специальный учебник (например, этот).

Сгенерируйте ключи

В системах *nix (для пользователей Windows см. следующий раздел) вы можете сгенерировать пару ключей с помощью следующей команды:

 ssh-keygen -o -b 4096 -t rsa
 

Параметр -o указывает ssh-keygen хранить закрытый ключ в новом формате OpenSSH вместо старого (и более совместимого формата PEM). Это целесообразно, так как новый формат OpenSSH обладает повышенной устойчивостью к взлому паролей методом грубой силы.

Параметр -b используется для установки длины ключа на 4096 бит вместо 1024 бит по умолчанию из соображений безопасности.

В следующем диалоге вам необходимо будет ответить на несколько вопросов:

  • Где сохранить вновь сгенерированную пару ключей
  • Какую парольную фразу использовать

Здесь вы можете принять местоположение по умолчанию и оставить парольную фразу пустой, нажав Вернуть .

ssh-keygen выведет сводку того, что он сделал:

 Генерация пары открытый/закрытый ключ rsa.
Введите файл для сохранения ключа (/home/jim/.ssh/id_rsa):
Создан каталог '/home/jim/.ssh'.
Введите кодовую фразу (пусто, если нет парольной фразы):
Введите тот же пароль еще раз:
Ваша идентификация сохранена в /home/jim/.ssh/id_rsa.
Ваш открытый ключ сохранен в /home/jim/.ssh/id_rsa.pub.
Ключевой отпечаток пальца:
SHA256: sx5uJeVdH/cT/1+GxsSWYzmjf5hUaE33f/e57EbqBfY jim@fitz
Случайное изображение ключа:
+---[РСА 4096]----+
| |
| о |
| +о|
| .  .+==|
| Так . =@oB|
| .oo о*+BB|
| оо ..*EX|
| о.. +=+=|
| .о ..+=+|
+----[SHA256]-----+
 

Скопируйте открытый ключ на сервер Ubuntu

Чтобы скопировать открытый ключ на сервер Ubuntu, используйте:

 ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
 

Где ~/.ssh/id_rsa.pub — это путь к вашему открытому ключу, взятый из приведенного выше вывода. А где [email protected] следует изменить, чтобы отразить ваши данные.

Команда будет запущена, и вам будет предложено ввести пароль вашего сервера. Введите его, затем попытайтесь войти на сервер следующим образом:

 ssh [email protected]
 

На этот раз вы должны войти без пароля.

Для пользователей Windows

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

У вас будет немного больше работы, когда дело дойдет до копирования ключа на сервер, где вам нужно будет добавить открытый ключ в файл ~/.