SCROLL
Среднее время на прочтение: 1 мин.

Настройка сети с Netplan в Ubuntu

Netplan — это утилита для конфигурации сетевых настроек в системах на базе Ubuntu (начиная с версии 17.10) и других дистрибутивах Linux, использующих systemd-networkd или NetworkManager. Она позволяет задать настройки сети через удобный YAML-файл и автоматически применить их.

Конфигурационные файлы Netplan расположены в каталоге /etc/netplan/. Обычно файл называется 01-netcfg.yaml или имеет похожее имя.

Формат YAML чувствителен к отступам. Все уровни вложенности должны быть четко оформлены пробелами, а не табуляцией.

Рассмотрим ниже различные варианты настройки сетевых интерфейсов с использованием Netplan.

Настройка DHCP

Создайте или отредактируйте файл /etc/netplan/01-netcfg.yaml.

/etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true

Описание параметров:

  • version: 2 — указывает версию Netplan.
  • renderer: networkd — определяет, какой рендер будет использоваться (networkd или NetworkManager).
  • ethernets — раздел для конфигурации Ethernet-интерфейсов.
  • dhcp4: true — включает DHCP для IPv4.

Настройка статического IP

Отредактируйте файл /etc/netplan/01-netcfg.yaml.

/etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      addresses:
        - 192.168.1.10/24
      gateway4: 192.168.1.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4

Описание параметров:

  • addresses — задает IP-адрес и маску подсети в формате CIDR (например, 192.168.1.10/24).
  • gateway4 — указывает шлюз по умолчанию для IPv4.
  • nameservers — определяет DNS-серверы.

Настройка двух сетевых интерфейсов

К примеру у нас есть два сетевых интерфейса enp0s3 и enp0s8, можно настроить их следующим образом:

/etc/netplan/01-netcfg.yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:
      dhcp4: true
    enp0s8:
      addresses:
        - 192.168.2.10/24
      gateway4: 192.168.2.1
      nameservers:
        addresses:
          - 1.1.1.1
          - 8.8.8.8
  • enp0s3 — настроен для получения адреса через DHCP.
  • enp0s8 — имеет статическую конфигурацию с IP-адресом, шлюзом и DNS-серверами.
Если оба интерфейса работают в одной и той же сети или используют одинаковые DNS-серверы, вы можете указать их только один раз, как в примере выше.

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

Применение настроек

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

Команда ниже позволит протестировать изменения без их окончательного сохранения. Если вы не подтвердите изменения в течение 120 секунд, настройки будут откатаны.

sudo netplan try

Применение изменений

sudo netplan apply

Отладка и диагностика

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

sudo netplan generate

Популярные параметры Netplan

  • dhcp4 и dhcp6: включение или отключение DHCP для IPv4 и IPv6 соответственно (значения: true или false).
  • addresses: список статических IP-адресов с указанием маски подсети (например, 192.168.1.10/24).
  • gateway4 и gateway6: шлюз по умолчанию для IPv4 и IPv6.
  • nameservers: настройка DNS-серверов.
    • addresses: список IP-адресов DNS-серверов.
    • search: список доменов для поиска (опционально).
  • renderer: указывает, какой рендер использовать (networkd или NetworkManager).
  • optional: указывает, является ли интерфейс необязательным для загрузки (значение: true или false).
 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОДДЕРЖИ АВТОРА ДОНАТОМ

Обсуждение

0 комментариев

Нет комментариев.