Ubuntu - один из самых популярных Linux дистрибутивов, широко применяющийся как в настольных системах, так и на серверах, а также в облаках и контейнерах. И, следует сказать, популярность эта вполне заслужена, долгое время Ubuntu шла в качестве более свежей и продвинутой версии Debian, но с некоторых пор идет своим путем, предлагая новые подходы и инструменты, но в тоже время сохраняя совместимость с родительским дистрибутивом. В данной статье мы пошагово рассмотрим установку и первоначальную настройку серверного дистрибутива Ubuntu 22.04 LTS.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Сразу отметим, никакого принципиального различия между серверной и настольной версиями Ubuntu давно уже нет, обе системы используют общую пакетную базу, но установщики у них разные. Настольная версия безальтернативно устанавливается в графическом режиме и ставит графическую оболочку, в то время как серверная имеет свой уникальный инсталлятор текстового режима Subiquity, который заменил использовавшийся ранее debian-installer.
Впервые Subiquity был представлен в выпуске 18.04 LTS, но только в качестве альтернативы, так как еще не поддерживал многие возможности, например, нельзя было создать программный RAID. К выпуску 20.04 LTS основные детские болезни были исправлены и Subiquity стал единственным инсталлятором серверного выпуска.
Начало установки
Установщик выполнен в фирменной оранжевой цветовой гамме и приветствует нас на нескольких языках, включая русский. И первым шагом у нас будет именно выбор языка, но инсталлятор так и останется на английском, ваш выбор будет влиять на языковые и региональные стандарты уже установленной системы.
Если присутствует сеть, то установщик проверит наличие обновления программы установки и предложит ее обновить, причем произойдет это раньше, чем вам будет предложено настроить сетевой адаптер. Мы советуем согласиться с предложением и обновиться.
А вот раскладку клавиатуры по умолчанию мы советуем оставить английской, при этом русская будет добавлена автоматически и переключаться на нее вы сможете при помощи стандартного сочетания Alt + Shift.
Следующим шагом нас спросят, а что именно мы хотим установить. Доступны два варианта: Ubuntu Server и Ubuntu Server (minimized), второй вариант предусматривает использование в контейнерах и виртуальных машинах, не подразумевающих интерактивный вход и ручное управление. Это значит, что в такой системе отсутствуют утилиты ручного управления и если вы все-таки захотите администрировать ее руками, то вам придется развернуть ее до уровня Ubuntu Server. Поэтому установка minimized-версии для интерактивной настройки является бессмысленной.
Следующим шагом идет настройка сети, по умолчанию предлагается получить адрес автоматически при помощи DHCP, во многих случаях можно оставить эту настройку, зарезервировав адрес на DHCP-сервере, особенно если обращение к серверу подразумевается по FQDN.
Если же нам нужен статический IP-адрес, то мы можем настроить его прямо сейчас, для этого переходим к нужному сетевому интерфейсу и выбираем в настройках Edit IPv4, при этом можно обратить внимание на достаточно широкие возможности настройки сети, тут и объединение адаптеров через Bonding и VLAN-теги, но это уже выходит за рамки данной статьи.
Настройка сети также немного отличается от привычной, так как в первом поле мы должны указать подсеть (Subnet) в формате 192.168.233.0/24, где префикс /24 соответствует маске сети 255.255.255.0, остальные настройки не должны вызвать особых затруднений.
При этом, как мы уже говорили выше, на самом деле, при наличии такой возможности, сеть с получением параметров по DHCP инициализируется задолго до появления этого экрана, в момент запуска инсталлятора, здесь же просто дают возможность пользователю подтвердить или изменить сетевые настройки.
Разметка дискового пространства
Без преувеличения, разметка диска - самый важный этап установки системы, потому как с принятыми на данном этапе решениями вам придется жить все оставшееся время и не все из них можно будет впоследствии исправить без переустановки. Сегодня основной является схема "все файлы в одном разделе" и если вы не знаете как именно разметить диск, то следуйте ей. Также Ubuntu не использует раздел подкачки, создавая для этого файл в корне файловой системы, никакой существенной разницы с разделом подкачки у такого подхода нет, но в целом это удобнее. Выбор файловой системы также сводится к одному простому правилу, если вы не знаете какая именно файловая система вам нужна и для чего - выбирайте стандартную ext4.
Автоматическая разметка
Если у вас нет каких-то особых соображений, то использование автоматической разметки будет самым оптимальным вариантом, посмотрим, что предлагает нам Ubuntu в тех или иных сценариях. А вариантов не особо много: использовать весь диск и настроить диск как группу LVM, также можно отдельно включить шифрование LVM тома. В целом набор возможностей повторяют таковые в debian-installer, но выстроены более грамотно, в порядки иерархии применения. Пока что снимем флаг Set up this disk as an LVM group и посмотрим на самый простой вариант разметки.
В этом случае будет автоматически размечен ESP раздел размером 953 МБ (для систем с UEFI) и ext4 на весь оставшийся размер диска.
Никаких сюрпризов и неожиданностей здесь нет, все просто и ожидаемо.
Автоматическая разметка с LVM
Вариант, предлагаемый по умолчанию и, казалось бы, никаких сложностей возникнуть не должно, но давайте внимательно изучим предлагаемую разметку. Прежде всего у нас кроме ESP раздела появился отдельный /boot размером 1,77 ГБ, так как загрузочный раздел должен располагаться за пределами LVM разметки. На оставшемся месте создана группа томов ubuntu-vg, внутри которой создается логический том ubutnu-lv, только вот его размер не соответствует размеру группы томов, в которой остается свободное место.
Если не обратить на это внимание и оставить все как есть, то при эксплуатации вы можете столкнуться с неприятной ситуацией, когда место неожиданно закончится. Поэтом сразу исправим разметку, для этого перейдите к логическому тому и в меню выберите Edit.
После чего укажите желаемый размер тома, максимальное значение указано рядом с полем Size, здесь же можно изменить тип файловой системы.
Мы не знаем, является ли багом данное поведение, так как оно было зафиксировано еще в выпуске 20.04 и в обсуждении бага выражалось мнение, что мол так и задумано, так как LVM якобы не имеет смысла, если мы заполним группу томов полностью одним логическим томом. С некоторыми аргументами данной позиции можно согласиться, скажем с тем, что в таком случае нам будут недоступны моментальные снимки, но в целом такое поведение будет неожиданным, особенно для начинающего или невнимательного пользователя.
Тот, кому нужны снимки вряд-ли будет размечать диск автоматически, а тот, кто выбирает автомат рассчитывает на понятное поведение установщика. Если у нас указано использовать весь диск (Use an entire disk), то и размечать нужно все пространство полностью, а LVM впоследствии поможет нам более гибко управлять дисковым пространством. А текущий сценарий кроме недоумений и вопросов ничего предложить не может.
Настройка программного RAID
Настройка программного RAID в новом установщике Ubuntu достаточно серьезно отличается от настройки в debian-installer и может вызвать затруднения даже у опытного пользователя. Начнем с того, что пометим первый диск как загрузочный, для этого в меню диска следует выбрать Use As Boot Device.
Для UEFI систем будет автоматически создан ESP-раздел, создать такой раздел руками в Subiquity невозможно, затем проделываем ту же операцию со вторым диском, выбрав в его меню Add As Another Boot Device. После чего там будет создан второй ESP-раздел. Также это обеспечит установку загрузчика сразу на оба диска.
Затем переходим к свободному пространству (free space) на дисках и создаем там раздел (или разделы) нужного размера, важное условие - в поле Format обязательно ставим Leave unformatted. Если в поле Size ничего не указывать, то будет создан раздел максимального размера. Аналогичные действия выполняем и для другого диска. Помним, что одно md-устройство - это один раздел.
После того как вы создали на обоих дисках одинаковые неформатированные разделы переходим в пункт Create software RAID (md), где указываем желаемый уровень RAID - в нашем случае зеркало - и выбираем используемые для него разделы.
После этого среди доступных дисковых устройств у нас появится md-устройство программного RAID, на свободном месте которого создаем новый раздел, где указываем файловую систему и точку монтирования (для системного раздела - /).
Для систем с UEFI данные действия только часть настройки, которую нужно продолжить после установки системы, более подробно об этом читайте в нашей статье:
Настраиваем программный RAID на UEFI-системах в Debian и Ubuntu
В целом настройка RAID в новом установщике достаточно проста и логична, но отдельные моменты делаются вразрез с устоявшимся опытом, это не хорошо и не плохо, просто нужно освоить эту методику и знать, что в Ubuntu теперь нужно делать так.
Завершение установки
Следующим шагом за разметкой дисков будет создание профиля, вас попросят указать ваше имя, имя компьютера, логин и пароль с подтверждением. Все просто, запутаться решительно негде.
Следующим шагом будет предложено установить SSH-сервер, не будем отказываться от этого предложения, также здесь есть возможность импортировать свой открытый ключ из GitHub или Launchpad. После импорта ключа появится возможность отключить аутентификацию по паролю через SSH иначе эта опция неактивна.
Затем можно будет выбрать предустановленное ПО, но так как мы делаем минимальную установку, то пропускаем этот этап. Хотя, если вы поднимаете целевой сервер, то можете сразу выбрать необходимые вам роли.
За этим последует процесс установки, завершающей частью которого является скачивание и установка обновлений безопасности, при желании вы можете пропустить этот этап.
На этом процесс установки завершен, вам останется только перезагрузить компьютер.
Вход в систему, повышение прав
После перезагрузки вы можете войти в систему как интерактивно, так и через SSH. Второй способ удобнее, так как консоль будет открыта на вашем рабочем столе, и вы можете просто копировать в нее нужные команды или, наоборот, результат их работы.
В Ubuntu учетная запись суперпользователя root отключена и административные права получает пользователь, созданный на этапе установки. Отдельные команды, требующие повышения прав можно выполнять через sudo, для долговременного повышения прав используйте:
sudo -s
Ключ -s открывает новую командную оболочку как бы при интерактивном входе суперпользователя в систему, при этом изменится домашний каталог и переменные окружения, которые будут соответствовать пользователю root.
Если же вам по какой-либо причине требуется включить учетную запись суперпользователя, то это можно сделать, установив для нее пароль:
sudo passwd root
Однако не следует этого делать без реальной на то необходимости, так как применяемая в Ubuntu модель является более безопасной.
Настройка часового пояса
Инсталлятор Subiquity не предусматривает настройку часового пояса и после установки ваш сервер будет жить по времени Гринвичского меридиана, чтобы убедиться в этом выполните команду:
timedatectl
Поэтому правильная настройка времени входит в число первоочередных задач, это можно сделать разными способами, но наиболее удобной будет команда:
dpkg-reconfigure tzdata
Затем в интерактивном режиме выберите свой часовой пояс.
Все изменения будут применены сразу.
Настройка сети
В Ubuntu для настройки сети используется утилита высокого уровня абстракции netplan. Работа с ней сперва может показаться непривычной, но netplan содержит многие приятные возможности, которые выводят работу с сетью на новый уровень. Более подробно о работе с netplan вы можете прочитать в нашей статье:
Настройка сети в Linux при помощи Netplan
Все сетевые настройки хранятся в файле /etc/netplan/00-installer-config.yaml, если вы выбрали динамическую настройку сети, то там будет примерно следующее содержимое:
network:
version: 2
ethernets:
ens33:
dhcp4: true
Обратите внимание, что для файла настроек применяется формат YAML который использует для форматирования отступы в 2 или 4 пробела.
Для установки статического IP-адреса внесите в файл приведенные ниже настройки:
network:
version: 2
ethernets:
ens33:
dhcp4: false
addresses: [192.168.233.148/24]
gateway4: 192.168.233.2
nameservers:
addresses: [192.168.233.2,192.168.233.3]
Особых комментариев здесь не требуется, для записи IP-адреса используется запись вида адрес/префикс, что позволяет отдельно не указывать маску, а DNS сервера (nameservers) можно перечислить через запятую.
А вот дальше становится интереснее, чтобы проверить конфигурацию выполните:
netplan try
Если в течении двух минут вы не подтвердите сетевые настройки, то система откатится в первоначальное состояние. Это удобно, особенно если вы выполняете настройку сети удаленно, теперь в случае ошибки вам не придется собираться в дальнюю дорогу, достаточно просто подождать две минуты.
Если же все нормально, то просто примените настройки командой:
netplan apply
Одной только этой возможности уже достаточно, чтобы начать любить netplan, если вы не сделали этого ранее.
Настройка брандмауэра iptables
В отличие от Debian 11 в Ubuntu 22.04 LTS по-прежнему присутствует iptables, точнее nftables в режиме совместимости. И это во многом оправдано, новый межсетевой экран неплох, но на его внедрение нужно время, тогда как для iptables существует множество готовых инструкций и решений. Ниже мы набросаем минимальную конфигурацию брандмауэра и настроим ее автоматическое восстановление.
В консоли последовательно выполните команды:
iptables -A INPUT -i ens33 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i ens33 -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i ens33 -p icmp -j ACCEPT
iptables -A INPUT -i ens33 -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
iptables -A INPUT -i ens33 -j DROP
Данный набор правил разрешает уже установленные и связанные соединения, входящий ICMP и соединения по SSH, остальное блокируется. Но правила iptables не сохраняются при перезагрузке, чтобы исправить это установим пакет:
apt install iptables-persistent
В процессе установки нас спросят, хотим ли мы сохранить текущий набор правил, отвечаем утвердительно.
В последствии правила удобнее править в файле /etc/iptables/rules.v4. При этом следует обязательно придерживаться следующих правил: первыми в цепочке идут два правила, выделенные желтым, последним обязательно должно быть правило, выделенное красным. Все остальные следует располагать между ними.
Сохраняем файл и перечитываем правила:
iptables-restore < /etc/iptables/rules.v4
Мы советуем не пренебрегать настройкой брандмауэра даже если сервер полностью находится во внутреннем периметре.
Подключаем Ubuntu Advantage
Ubuntu Advantage (UA) - это сервисный пакет от компании Canonical для пользователей Ubuntu, включает коммерческую поддержку и ряд расширенных сервисов направленных на повышение управляемости и безопасности ваших систем. Для личного и некоммерческого использования предоставляется бесплатный пакет на 5 ПК.
Наиболее интересными сервисами в пакете являются:
- Extended Security Maintenance (ESM) - предоставляет обновления безопасности для всех бинарных пакетов находящихся в основном репозитории Ubuntu в течении дополнительных 5 лет, таким образом продлевая общий срок поддержки систем до 10 лет.
- Livepatch - в буквальном переводе "живой патч" - еще один крайне полезный сервис, дает возможность устанавливать обновления безопасности ядра Linux без перезагрузки системы.
И если ESM не факт, что нам понадобится, то вот Livepatch будет весьма ко двору. Мы не будем рассматривать все подробности подключения и использования данной программы, об этом можно прочитать в нашей статье:
Включаем расширенную поддержку ESM и Livepatch для Ubuntu
Но будем считать, что вы уже зарегистрированы в ней и имеете токен подписки. Для подключения к программе выполните:
ua attach <subscription token>
где <subscription token> - полученный в рамках программы токен подписки.
В результате выполнения команды вы увидите подробный отчет с указанием подключенных сервисов, среди которых будут ESM и Livepatch.
Теперь вам не понадобится перезагружать свой сервер после каждого обновления ядра.
Заключение
В данной статье мы постарались коротко, но емко изложить все основные действия, которые помогут вам освоить новый инсталлятор Subiquity и установить с его помощью серверный вариант Ubuntu 22.04 LTS, а также выполнить его первоначальную настройку. Также в статье присутствуют ссылки на иные наши материалы, позволяющие существенно расширить отдельные темы, рекомендуем обязательно ознакомиться с ними.
Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.
Последние комментарии