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

Обновлено: 21.11.2024

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

Интерфейсы Ethernet

Определение интерфейсов Ethernet

Чтобы быстро определить все доступные интерфейсы Ethernet, вы можете использовать команду ip, как показано ниже.

Еще одним приложением, которое может помочь определить все сетевые интерфейсы, доступные вашей системе, является команда lshw. Эта команда предоставляет более подробную информацию об аппаратных возможностях конкретных адаптеров. В приведенном ниже примере lshw показывает один интерфейс Ethernet с логическим именем eth0 вместе с информацией о шине, сведениями о драйвере и всеми поддерживаемыми возможностями.

Логические имена интерфейса Ethernet

Логические имена интерфейсов также можно настроить с помощью конфигурации сетевого плана. Если вы хотите контролировать, какой интерфейс получает конкретное логическое имя, используйте клавиши match и set-name. Ключ совпадения используется для поиска адаптера на основе некоторых критериев, таких как MAC-адрес, драйвер и т. д. Затем можно использовать ключ set-name для изменения устройства на желаемое логическое имя.

Настройки интерфейса Ethernet

ethtool – это программа, которая отображает и изменяет параметры карты Ethernet, такие как автосогласование, скорость порта, дуплексный режим и Wake-on-LAN. Ниже приведен пример просмотра поддерживаемых функций и настроенных параметров интерфейса Ethernet.

IP-адресация

В следующем разделе описывается процесс настройки IP-адреса вашей системы и шлюза по умолчанию, необходимых для связи в локальной сети и Интернете.

Временное назначение IP-адреса

Для временной настройки сети вы можете использовать команду ip, которая также присутствует в большинстве других операционных систем GNU/Linux. Команда ip позволяет настроить параметры, которые вступают в силу немедленно, однако они не являются постоянными и будут потеряны после перезагрузки.

Чтобы временно настроить IP-адрес, вы можете использовать команду ip следующим образом. Измените IP-адрес и маску подсети в соответствии с требованиями вашей сети.

Затем IP-адрес можно использовать для установки связи вверх или вниз.

Чтобы проверить конфигурацию IP-адреса enp0s25, вы можете использовать команду ip следующим образом.

Чтобы настроить шлюз по умолчанию, вы можете использовать команду ip следующим образом. Измените адрес шлюза по умолчанию, чтобы он соответствовал требованиям вашей сети.

Чтобы проверить конфигурацию шлюза по умолчанию, вы можете использовать команду ip следующим образом.

Если вам требуется DNS для временной конфигурации сети, вы можете добавить IP-адреса DNS-серверов в файл /etc/resolv.conf . Как правило, непосредственное редактирование /etc/resolv.conf не рекомендуется, но это временная и непостоянная конфигурация. В приведенном ниже примере показано, как ввести два DNS-сервера в /etc/resolv.conf, которые следует изменить на серверы, подходящие для вашей сети. Более подробное описание правильного постоянного способа настройки DNS-клиента приведено в следующем разделе.

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

Примечание

Сброс конфигурации IP с помощью команды ip не очищает содержимое /etc/resolv.conf . Вы должны удалить или изменить эти записи вручную или перезагрузиться, что также должно привести к перезаписи /etc/resolv.conf , который является символической ссылкой на /run/systemd/resolve/stub-resolv.conf .

Динамическое назначение IP-адреса (DHCP-клиент)

Чтобы настроить сервер на использование DHCP для динамического назначения адресов, создайте конфигурацию netplan в файле /etc/netplan/99_config.yaml . В приведенном ниже примере предполагается, что вы настраиваете свой первый интерфейс Ethernet, обозначенный как enp3s0.

Затем конфигурацию можно применить с помощью команды netplan.

Назначение статического IP-адреса

Чтобы настроить систему на использование статического назначения адресов, создайте конфигурацию netplan в файле /etc/netplan/99_config.yaml . В приведенном ниже примере предполагается, что вы настраиваете свой первый интерфейс Ethernet, обозначенный как eth0. Измените значения addresses, gateway4 и nameservers в соответствии с требованиями вашей сети.

Затем конфигурацию можно применить с помощью команды netplan.

Интерфейс обратной связи

Интерфейс обратной связи идентифицируется системой как lo и имеет IP-адрес по умолчанию 127.0.0.1. Его можно просмотреть с помощью команды ip.

Разрешение имени

Разрешение имен применительно к IP-сетям — это процесс сопоставления IP-адресов с именами хостов, упрощающий идентификацию ресурсов в сети.В следующем разделе объясняется, как правильно настроить систему для разрешения имен с помощью DNS и статических записей имен хостов.

Конфигурация DNS-клиента

Традиционно файл /etc/resolv.conf был статическим файлом конфигурации, который редко требовалось изменять или изменять автоматически с помощью клиентских ловушек DCHP. Systemd-resolve обрабатывает конфигурацию сервера имен, и с ним следует взаимодействовать с помощью команды systemd-resolve. Netplan настраивает systemd-resolved для создания списка серверов имен и доменов для помещения в /etc/resolv.conf , который является символической ссылкой:

Чтобы настроить преобразователь, добавьте IP-адреса серверов имен, подходящие для вашей сети, в файл конфигурации netplan. Вы также можете добавить необязательные списки поиска суффиксов DNS, чтобы они соответствовали именам доменов в вашей сети. Результирующий файл может выглядеть следующим образом:

Если у вас есть несколько доменов, в которых вы хотите выполнить поиск, ваша конфигурация может выглядеть следующим образом:

Если вы попытаетесь пропинговать хост с именем server1, ваша система автоматически запросит у DNS полное доменное имя (FQDN) в следующем порядке:

Если совпадений не найдено, DNS-сервер предоставит результат не найдено, и DNS-запрос завершится ошибкой.

Статические имена хостов

Статические имена хостов — это локально определенные сопоставления имен хостов и IP-адресов, расположенные в файле /etc/hosts . Записи в файле hosts по умолчанию имеют приоритет над DNS. Это означает, что если ваша система пытается разрешить имя хоста и оно совпадает с записью в /etc/hosts, она не будет пытаться найти запись в DNS. В некоторых конфигурациях, особенно когда доступ в Интернет не требуется, серверы, взаимодействующие с ограниченным числом ресурсов, можно удобно настроить на использование статических имен хостов вместо DNS.

Ниже приведен пример файла hosts, в котором несколько локальных серверов идентифицируются простыми именами хостов, псевдонимами и эквивалентными им полными доменными именами (FQDN).

Примечание

В приведенном выше примере обратите внимание, что каждому из серверов были присвоены псевдонимы в дополнение к их собственным именам и полным доменным именам. Server1 сопоставлен с именем vpn, server2 называется mail, server3 как www и server4 как файл.

Конфигурация коммутатора службы имен

Порядок, в котором ваша система выбирает метод преобразования имен хостов в IP-адреса, контролируется файлом конфигурации переключателя службы имен (NSS) /etc/nsswitch.conf . Как упоминалось в предыдущем разделе, обычно статические имена хостов, определенные в системном файле /etc/hosts, имеют приоритет над именами, полученными из DNS. Ниже приведен пример строки, отвечающей за этот порядок поиска имен хостов в файле /etc/nsswitch.conf.

files сначала пытается разрешить статические имена хостов, расположенные в /etc/hosts .

mdns4_minimal пытается разрешить имя с помощью многоадресной рассылки DNS.

[NOTFOUND=return] означает, что любой ответ notfound предыдущего процесса mdns4_minimal следует рассматривать как авторитетный и что система не должна пытаться продолжать поиск ответ.

dns представляет собой устаревший одноадресный DNS-запрос.

mdns4 представляет многоадресный DNS-запрос.

Чтобы изменить порядок вышеупомянутых методов разрешения имен, вы можете просто изменить строку hosts: на значение по вашему выбору. Например, если вы предпочитаете использовать устаревший одноадресный DNS вместо многоадресного DNS, вы можете изменить строку в файле /etc/nsswitch.conf, как показано ниже.

Связь

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

Настройте мост, изменив конфигурацию сетевого плана в /etc/netplan/:

Примечание

Введите соответствующие значения для вашего физического интерфейса и сети.

Теперь примените конфигурацию, чтобы включить мост:

Теперь новый интерфейс моста должен быть запущен и работать. brctl предоставляет полезную информацию о состоянии моста, определяет, какие интерфейсы являются частью моста и т. д. Для получения дополнительной информации см. man brctl.

networkd-dispatcher для pre-up, post-up и т. д. скриптов ловушек

Пользователи предыдущего ifupdown могут быть знакомы с использованием скриптов-ловушек (например, pre-up, post-up и т. д.) в своих файлах интерфейсов. Конфигурация Netplan в настоящее время не поддерживает сценарии подключения в своем определении конфигурации.

Вместо того, чтобы реализовать эту функциональность с помощью сетевого рендерера, пользователи могут использовать networkd-dispatcher.Пакет предоставляет пользователям и пакетам контрольные точки при достижении определенных состояний сети, чтобы помочь реагировать на состояние сети.

Примечание. Если не на Ubuntu Server, а на рабочем столе, сеть управляется Network Manager — в этом случае вместо этого вам понадобятся сценарии NM Dispatcher.

В FAQ по Netplan есть отличная таблица, в которой сравниваются тайминги событий между ifupdown / systemd-networkd / network-manager

Важно помнить, что эти хуки выполняются асинхронно; то есть они не будут блокировать переход в другое состояние.

В FAQ Netplan также есть пример преобразования старого хука ifupdown в networkd-dispatcher .

Ресурсы

На странице Ubuntu Wiki Network есть ссылки на статьи, посвященные более сложной настройке сети.

На веб-сайте netplan есть дополнительные примеры и документация.

Справочная страница netplan содержит дополнительную информацию о netplan.

Справочная страница systemd-resolved содержит дополнительную информацию о сервисе systemd-resolved.

Ubuntu 18.04 LTS перешла на Netplan для настройки сетевых интерфейсов. Netplan основан на системе конфигурации на основе YAML, что делает процесс настройки очень простым. Netplan заменил старый файл конфигурации /etc/network/interfaces, который мы ранее использовали для настройки сетевых интерфейсов в Ubuntu.

В этой статье мы узнаем, как настроить сеть в Ubuntu с помощью Netplan. Мы увидим как статическую, так и динамическую конфигурацию IP. Я буду использовать Ubuntu 18.04 LTS для описания процедуры, упомянутой в этой статье.

Настройка сети с помощью Netplan

Вы можете найти новые файлы конфигурации в /etc/netplan/*.yaml. Сервер Ubuntu генерирует файл конфигурации Netplan для system-networkd с именем 01-netcfg.yaml, а рабочий стол Ubuntu создает файл конфигурации Netplan для Network-Manager с именем 01-network-manager-all.yaml.

Поскольку я работаю над рабочим столом Ubuntu, у меня есть файл 01-network-manager-all.yaml в моем каталоге /etc/netplan для настройки сети. 01-network-manager-all.yaml используется для настройки первого интерфейса. Если у вас несколько интерфейсов, используйте 02-network-manager-all.yaml для второго интерфейса. Netplan применяет конфигурацию в порядке номеров. Это означает, что файл 01 будет применен перед файлом 02.

Теперь давайте перейдем к настройке сети. Выполните следующие действия, чтобы настроить статическую или динамическую IP-адресацию в Ubuntu:

<р>1. Сначала найдите имена активных сетевых интерфейсов, которые вы хотите настроить. Для этого выполните следующую команду:

Запишите имя интерфейса, который вы хотите настроить с помощью Netplan.

<р>2. Файл конфигурации Netplan по умолчанию находится в каталоге /etc/netplan. Вы можете найти это с помощью следующей команды:

<р>3. Чтобы просмотреть содержимое файла конфигурации сети Netplan, выполните следующую команду:

<р>4. Теперь вам нужно будет открыть файл конфигурации в любом редакторе: Поскольку я использую редактор Nano для редактирования файла конфигурации, я выполню:

<р>5. Обновите файл конфигурации в соответствии с вашими сетевыми потребностями. Для статической IP-адресации добавьте информацию об IP-адресе, шлюзе и DNS, а для динамической IP-адресации нет необходимости добавлять эту информацию, поскольку она будет получена с DHCP-сервера. Используйте следующий синтаксис для редактирования файла конфигурации.

DEVICE_NAME: имя интерфейса.

Dhcp4: да или нет в зависимости от динамической или статической IP-адресации

Адреса: IP-адрес устройства в виде префикса. Не используйте сетевую маску.

Шлюз: IP-адрес шлюза для подключения к внешней сети

Серверы имен: адреса серверов имен DNS

Обратите внимание, что файлы Yaml довольно строги в отношении отступов. Используйте пробелы для отступов, а не табуляции. В противном случае вы столкнетесь с ошибкой.

Настроить статический IP-адрес в Ubuntu

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

Настроить динамический IP-адрес в Ubuntu

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

Здесь вы можете увидеть мой файл конфигурации для динамической IP-адресации:

После завершения настройки статического или динамического IP-адреса сохраните и закройте файл конфигурации.

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

Прежде чем вносить какие-либо изменения, мы проверим файл конфигурации. Запустите следующую команду от имени sudo для проверки конфигурации:

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

Применить конфигурацию

Теперь примените новые настройки, выполнив следующую команду от имени sudo:

Если вы видите какую-либо ошибку, попробуйте выполнить отладку, чтобы исследовать проблему. Чтобы запустить отладку, используйте следующую команду от имени sudo:

Перезапустите сетевую службу

После успешного применения всех конфигураций перезапустите службу Network-Manager, выполнив следующую команду:

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

Подтвердить IP-адрес

Теперь, чтобы проверить, успешно ли применены новые конфигурации, выполните следующую команду для проверки IP-адреса:

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

Похожие сообщения:

Карим Буздар

Об авторе: Карим Буздар имеет степень инженера в области телекоммуникаций и несколько сертификатов системного администратора. Как ИТ-инженер и технический автор, он пишет для различных веб-сайтов. Вы можете связаться с Каримом в LinkedIn

Поиск

Об этом сайте

Последние руководства

сообщить об этом объявлении

В этом руководстве вы узнаете, как настроить сеть в Ubuntu 20.04 с помощью Netplan. Вы узнаете, как установить статические IP-адреса, адреса DHCP, а также как настроить DNS и Wi-Fi.

Представленная еще в 18.04, в апреле 2018 г., сеть была переделана с использованием новой системы под названием Netplan — системы конфигурации сети на основе YAML для NetworkManager и SystemD.

Файлы NetPlan

Сетевые интерфейсы в Ubuntu 20.04 настраиваются в файлах NetPlan YAML, которые хранятся в /etc/netplan . Сетевые файловые интерфейсы по умолчанию для новой установки Ubuntu 20.04 — /etc/netplan/00-installer-config.yaml .

Чтобы отредактировать файл сетевого плана по умолчанию, используйте следующую команду.

В качестве альтернативы вместо vim можно использовать более простой текстовый редактор nano.

Как установить статический IP-адрес

Ниже приведен пример файла Netplan с сетевым интерфейсом со статическим IP-адресом. Имя интерфейса — en01, и ему назначены статические IP-адреса 192.168.1.25/24 для IPv4 и 2001:1::1/64 для IPv6.

Поскольку IPv4 и IPv6 имеют статические IP-адреса, для каждого из них также установлен шлюз.

В этом файле также определяются DNS-серверы имен. В этом руководстве мы рассмотрим DNS чуть ниже.

Чтобы применить изменения к сетевому плану, вам потребуется перезагрузить сетевые конфигурации сетевого плана.

Как установить DHCP-адреса

Динамическая адресация может быть назначена для IPv4 и IPv6 при условии, что в вашей сети есть DHCP-сервер.

В следующем примере показано, как включить DHCP для IPv4 и IPv6. Чтобы включить только один, вы должны удалить ненужную версию IP-адреса сети.

Чтобы обновить настройки сетевого плана, выполните команду netplan apply.

Как настроить DNS

Ниже приведен пример сетевого интерфейса id0 с настроенными серверами имен.

  • поиск – это список поисковых доменов, которые используются, когда указано неполное имя хоста. Например, если вы пингуете server1, а не server1.lab .
  • addresses — это список IP-адресов IPv4 или IPv6 для DNS-серверов имен. IPv6 должен быть указан в кавычках.

Как настроить аутентификацию WiFi

Хотя Wi-Fi — это не то, для чего вы обычно настраиваете сервер Ubuntu, он достаточно распространен, и вы можете рассмотреть возможность его использования в некоторых случаях. Ниже приведены инструкции по настройке режимов Wi-Fi WPA и EAP.

В Systemd нет встроенной поддержки Wi-Fi.Чтобы ваше сетевое устройство работало с Wi-Fi, вам необходимо установить wpasupplicant.

Настройка WiFi-соединений WPA и EAP

В наиболее распространенных конфигурациях домашнего Wi-Fi используется режим WPA или EAP, в то время как EAP чаще используется на предприятиях. В этих двух режимах используется базовая форма аутентификации с использованием пароля или общего ключа.

Для домашних пользователей режим WPA проще всего использовать с совместимым устройством Wi-Fi. Устройства, поддерживающие WPA, могут автоматически подключаться к сетям Wi-Fi, нажав кнопку WPA на совместимом маршрутизаторе Wi-Fi.

Чтобы настроить WPA или EAP в Ubuntu с помощью Netplan, вы должны добавить скаляр auth в файл конфигурации netplan. В приведенном ниже примере мы добавили его к интерфейсу Ethernet с именем id0.

Скаляр точек доступа задает способ установления соединения Wi-Fi.

Ранее на этой неделе я загрузил netplan 0.21 в искусный, с SRU для стабильных выпусков. Впереди еще много функций, но они уже весьма полезны. Вы уже можете использовать его для описания типичных сетевых конфигураций на настольных компьютерах и серверах, вплоть до интересных и сложных настроек, таких как соединение через мост через несколько VLAN…

Начало работы

Простейшая конфигурация сетевого плана может выглядеть следующим образом:

При загрузке netplan увидит эту конфигурацию (которая уже установлена ​​во всех новых системах с версии 16.10) и сгенерирует один пустой файл: /run/NetworkManager/conf.d/10-globally-managed-devices. конф. Это сообщает системе, что NetworkManager является единственным средством визуализации для конфигурации сети в системе и будет управлять всеми устройствами по умолчанию.

Эта невероятно простая конфигурация сообщает системе, что устройство eth0 должно быть активировано с помощью DHCP4. Netplan также поддерживает DHCPv6, а также статические IP-адреса, настройку маршрутов и т. д.

Создание чего-то более сложного

Допустим, мне нужна группа из двух сетевых адаптеров, и я использую их для доступа к сети VLAN 108:

Я думаю, вы видите, насколько просто настроить даже довольно сложные сети в одном файле. Прелесть в том, что вам не нужно беспокоиться о том, что на самом деле настроит это для вас.

Выбор бэкенда

В настоящее время netplan поддерживает либо NetworkManager, либо systemd-networkd в качестве серверной части. По умолчанию используется systemd-networkd, но, учитывая, что он не поддерживает беспроводные сети, для этого мы по-прежнему полагаемся на NetworkManager.

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

Скоро…

Я добавлю правильную поддержку установки «клонированного» MAC-адреса на устройстве. Я уже просматриваю код, чтобы сделать это, и устраняю последние проблемы.

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

Я очень рад тому, куда движется netplan. Похоже, у него есть большой потенциал для устранения некоторых текущих недостатков других инструментов. Я также очень рад услышать истории о том, как он используется в дикой природе, поэтому, если вы используете его, не стесняйтесь, дайте мне знать об этом!

Эта запись впервые появилась в блоге Матье Трюдель-Лапьера

Облако Ubuntu

Ubuntu предлагает все необходимое для обучения, программную инфраструктуру, инструменты, услуги и поддержку для общедоступных и частных облаков.

Читайте также: