Настройка Netplan Ubuntu 22.04 и 24.04: статический IP, DHCP, WiFi | AdminWiki

Настройка Netplan в Ubuntu 22.04 и 24.04: Полное руководство для DevOps

17 декабря 2025 7 мин. чтения #devops #linux networking #netplan #ubuntu 22.04 #ubuntu 24.04 #настройка сети

Представь, что ты только что развернул свежий сервер Ubuntu 22.04 или 24.04 и первое, с чем сталкиваешься — это необходимость настроить сеть. Старые добрые /etc/network/interfaces ушли в прошлое. Теперь всем заправляет Netplan — современный, декларативный инструмент для управления сетью через YAML-конфиги. Давай разберем, как им пользоваться от и до.

Что такое Netplan и почему он в Ubuntu?

Netplan — это утилита для настройки сети, представленная Canonical. Вместо прямого управления демонами вроде ifupdown или NetworkManager (на серверах), ты описываешь желаемое состояние сети в YAML-файле. Netplan затем транслирует эту конфигурацию в нативные настройки для выбранного рендерера (обычно systemd-networkd или NetworkManager). Это делает конфигурацию более переносимой и понятной.

Важно: Начиная с Ubuntu 17.10, Netplan является инструментом настройки сети по умолчанию для серверных и минимальных установок. В Ubuntu 22.04 и 24.04 это утверждение только укрепилось.

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

Конфиги Netplan лежат в директории /etc/netplan/. При установке системы там уже может быть файл с именем вида 00-installer-config.yaml или 01-netcfg.yaml. Именно его мы и будем редактировать.

bash
# Посмотрим, что уже есть в системе
ls -la /etc/netplan/
# Вывод может быть таким:
# -rw-r--r-- 1 root root 104 Apr 15 10:00 00-installer-config.yaml

Базовый синтаксис YAML-конфига Netplan

Перед тем как погружаться в настройку сети в Ubuntu через Netplan, запомни несколько правил YAML:

  • Отступы делаются пробелами (не табами!).
  • Чувствителен к регистру.
  • Структура строится на ключах и значениях.

Структура файла конфигурации

Каждый файл Netplan содержит словарь верхнего уровня network. Внутри него определяются версия, рендерер и, самое главное, сетевые устройства (Ethernet, WiFi) и их настройки.

Настройка Netplan Ubuntu 22.04: Практические примеры

Давай перейдем к практике. Все примеры актуальны как для настройки сети Netplan в Ubuntu 22.04, так и для 24.04.

Пример 1: Динамический IP (DHCP)

Самый простой случай — когда твой сервер получает адрес автоматически от роутера.

config
# /etc/netplan/00-installer-config.yaml
network:
  version: 2
  renderer: networkd # Используем systemd-networkd (стандарт для серверов)
  ethernets:
    enp3s0: # Имя интерфейса. Узнать его можно командой `ip link`
      dhcp4: true
      optional: true # Позволяет загружаться, даже если интерфейс не активен

Пример 2: Статический IP-адрес

Чаще всего на серверах требуется фиксированный адрес.

config
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
      addresses:
        - 192.168.1.100/24 # IP-адрес и маска сети в формате CIDR
      routes:
        - to: default
          via: 192.168.1.1 # Шлюз по умолчанию
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4 # DNS-серверы Google
        search: [localdomain] # Домен для поиска
Внимание! Замени enp3s0 на имя своего сетевого интерфейса. Узнать его можно командой ip a или ls /sys/class/net.

Пример 3: Настройка двух IP-адресов на одном интерфейсе

config
network:
  version: 2
  ethernets:
    enp3s0:
      addresses:
        - 192.168.1.100/24
        - 10.0.0.10/24 # Вторичный адрес
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 1.1.1.1]

Настройка WiFi через Netplan (Ubuntu 24.04 / 22.04)

Для работы с WiFi в Netplan в качестве рендерера обычно используется NetworkManager. Убедись, что он установлен (sudo apt install network-manager).

config
network:
  version: 2
  renderer: NetworkManager
  wifis:
    wlp2s0: # Имя беспроводного интерфейса
      dhcp4: yes
      access-points:
        "MyHomeWiFi":
          password: "s3cr3tp@ssw0rd"
      optional: true

Проверка и применение конфигурации Netplan

После редактирования YAML-файла недостаточно просто сохранить его. Нужно применить изменения.

  1. Проверка синтаксиса: Эта команда покажет, как Netplan интерпретирует твой файл, без применения.
    bash
    sudo netplan generate
  2. Пробный запуск (dry-run): Покажет, какие команды будут выполнены.
    bash
    sudo netplan try

    У тебя будет 120 секунд на проверку соединения. Если нажать Enter — конфигурация применится. Если соединение пропало — изменения откатятся.

  3. Немедленное применение: Применяет конфигурацию сразу.
    bash
    sudo netplan apply

Продвинутые сценарии: мосты и бондинг

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

Создание сетевого моста (bridge)

config
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [enp3s0]
      addresses: [192.168.1.100/24]
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]
      parameters:
        stp: false # Отключаем Spanning Tree Protocol для простых сетей

Объединение каналов (bonding) для отказоустойчивости

config
network:
  version: 2
  bonds:
    bond0:
      interfaces: [enp3s0, enp4s0]
      addresses: [10.0.0.10/24]
      gateway4: 10.0.0.1
      parameters:
        mode: active-backup # Режим активный-резервный
        primary: enp3s0 # Основной интерфейс
  ethernets:
    enp3s0: {}
    enp4s0: {}

Откат конфигурации и диагностика проблем

Если что-то пошло не так после netplan apply и ты потерял связь с сервером:

  • Если у тебя есть физический доступ, Netplan сохраняет предыдущую рабочую конфигурацию. Перезагрузка вернет старые настройки.
  • Используй sudo netplan --debug apply для подробного вывода.
  • Проверь логи рендерера: sudo journalctl -u systemd-networkd или sudo journalctl -u NetworkManager.

Сравнение рендереров: networkd vs NetworkManager

Критерий systemd-networkd NetworkManager
Назначение Серверы, минимальные системы Десктопы, ноутбуки, системы с WiFi
Сложность Минималистичный, меньше зависимостей Более функциональный, управляет соединениями
WiFi Базовая поддержка (через wpa_supplicant) Полноценная поддержка, GUI

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

Q: Я изменил конфиг, но сеть не работает. В чем дело?

A: 1) Проверь отступы в YAML-файле. 2) Убедись, что имя интерфейса указано верно (ip link). 3) Выполни sudo netplan --debug apply и изучи вывод. 4) Проверь, не блокирует ли брандмауэр (ufw) соединение.

Q: Можно ли использовать старый файл /etc/network/interfaces вместе с Netplan?

A: Нет, это взаимоисключающие методы. Netplan игнорирует старые конфиги. Убедись, что пакет ifupdown удален или не мешает.

Q: Как настроить статический IPv6-адрес в Netplan?

A> Аналогично IPv4, но используй ключ addresses с IPv6-адресом и gateway6.

config
      addresses:
        - 192.168.1.100/24
        - 2001:db8::1/64 # IPv6 адрес
      gateway6: 2001:db8::fffe

Q: Есть ли различия в настройке Netplan между Ubuntu 22.04 и 24.04?

A: Базовый синтаксис и принципы работы идентичны. Ubuntu 24.04 может содержать более новую версию утилиты с исправлениями багов и, возможно, расширенной поддержкой новых функций ядра или протоколов. Все примеры из этой статьи будут работать в обеих версиях.

Итог: Netplan — это мощный и элегантный инструмент. Потрать время на освоение его YAML-синтаксиса, и настройка сети в Ubuntu 22.04 или 24.04 превратится из рутины в быстрое и предсказуемое действие. Всегда начинай с netplan try на production-серверах!
Поделиться:
Сохранить гайд? В закладки браузера