Настройка Ubuntu 22.04 LTS: сеть, безопасность, оптимизация | Пошаговое руководство | AdminWiki

Полная настройка Ubuntu 22.04 LTS: от сети до оптимизации для разработки и сервера

18 декабря 2025 9 мин. чтения #Linux настройка #Ubuntu LTS #devops #ubuntu 22.04 #настройка сети #сервер Ubuntu #системное администрирование
Содержание статьи

Введение: С чего начать настройку Ubuntu 22.04 LTS?

Представь, что ты только что установил свежую Ubuntu 22.04 LTS. Чистая система — это как пустой холст для художника. Но чтобы превратить её в мощную рабочую станцию или надёжный сервер, нужно провести грамотную настройку. В этой статье я, как опытный DevOps, проведу тебя по всем ключевым этапам: от базового обновления и настройки сети до тонкой оптимизации для разработки.

Важно: Большинство команд в этом руководстве требуют прав суперпользователя. Не забывай использовать sudo или переходить в режим root с помощью sudo -i.

1. Базовая настройка и обновление системы

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

Обновление репозиториев и пакетов

bash
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y
sudo apt autoremove -y
sudo apt autoclean

Настройка hostname и hosts

Измени имя хоста для удобства идентификации в сети:

bash
# Временное изменение
sudo hostnamectl set-hostname my-ubuntu-server

# Постоянное изменение (редактируем файл)
sudo nano /etc/hostname

# Добавляем запись в /etc/hosts
sudo nano /etc/hosts
# Добавляем строку: 127.0.1.1 my-ubuntu-server

2. Настройка сети в Ubuntu 22.04 LTS

Настройка сети — критически важный этап. Ubuntu 22.04 использует Netplan для конфигурации сети, что отличается от старых версий.

Статический IP адрес через Netplan

Давай настроим статический IP адрес. Сначала найдём конфигурационный файл Netplan:

bash
ls /etc/netplan/
# Обычно файл называется 00-installer-config.yaml или 01-netcfg.yaml

Редактируем конфигурационный файл (замени значения на свои):

yaml
network:
  version: 2
  ethernets:
    enp3s0:  # Имя интерфейса (узнай через 'ip a')
      addresses:
        - 192.168.1.100/24  # Статический IP и маска
      routes:
        - to: default
          via: 192.168.1.1  # Шлюз
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]  # DNS серверы
      dhcp4: no  # Отключаем DHCP
Внимание: Неправильная настройка сети может привести к потере доступа к серверу. Убедись, что у тебя есть физический доступ или резервное подключение.

Применяем конфигурацию:

bash
sudo netplan apply
sudo netplan --debug apply  # Если есть проблемы

Проверка сетевых настроек

bash
# Показать IP адреса
ip a

# Проверить маршрутизацию
ip route

# Проверить DNS
systemd-resolve --status

# Проверить подключение
ping -c 4 google.com

3. Настройка SSH для безопасного удалённого доступа

SSH — основной инструмент удалённого управления. Настроим его правильно и безопасно.

Базовая настройка SSH сервера

bash
# Устанавливаем SSH сервер (если не установлен)
sudo apt install openssh-server -y

# Редактируем конфигурацию
sudo nano /etc/ssh/sshd_config

Рекомендуемые изменения в /etc/ssh/sshd_config:

config
Port 2222  # Меняем стандартный порт (необязательно, но безопаснее)
PermitRootLogin no  # Запрещаем вход под root
PasswordAuthentication no  # Отключаем аутентификацию по парню
PubkeyAuthentication yes  # Включаем аутентификацию по ключу
AllowUsers your_username  # Разрешаем только конкретных пользователей
ClientAliveInterval 300
ClientAliveCountMax 2

Настройка SSH ключей

bash
# На клиенте генерируем ключ
ssh-keygen -t ed25519 -C "your_email@example.com"

# Копируем публичный ключ на сервер
ssh-copy-id -p 2222 username@server_ip

# Альтернативный способ
cat ~/.ssh/id_ed25519.pub | ssh username@server_ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Перезапускаем SSH и проверяем:

bash
sudo systemctl restart sshd
sudo systemctl status sshd

# Проверяем подключение с клиента
ssh -p 2222 username@server_ip

4. Настройка брандмауэра UFW

UFW (Uncomplicated Firewall) — простой фронтенд для iptables. Настроим базовые правила безопасности.

bash
# Устанавливаем UFW (обычно уже установлен)
sudo apt install ufw -y

# Сбрасываем все правила (если были)
sudo ufw --force reset

# Запрещаем все входящие соединения по умолчанию
sudo ufw default deny incoming

# Разрешаем все исходящие
sudo ufw default allow outgoing

# Разрешаем 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 logging on

# Включаем брандмауэр
sudo ufw --force enable

# Проверяем статус
sudo ufw status verbose
sudo ufw status numbered  # С номерами правил

Дополнительные правила UFW

bash
# Разрешить диапазон портов
sudo ufw allow 8000:8010/tcp comment 'Custom app ports'

# Разрешить по IP адресу
sudo ufw allow from 192.168.1.0/24 to any port 22 comment 'Local SSH'

# Удалить правило по номеру
sudo ufw delete 3

# Отключить UFW (временное)
sudo ufw disable

5. Настройка автоматических обновлений

Автоматические обновления безопасности — must have для любой системы.

bash
# Устанавливаем unattended-upgrades
sudo apt install unattended-upgrades apt-listchanges -y

# Настраиваем автоматические обновления
sudo dpkg-reconfigure --priority=low unattended-upgrades

# Редактируем конфигурацию
sudo nano /etc/apt/apt.conf.d/50unattended-upgrades

Рекомендуемые настройки в 50unattended-upgrades:

config
Unattended-Upgrade::Allowed-Origins {
    "${distro_id}:${distro_codename}";
    "${distro_id}:${distro_codename}-security";
    "${distro_id}ESMApps:${distro_codename}-apps-security";
    "${distro_id}ESM:${distro_codename}-infra-security";
};

Unattended-Upgrade::AutoFixInterruptedDpkg "true";
Unattended-Upgrade::MinimalSteps "true";
Unattended-Upgrade::Remove-Unused-Dependencies "true";
Unattended-Upgrade::Automatic-Reboot "false";  # Или true для серверов
Unattended-Upgrade::Automatic-Reboot-Time "04:00";

6. Оптимизация производительности системы

Настроим систему для максимальной производительности.

Настройка swappiness

Swappiness определяет, как часто система будет использовать swap. Для серверов с большим объёмом RAM можно уменьшить:

bash
# Проверяем текущее значение
cat /proc/sys/vm/swappiness

# Временное изменение
sudo sysctl vm.swappiness=10

# Постоянное изменение
sudo nano /etc/sysctl.conf
# Добавляем строку: vm.swappiness=10

Настройка файловой системы и лимитов

bash
# Увеличиваем лимиты файловых дескрипторов
sudo nano /etc/security/limits.conf
# Добавляем:
# * soft nofile 65536
# * hard nofile 65536

# Оптимизация для SSD (если используется)
sudo nano /etc/fstab
# Для разделов SSD добавляем: noatime,nodiratime,discard

Мониторинг и анализ производительности

bash
# Установка утилит мониторинга
sudo apt install htop iotop iftop nmon -y

# Запуск мониторинга
htop  # Процессы и ресурсы
iotop  # Дисковые операции
iftop  # Сетевой трафик
nmon  # Комплексный мониторинг

7. Дополнительные настройки для разработки

Если ты используешь Ubuntu как рабочую станцию для разработки, вот полезные настройки.

Настройка локали и времени

bash
# Проверяем текущую локаль
echo $LANG

# Генерируем нужные локали
sudo locale-gen ru_RU.UTF-8
sudo locale-gen en_US.UTF-8

# Устанавливаем локаль системы
sudo update-locale LANG=en_US.UTF-8

# Настройка часового пояса
sudo timedatectl set-timezone Europe/Moscow
sudo timedatectl status

Установка базовых инструментов разработки

bash
# Установка базового стека разработчика
sudo apt install -y \
    build-essential \
    git \
    curl \
    wget \
    vim \
    tmux \
    zip \
    unzip \
    net-tools \
    software-properties-common \
    apt-transport-https \
    ca-certificates \
    gnupg-agent

Сравнение сетевых настроек: DHCP vs Static IP

Параметр DHCP (по умолчанию) Статический IP Рекомендация
IP Адрес Автоматически от DHCP сервера Фиксированный, задаётся вручную Для серверов — статический, для десктопов — DHCP
Надёжность Зависит от DHCP сервера Не зависит от других сервисов Статический для критичных сервисов
Управление Простое, не требует конфигурации Требует ручной настройки DHCP для простоты, Static для контроля
Использование Клиентские устройства, ноутбуки Серверы, принтеры, сетевое оборудование Выбор зависит от роли устройства

Часто задаваемые вопросы (FAQ)

Как настроить сеть в Ubuntu 22.04 если я потерял доступ после изменения настроек?

Если ты потерял доступ из-за неправильной настройки сети:

  1. Подключись к серверу через консоль (KVM, iDRAC, физический доступ)
  2. Используй команду sudo netplan --debug generate для проверки конфигурации
  3. Верни старую конфигурацию из backup: sudo cp /etc/netplan/00-installer-config.yaml.backup /etc/netplan/00-installer-config.yaml
  4. Примени изменения: sudo netplan apply
Всегда делай backup конфигурационных файлов перед изменениями!

Чем отличается настройка сети в Ubuntu 22.04 от более новых версий?

Ubuntu 22.04 LTS использует Netplan в качестве стандартного инструмента для настройки сети, что продолжается и в Ubuntu 24.04 LTS. Основные отличия от старых версий (до 18.04):

  • Вместо файлов /etc/network/interfaces используется YAML конфигурация в /etc/netplan/
  • Более современный и гибкий синтаксис
  • Лучшая интеграция с systemd
  • Поддержка облачных конфигураций (cloud-init)
При переходе на Ubuntu 24.04 LTS настройка сети будет практически идентичной.

Как настроить несколько сетевых интерфейсов в Ubuntu 22.04?

Для настройки нескольких интерфейсов добавь их в конфигурационный файл Netplan:

yaml
network:
  version: 2
  ethernets:
    enp3s0:
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
    enp4s0:
      addresses: [10.0.0.100/24]
      routes:
        - to: 172.16.0.0/16
          via: 10.0.0.1
Каждый интерфейс настраивается в отдельной секции конфигурации.

Как проверить, что все настройки применены правильно?

Используй следующие команды для проверки:

  • ip a — IP адреса интерфейсов
  • ip route — таблица маршрутизации
  • systemctl status sshd — статус SSH сервера
  • sudo ufw status — статус брандмауэра
  • timedatectl status — время и часовой пояс
  • hostnamectl — информация о системе
Сохрани этот чек-лист для быстрой проверки после настройки.

Заключение

Ты прошёл полный путь настройки Ubuntu 22.04 LTS — от базового обновления до тонкой оптимизации сети и безопасности. Помни, что каждая система уникальна, и эти настройки нужно адаптировать под твои конкретные задачи. Регулярно обновляй систему, мониторь логи и создавай backup важных конфигураций.

Pro-совет: Автоматизируй процесс настройки с помощью Ansible, Chef или Puppet. Это сэкономит время при развёртывании новых серверов и обеспечит идентичность конфигураций.

Теперь у тебя есть мощная, безопасная и оптимизированная система Ubuntu 22.04 LTS, готовая к работе в качестве сервера или рабочей станции для разработки. Удачи в проектах!

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