Участник:Petr-akhlamov/systemd.network вразработке

Материал из ALT Linux Wiki

Название

systemd.network — Настройка сети

Синопсис

network.network

Описание

Конфигурационный файл systemd.network представляет собой простой текстовый файл с синтаксисом ini, который содержит конфигурацию сети для сопоставляемых сетевых интерфейсов, используемых systemd-networkd.

Общее описание синтаксиса приведено в systemd.syntax.

Основной файл с именем «network» должен иметь расширение .network; другие расширения игнорируются. Настройки из network-файлов применяются по ссылкам каждый раз, когда они появляются.

Файлы .network считываются из файлов, расположенных в каталогах network /usr/lib/systemd/network и /usr/local/lib/systemd/network, каталоге network /run - /run/systemd/network и каталоге network в /etc - /etc/systemd/network.

Все конфигурационные файлы в совокупности сортируются и обрабатываются в алфавитно-цифровом порядке, независимо от каталогов, в которых они находятся. Однако файлы с одинаковыми именами заменяют друг друга. Рекомендуется, чтобы перед каждым именем файла стояло число, меньше "70" (например, 10-eth0.network). в противном случае стандартные network-файлы или файлы, созданные systemd-network-generator.service(8), могут иметь приоритет над файлами, созданными пользователем. Файлы в /etc/ имеют наивысший приоритет, файлы в /run/ имеют приоритет над файлами с таким же именем в /usr/. Это может быть использовано для замены системного файла конфигурации локальным файлом, если это необходимо. В качестве особого случая, пустой файл (с размером в 0 байт) или символическая ссылка с таким же именем, указывающая на /dev/null, полностью отключает файл конфигурации (он будет "замаскирован").

Одновременно с network-файлом foo.network может существовать дополнительный каталог foo.network.d/. Все файлы с суффиксом ".conf" из этого каталога будут объединены в алфавитно-цифровом порядке и проанализированы после того, как будет проанализирован сам основной файл. Это полезно для изменения или добавления параметров конфигурации без необходимости изменять основной файл конфигурации. Каждый добавляемый файл должен иметь соответствующие заголовки разделов.

В дополнение к каталогу /etc/systemd/network, могут существовать дополнительные каталоги с окончанием ".d" расположенные в каталогах /usr/lib/systemd/network или /run/systemd/network. Дополнительные файлы в /etc/ имеют приоритет над файлами в /run/, которые, в свою очередь, имеют приоритет над файлами в /usr/lib/. Дополнительные файлы в любом из этих каталогов имеют приоритет над основным network-файлом, независимо от того, где он находится.

Раздел параметров [Match]

Network-файл содержит раздел [Match], который определяет, может ли данный файл network быть применен к указанному интерфейсу; и раздел [Network], определяющий, как интерфейс должен быть настроен. Первым (в алфавитно-цифровом порядке) применяется network-файл, соответствующий заданному интерфейсу, все последующие файлы игнорируются, даже если они также совпадают.

Обратите внимание, что любые сетевые интерфейсы, у которых установлено свойство udev ID_NET_MANAGED_BY=, никогда не будут соответствовать ни одному .network-файлу — за исключением тех случаев, когда значение этого свойства равно строке "io.systemd.Network", — даже если секция [Match] в противном случае подходила бы. Это может использоваться для исключения определенных сетевых интерфейсов из управления systemd-networkd, сохраняя при этом секцию [Match] универсальной. Таким образом, свойство ID_NET_MANAGED_BY= объявляет предполагаемого владельца устройства и позволяет гарантировать, что различные реализации управления сетью не будут конкурировать за управление одними и теми же устройствами.

Файл network считается соответствующим сетевому интерфейсу, если выполнены все условия, указанные в секции [Match]. Если файл network не содержит допустимых настроек в секции [Match], то он будет соответствовать всем интерфейсам, и systemd-networkd выдаст предупреждение об этом.

Примечание: Чтобы избежать предупреждения и явно указать, что файл должен соответствовать всем интерфейсам, добавьте следующее: Name=*


Раздел [Match] принимает следующие ключи:

Ключ Описание Добавлено в версии
MACAddress Список аппаратных адресов в различных форматах (шестнадцатеричный через двоеточие, дефис, точку, IPv4, IPv6). 250
PermanentMACAddress Список постоянных аппаратных адресов устройства, которые могут отличаться от текущего MAC-адреса. 245
Path Список шаблонов, соответствующих постоянному пути устройства, как определено udev-свойством ID_PATH. 211
Driver Список шаблонов, соответствующих драйверу устройства, как определено udev-свойством ID_NET_DRIVER или утилитой ethtool. 211
Type Список шаблонов, соответствующих типу устройства (например, ether, loopback, wlan, wwan). 211
Kind Список шаблонов, соответствующих виду устройства (например, bond, bridge, gre, tun, veth). 251
Property Список udev-свойств в формате 'ключ=значение', объединяемых логическим И. Можно инвертировать с '!'. 243
Name Список шаблонов, соответствующих имени устройства или его альтернативным именам. 211
WLANInterfaceType Список типов беспроводной сети (ad-hoc, station, ap и др.). 244
SSID Список шаблонов, соответствующих SSID текущей беспроводной сети. 244
BSSID Список аппаратных адресов текущей беспроводной сети, поддерживающий разные форматы MAC-адресов. 244
Host Сравнение с именем хоста или идентификатором машины, можно инвертировать с '!'. 211
Virtualization Проверка выполнения в виртуализированной среде, можно проверить конкретную реализацию. 211
KernelCommandLine Проверка наличия определенной опции командной строки ядра. 211
KernelVersion Проверка версии ядра (uname -r) по определенному выражению. 237
Credential Проверка переданных учетных данных в systemd-udevd.service. 252
Architecture Проверка архитектуры системы. 211
Firmware Проверка типа прошивки системы (например, UEFI, BIOS). 249