Участник:Petr-akhlamov/systemd.network вразработке
Название
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 выдаст предупреждение об этом.
Раздел [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 |