Сетевые настройки Ubuntu 22.04: Netplan, статический IP, DNS, бонд | AdminWiki

Сетевые настройки Ubuntu 22.04: Полное руководство для DevOps и администраторов

18 декабря 2025 6 мин. чтения #devops #linux networking #netplan #network manager #ubuntu 22.04 #сетевые настройки #системное администрирование

Представь, что ты только что установил Ubuntu 22.04 на сервер или виртуальную машину. Первое, с чем сталкиваешься — это сетевые настройки Ubuntu 22.04. Без правильной конфигурации сети твоя система будет изолирована от мира. В этой статье я, как Senior DevOps Ментор, проведу тебя через все аспекты настройки сети: от базовых конфигураций до продвинутых сценариев. Мы разберем Netplan — новый стандарт Ubuntu, научимся настраивать статические IP, DNS, и даже создавать бондинг интерфейсов.

Архитектура сети в Ubuntu 22.04: Netplan vs NetworkManager

В Ubuntu 22.04 произошли значительные изменения в подходе к сетевым настройкам. Давай разберемся, какие инструменты управления сетью существуют и когда их использовать.

Основные инструменты

  • Netplan — утилита YAML-конфигурации по умолчанию для серверных установок
  • NetworkManager — предустановлен в десктопных версиях, подходит для динамических сетей
  • systemd-networkd — низкоуровневый демон, который Netplan использует как бэкенд
Инструмент Использование Конфигурация
Netplan Серверы, статические настройки YAML файлы в /etc/netplan/
NetworkManager Ноутбуки, десктопы, Wi-Fi nmcli, GUI, конфиги в /etc/NetworkManager/

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

Netplan использует простые YAML-файлы для описания сетевых настроек Ubuntu. Все конфиги находятся в /etc/netplan/.

Важно: После изменения конфигурации Netplan необходимо применить изменения командой sudo netplan apply. Для тестирования конфига без применения используй sudo netplan try (изменения откатятся через 120 секунд, если не подтвердить).

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

Давай создадим базовую конфигурацию со статическим IP для интерфейса enp0s3:

yaml
# /etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.100/24
      routes:
        - to: default
          via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
      dhcp4: no

Пример 2: DHCP с резервным статическим адресом

Иногда нужно получить адрес по DHCP, но иметь fallback на случай проблем:

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
      dhcp4-overrides:
        use-dns: false
        use-routes: true
      addresses:
        - 192.168.1.200/24
      nameservers:
        addresses: [1.1.1.1, 9.9.9.9]

Настройка нескольких сетевых интерфейсов

В серверных средах часто требуется несколько интерфейсов для разных сетей (LAN, DMZ, management).

yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:  # Management network
      addresses:
        - 10.0.0.10/24
      routes:
        - to: default
          via: 10.0.0.1
      nameservers:
        addresses: [10.0.0.2]
    enp0s8:  # DMZ network
      addresses:
        - 172.16.0.10/24
      routes:
        - to: 192.168.0.0/16
          via: 172.16.0.1
      dhcp4: no

Продвинутые сетевые настройки Ubuntu 22.04

Создание bonded интерфейса (агрегация каналов)

Bonding объединяет несколько физических интерфейсов в один логический для увеличения пропускной способности или отказоустойчивости:

yaml
network:
  version: 2
  renderer: networkd
  bonds:
    bond0:
      interfaces: [enp0s3, enp0s4]
      parameters:
        mode: 802.3ad  # LACP
        mii-monitor-interval: 100
        lacp-rate: fast
      addresses:
        - 192.168.1.50/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8]

Настройка VLAN

VLAN позволяют сегментировать сеть на логические подсети:

yaml
network:
  version: 2
  renderer: networkd
  vlans:
    vlan100:
      id: 100
      link: enp0s3
      addresses:
        - 10.0.100.10/24
    vlan200:
      id: 200
      link: enp0s3
      addresses:
        - 10.0.200.10/24

Диагностика и устранение проблем

Когда сетевые настройки Ubuntu 22.04 работают некорректно, используй эти команды для диагностики:

Основные команды диагностики

  • ip addr show — показать все интерфейсы и их адреса
  • ip route show — показать таблицу маршрутизации
  • netplan --debug apply — применить конфиг с отладкой
  • networkctl status — статус интерфейсов от systemd-networkd
  • journalctl -u systemd-networkd — логи сетевого демона
  • ping -c 4 8.8.8.8 — проверить доступность интернета
bash
# Проверка текущей конфигурации
ip a

# Проверка DNS
nslookup google.com

# Проверка маршрутизации
traceroute 8.8.8.8

# Просмотр загруженных конфигов Netplan
sudo netplan get all
Внимание: При настройке сети через SSH будь осторожен! Неправильные настройки могут разорвать соединение. Всегда имейте план восстановления (консоль сервера, IPMI, KVM).

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

Как переименовать сетевой интерфейс в Ubuntu 22.04?

Используй netplan для присвоения постоянного имени через MAC-адрес:

yaml
network:
  version: 2
  ethernets:
    eth-lan:
      match:
        macaddress: 00:11:22:33:44:55
      set-name: eth-lan
      addresses: [192.168.1.10/24]

Как полностью отключить IPv6 в Ubuntu 22.04?

Добавь в конфиг Netplan параметр dhcp6: no и accept-ra: no, или отключи через sysctl:

bash
# Временное отключение
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

# В netplan конфиге
eth0:
  dhcp4: yes
  dhcp6: no
  ipv6-mtu: 0
  accept-ra: no

Как настроить статический маршрут?

Используй секцию routes в конфигурации Netplan:

yaml
enp0s3:
  addresses: [192.168.1.10/24]
  routes:
    - to: 10.0.0.0/8
      via: 192.168.1.254
      metric: 100
    - to: 172.16.0.0/12
      via: 192.168.1.253

Можно ли использовать и Netplan, и NetworkManager одновременно?

Да, но нужно указать правильный renderer. NetworkManager для десктопов, networkd для серверов. Не рекомендуется смешивать, чтобы избежать конфликтов.

Заключение

Освоение сетевых настроек Ubuntu 22.04 — критически важный навык для любого DevOps-инженера или системного администратора. Netplan с его YAML-конфигурациями предоставляет мощный, но простой в использовании инструмент для управления сетью. Запомни ключевые моменты:

  • Конфиги Netplan находятся в /etc/netplan/ и имеют расширение .yaml
  • Всегда проверяй синтаксис YAML перед применением: sudo netplan generate
  • Используй sudo netplan try для безопасного тестирования изменений
  • Для диагностики используй ip, networkctl и journalctl
  • Держи под рукой доступ к консоли сервера на случай разрыва SSH-соединения

Теперь у тебя есть полное руководство по сетевым настройкам Ubuntu 22.04. Начни с простых конфигураций, постепенно переходя к более сложным сценариям. Практикуйся на виртуальных машинах, прежде чем вносить изменения в production-среду. Удачи в освоении сетевой магии Ubuntu!

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