Настройка Ubuntu 24.04: SSH, DNS, безопасность и оптимизация | Гайд 2024 | AdminWiki

Настройка Ubuntu 24.04: Полное руководство для сервера и рабочей станции

17 декабря 2025 8 мин. чтения #devops #dns ubuntu #linux #ssh настройка #ubuntu 24.04 #ubuntu настройка #ubuntu сервер

Представь, что ты только что установил свежий Ubuntu 24.04 Noble Numbat. Система работает, но это "чистый лист" — нужно настроить безопасность, производительность и удобство работы. Давай разберем пошагово, как превратить базовую установку в надежную рабочую станцию или сервер. Этот гайд подойдет и для настройки Ubuntu 22.04, и для Ubuntu 20.04 настройки, но с учетом особенностей новой версии.

Подготовка системы после установки Ubuntu 24.04

После установки и настройки Ubuntu 24.04 первым делом обновим пакеты и установим базовые утилиты. Это фундамент для всех дальнейших действий.

bash
# Обновление списка пакетов и системы
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 ключей

bash
# Генерация 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 и новее:

config
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, иначе потеряете доступ!

bash
# Перезагружаем 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 (рекомендуется)

bash
# Проверяем текущие 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:

yaml
# Редактируем конфиг 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 или новее, настройка брандмауэра обязательна.

bash
# Включаем 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 (особенно для серверов)

bash
# Проверяем текущий 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

bash
# Отключаем ненужные службы (пример)
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: Настройка ротации логов
bash
# Пример полезных алиасов для ~/.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, с учетом версионных особенностей. Главное — понимать, зачем нужна каждая настройка, а не просто копировать команды.

Поделиться:
Сохранить гайд? В закладки браузера