Представь, что ты только что установил свежий Ubuntu 24.04 Noble Numbat. Система работает, но это "чистый лист" — нужно настроить безопасность, производительность и удобство работы. Давай разберем пошагово, как превратить базовую установку в надежную рабочую станцию или сервер. Этот гайд подойдет и для настройки Ubuntu 22.04, и для Ubuntu 20.04 настройки, но с учетом особенностей новой версии.
Подготовка системы после установки Ubuntu 24.04
После установки и настройки Ubuntu 24.04 первым делом обновим пакеты и установим базовые утилиты. Это фундамент для всех дальнейших действий.
# Обновление списка пакетов и системы
sudo apt update && sudo apt upgrade -y
# Установка полезных утилит
sudo apt install -y \
curl \
wget \
git \
htop \
net-tools \
ufw \
software-properties-common
# Очистка кэша
sudo apt autoremove -y
sudo apt autoclean
Важно: Для установки и настройки Ubuntu 22.04 или Ubuntu 20.04 команды будут аналогичными, но версии пакетов могут отличаться.
Настройка SSH на Ubuntu 24.04 для безопасного доступа
Настройка SSH Ubuntu 24.04 — критически важный этап, особенно для серверов. Сравним подходы для разных версий:
| Версия Ubuntu | SSH по умолчанию | Рекомендуемые настройки |
|---|---|---|
| Ubuntu 24.04 | OpenSSH 9.6+ | Ed25519 ключи, отключение парольной аутентификации |
| Ubuntu 22.04 | OpenSSH 8.9 | Аналогично, но могут быть старые алгоритмы |
| Ubuntu 20.04 | OpenSSH 8.2 | Требуется обновление конфигов для безопасности |
Шаг 1: Генерация SSH ключей
# Генерация Ed25519 ключа (рекомендуется для Ubuntu 24.04)
ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519
# Или RSA для совместимости со старыми системами
ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -f ~/.ssh/id_rsa
# Копируем публичный ключ для авторизации
cat ~/.ssh/id_ed25519.pub
# Скопируйте вывод в буфер обмена
Шаг 2: Конфигурация SSH сервера
Редактируем конфиг SSH для настройки SSH Ubuntu 22.04 и новее:
sudo nano /etc/ssh/sshd_config
# Важные настройки для безопасности:
Port 2222 # Меняем стандартный порт
PermitRootLogin no # Запрещаем вход root
PasswordAuthentication no # Отключаем парольную аутентификацию
PubkeyAuthentication yes # Включаем аутентификацию по ключам
AllowUsers your_username # Разрешаем только конкретных пользователей
ClientAliveInterval 300 # Таймаут неактивных сессий
ClientAliveCountMax 2
Внимание: Не забудьте добавить свой публичный ключ в ~/.ssh/authorized_keys перед отключением PasswordAuthentication, иначе потеряете доступ!
# Перезагружаем SSH сервер
sudo systemctl restart sshd
# Проверяем статус
sudo systemctl status sshd
# Для подключения теперь используем:
ssh -p 2222 your_username@server_ip -i ~/.ssh/id_ed25519
Настройка DNS на Ubuntu 24.04
Настройка DNS на Ubuntu 24.04 отличается от предыдущих версий. В Ubuntu 24.04 используется systemd-resolved по умолчанию, что упрощает Ubuntu 22.04 DNS настройку.
Вариант 1: Использование systemd-resolved (рекомендуется)
# Проверяем текущие DNS серверы
systemd-resolve --status
# Редактируем конфиг resolved
sudo nano /etc/systemd/resolved.conf
# Добавляем или изменяем строки:
[Resolve]
DNS=8.8.8.8 8.8.4.4 # Google DNS
# Или используем Cloudflare:
# DNS=1.1.1.1 1.0.0.1
FallbackDNS=1.1.1.1 8.8.8.8
DNSOverTLS=opportunistic
DNSSEC=allow-downgrade
Cache=yes
# Перезапускаем службу
sudo systemctl restart systemd-resolved
# Применяем изменения
sudo resolvectl flush-caches
# Проверяем работу
resolvectl query google.com
Вариант 2: Через Netplan (для серверов)
Для Ubuntu 22.04 настройка сервера часто использует Netplan:
# Редактируем конфиг Netplan
sudo nano /etc/netplan/00-installer-config.yaml
# Пример конфигурации с DNS:
network:
version: 2
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 8.8.4.4
search:
- localdomain
# Применяем конфигурацию
sudo netplan apply
# Проверяем
systemd-resolve --status
Безопасность и брандмауэр
После установки и настройки Ubuntu 20.04 или новее, настройка брандмауэра обязательна.
# Включаем UFW (Uncomplicated Firewall)
sudo ufw enable
# Разрешаем SSH на кастомном порту
sudo ufw allow 2222/tcp comment 'SSH access'
# Разрешаем HTTP/HTTPS для веб-сервера
sudo ufw allow 80/tcp comment 'HTTP'
sudo ufw allow 443/tcp comment 'HTTPS'
# Базовые правила
sudo ufw default deny incoming
sudo ufw default allow outgoing
# Проверяем правила
sudo ufw status verbose
# Для удаления правила:
sudo ufw delete allow 80/tcp
Оптимизация производительности
Давай разберем ключевые настройки для повышения производительности системы.
Настройка swap (особенно для серверов)
# Проверяем текущий swap
free -h
swapon --show
# Создаем swap файл (если нет)
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Делаем постоянным
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# Настраиваем swappiness (рекомендуется 10 для серверов)
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
Оптимизация служб systemd
# Отключаем ненужные службы (пример)
sudo systemctl disable bluetooth.service
sudo systemctl disable cups.service # если не нужен принтер
sudo systemctl disable avahi-daemon.service # для серверов
# Ускоряем загрузку
sudo systemctl disable NetworkManager-wait-online.service
# Смотрим время загрузки служб
systemd-analyze blame
systemd-analyze critical-chain
Полезные инструменты и настройки
- Bash-aliases: Добавь в ~/.bashrc полезные алиасы
- Docker: Установка и настройка для контейнеризации
- ZSH + Oh My Zsh: Для удобной работы в терминале
- Fail2ban: Защита от bruteforce атак
- Logrotate: Настройка ротации логов
# Пример полезных алиасов для ~/.bashrc
alias update='sudo apt update && sudo apt upgrade -y'
alias ll='ls -la'
alias ports='netstat -tulpn'
alias sshconfig='nano ~/.ssh/config'
alias ufwstatus='sudo ufw status numbered'
# После добавления:
source ~/.bashrc
Часто задаваемые вопросы (FAQ)
Чем отличается настройка Ubuntu 24.04 от Ubuntu 22.04?
Основные отличия: Ubuntu 24.04 использует более новые версии пакетов, systemd 255+, ядро Linux 6.8+. В настройке SSH появилась поддержка новых алгоритмов, в DNS — улучшенный systemd-resolved. Также изменились некоторые конфиги по умолчанию.
Нужно ли настраивать swap на сервере с 32GB RAM?
Да, рекомендуется. Swap используется не только при нехватке памяти, но и для hibernation, а также некоторыми приложениями. Размер 2-4GB обычно достаточен. Настройте swappiness=10 для серверов.
Как перенести настройки с Ubuntu 20.04 на 24.04?
Экспортируйте: список пакетов (dpkg --get-selections), конфиги SSH, настройки брандмауэра, пользовательские скрипты. Проверьте совместимость конфигов, особенно для systemd и network.
Какие DNS серверы лучше использовать?
Для скорости: Cloudflare (1.1.1.1) или Google (8.8.8.8). Для приватности: Quad9 (9.9.9.9) или OpenDNS. Для локальной сети — DNS вашего провайдера или собственный резолвер.
Заключение
Мы прошли полный путь настройки Ubuntu 24.04 от базового обновления до продвинутых конфигураций безопасности. Ключевые моменты:
- Всегда начинайте с обновления системы и настройки SSH
- Используйте ключи Ed25519 вместо RSA для лучшей безопасности
- Настройте брандмауэр перед подключением к интернету
- Оптимизируйте производительность под ваши задачи
- Регулярно делайте бэкапы конфигов
Помни: эти принципы работают и для Ubuntu 22.04 настройки сервера, и для установки и настройки Ubuntu 20.04, с учетом версионных особенностей. Главное — понимать, зачем нужна каждая настройка, а не просто копировать команды.