Ubuntu 22.04 Server настройка сети через NetworkManager — пошаговая инструкция | AdminWiki

Настройка сети в Ubuntu 22.04 Server через NetworkManager: Полное руководство

18 декабря 2025 8 мин. чтения #linux networking #netplan #networkmanager #nmcli #ubuntu 22.04 #ubuntu сервер #настройка сети #сервер

Введение: Почему NetworkManager на сервере?

Представь, что ты разворачиваешь новый сервер Ubuntu 22.04. Раньше для управления сетью использовались netplan или прямое редактирование /etc/network/interfaces. Но начиная с определенных релизов, всё чаще рекомендуют NetworkManager — единый, мощный инструмент для управления подключениями как на десктопах, так и на серверах. Давай разберем, как с его помощью настроить сеть на сервере быстро, гибко и без головной боли.

Важно: В Ubuntu Server 22.04 LTS NetworkManager часто устанавливается по умолчанию, но не всегда включен для управления всеми интерфейсами. Наша задача — взять его под полный контроль.

Подготовка: Проверка и установка NetworkManager

Сначала убедимся, что NetworkManager присутствует в системе и узнаем текущее состояние сети.

bash
# Проверяем, установлен ли NetworkManager
sudo systemctl status NetworkManager

# Если не установлен, устанавливаем
sudo apt update
sudo apt install network-manager -y

# Проверяем доступные сетевые интерфейсы
nmcli device status

# Или более подробно
ip a

Команда nmcli device status покажет список всех сетевых устройств (например, enp3s0, eth0) и их состояние (connected, disconnected, unmanaged). Ключевой момент — интерфейс не должен быть в состоянии unmanaged. Если это так, нужно настроить Netplan, чтобы он передал управление NetworkManager.

Настройка Netplan для работы с NetworkManager

В Ubuntu 22.04 Server часто есть конфиг Netplan (/etc/netplan/00-installer-config.yaml или подобный). Чтобы передать управление NetworkManager, конфигурация должна выглядеть так:

yaml
# /etc/netplan/00-installer-config.yaml
network:
  version: 2
  renderer: NetworkManager

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

bash
sudo netplan apply

# Перезапускаем NetworkManager для верности
sudo systemctl restart NetworkManager

# Снова проверяем статус устройств
nmcli device status
Внимание: Если у тебя уже была настроена сеть через Netplan (со статическим IP), после смены renderer на NetworkManager эти настройки перестанут действовать. Их нужно будет заново создать через nmcli или nmtui, как описано ниже.

Основы работы с nmcli: твой главный инструмент

nmcli (NetworkManager Command Line Interface) — это мощная консольная утилита. Выучи несколько основных команд, и ты сможешь управлять сетью с невероятной скоростью.

Команда Описание Пример
nmcli device Работа с сетевыми устройствами (адаптерами) nmcli dev status
nmcli connection Управление профилями подключений (конфигами) nmcli con show
nmcli general Общая информация и статус NetworkManager nmcli gen status

Настройка статического IP-адреса на Ubuntu 22.04 Server

Это самая частая задача при настройке сервера. Предположим, наш интерфейс называется enp3s0.

Способ 1: Создание нового подключения с помощью nmcli

bash
# Создаем новое соединение со статическим IP
sudo nmcli con add type ethernet con-name "static-eth" ifname enp3s0 \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8 8.8.4.4" \
    ipv4.method manual

# Активируем (поднимаем) созданное соединение
sudo nmcli con up "static-eth"

Разберем команду по частям:

  • type ethernet — тип соединения Ethernet.
  • con-name "static-eth" — произвольное имя профиля.
  • ifname enp3s0 — имя физического интерфейса.
  • ipv4.addresses 192.168.1.100/24 — статический IP и маска.
  • ipv4.method manual — ключевой параметр для статической настройки.

Способ 2: Редактирование существующего подключения (например, DHCP)

Часто после установки система создает соединение с DHCP. Давай изменим его на статическое.

bash
# Смотрим список подключений и находим имя нужного (обычно "Wired connection 1")
nmcli con show

# Меняем метод на ручной (manual) и задаем параметры
sudo nmcli con mod "Wired connection 1" \
    ipv4.addresses 192.168.1.100/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8 8.8.4.4" \
    ipv4.method manual

# Отключаем и снова включаем соединение для применения настроек
sudo nmcli con down "Wired connection 1"
sudo nmcli con up "Wired connection 1"

Настройка DHCP (динамического IP)

Если серверу нужно получать адрес автоматически, настройка ещё проще.

bash
# Создаем новое подключение с DHCP
sudo nmcli con add type ethernet con-name "dhcp-eth" ifname enp3s0 ipv4.method auto

# Или меняем существующее на DHCP
sudo nmcli con mod "static-eth" ipv4.method auto

# Применяем изменения
sudo nmcli con down "static-eth"; sudo nmcli con up "static-eth"

Продвинутые сценарии: VLAN и Bridge

NetworkManager отлично справляется с сложными конфигурациями, которые часто нужны на серверах.

Создание VLAN интерфейса

bash
# Создаем VLAN с ID 10 на интерфейсе enp3s0
sudo nmcli con add type vlan con-name vlan10 ifname vlan10 dev enp3s0 id 10 \
    ipv4.addresses 10.10.10.5/24 ipv4.method manual

# Активируем
sudo nmcli con up vlan10

Создание моста (Bridge)

Полезно для виртуализации (KVM, LXC) или объединения сетей.

bash
# 1. Создаем мостовой интерфейс br0
sudo nmcli con add type bridge con-name br0 ifname br0 \
    ipv4.addresses 192.168.1.150/24 \
    ipv4.gateway 192.168.1.1 \
    ipv4.dns "8.8.8.8" \
    ipv4.method manual

# 2. Добавляем физический интерфейс enp3s0 в мост в качестве slave (порта)
sudo nmcli con add type ethernet con-name br0-slave ifname enp3s0 master br0

# 3. Активируем оба соединения
sudo nmcli con up br0-slave
sudo nmcli con up br0

Использование nmtui: Текстовый интерфейс для настройки

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

bash
# Запускаем утилиту (должна быть установлена)
sudo nmtui

В меню nmtui можно выбрать "Edit a connection", создать новое или изменить существующее подключение, задав все параметры в визуальной форме.

Где хранятся конфигурационные файлы?

Все созданные через NetworkManager профили хранятся в директории /etc/NetworkManager/system-connections/. Их можно редактировать вручную, но после этого нужно перезагружать NetworkManager.

bash
sudo ls -la /etc/NetworkManager/system-connections/
# Файлы: static-eth.nmconnection, br0.nmconnection и т.д.

# Просмотр содержимого
sudo cat /etc/NetworkManager/system-connections/static-eth.nmconnection
Опасно: Не редактируй файлы в /etc/NetworkManager/system-connections/ напрямую, пока соединение активно. Сначала деактивируй его (nmcli con down), внеси правки, затем перезагрузи NetworkManager (sudo systemctl reload NetworkManager) и активируй снова.

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

Как полностью отключить NetworkManager и вернуться к netplan?

В файле Netplan (/etc/netplan/*.yaml) замени renderer: NetworkManager на renderer: networkd, задай нужные настройки сети (адрес, шлюз) в этом же YAML-файле, выполни sudo netplan apply и останови службу NetworkManager: sudo systemctl stop NetworkManager; sudo systemctl disable NetworkManager.

Почему после перезагрузки сбрасываются настройки сети?

Скорее всего, созданный тобой профиль подключения не установлен на автоподключение. Проверь и исправь это командой: sudo nmcli con mod "static-eth" connection.autoconnect yes. Также убедись, что в Netplan renderer установлен в NetworkManager.

Как настроить несколько IP-адресов (алиасы) на одном интерфейсе?

Используй параметр ipv4.addresses через запятую:

bash
sudo nmcli con mod "static-eth" ipv4.addresses "192.168.1.100/24, 192.168.1.101/24"

NetworkManager не видит мой сетевой интерфейс. Что делать?

1. Убедись, что драйвер загружен (lsmod | grep драйвер).
2. Проверь, не управляется ли интерфейс другой службой (systemctl status systemd-networkd). Если да, останови её.
3. Явно разреши NetworkManager управлять всем в конфиге /etc/NetworkManager/NetworkManager.conf, добавив в секцию [keyfile] строку unmanaged-devices=none и перезагрузи службу.

Заключение

Настройка сети в Ubuntu 22.04 Server через NetworkManager — это современный, гибкий и надежный подход. Ты освоил ключевые команды nmcli для настройки статического и динамического IP, познакомился с созданием VLAN и мостов, а также узнал, как решать типичные проблемы. Не бойся экспериментировать в тестовой среде, а для продакшн-серверов всегда имей под рукой план отката (например, доступ через IPMI или консоль). Удачи в настройке!

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