Из справочной страницы интерфейсов Ubuntu :
Строки, начинающиеся с «source», используются для включения строф из другие файлы, поэтому конфигурацию можно разделить на несколько файлов. Слово За словом "источник" следует путь к файлу, для которого будет создан источник. Оболочка могут использоваться подстановочные знаки. В настоящее время поддерживает только абсолютный путь имена.
Команда source
является текстовой версией синтаксиса .
(источник). Это позволяет включить / импортировать код из одного файла и объединить его в родительский. Однако, из базовой установки Ubuntu 16.04 неясно, почему строка source
будет первой. То есть, если вы хотите использовать статический IP для интерфейса enp0s3
ниже, значит ли это, что сначала я должен прокомментировать / стереть строку iface
для enp0s3
?
Файл и файл.d довольно распространены. Если вы запустили HTTP-сервер Apache, вы, вероятно, видели apache24/conf/httpd.conf, и с его стороны выбрасывается каталог extra/, который содержит больше *. conf файлов (обычно httpd-ssl.conf, httpd-vhosts.conf, php.conf, httpd-default.conf и т.д.). В этом случае сценарии оболочки не включены, но принцип в основном тот же.
1. Разделение проблем.
Лучше испортить только одну конфигурацию интерфейса, тогда сделайте что-нибудь, что может повлиять на несколько интерфейсов. Если держать все отдельно, то становится проще писать сценарии оболочки, которые автоматизируют процесс.
Вместо того, чтобы просеивать /etc/network/interfaces
с помощью sed
, grep
и awk
для правильного интерфейса, вы можете просто нацелиться на нужный файл в /etc/network/interfaces. d/
с помощью глобуса основного файла.
Сохраняя разрозненность, вы значительно снижаете шансы испортить все.
2. Лучшая организация в долгосрочной перспективе.
Если подумать о том, что содержит interface.d/, то он содержит "экземпляры" конфигураций сетевых интерфейсов (которые могут быть довольно сложными). Таким образом, время, сэкономленное на прокрутке, может сделать interfaces.d/ лучшим вариантом.
Планируете ли вы профессиональную настройку? Используйте /etc/network/interfaces.d/
для хранения конфигураций Ваших сетевых интерфейсов (по одному файлу на интерфейс).
Вы любитель использовать Linux в своем подвале (на компьютере с одним интерфейсом) и могли бы меньше заботиться о том, чтобы сделать жизнь легче для кого-то другого? Используйте /etc/network/interfaces
и продолжайте жить дальше. Прокомментируйте настройки конфигурации по умолчанию или удалите их вообще.
Помните, хотя в man-странице для интерфейсов сказано, что команды конфигурации интерфейсов являются кумулятивными, позволяющими использовать несколько протоколов и несколько IP-адресов (v4 и v6) на каждом интерфейсе. В конце концов, ВЫ решаете, что будет в /etc/network/interfaces
. Например, конфигурация обратного шлейфа по умолчанию? Сбросьте конфигурацию в файл и поместите её в /etc/netowork/interfaces.d/
.
Теперь сделайте то же самое для любых других настроек интерфейса установки по умолчанию.
Оставьте замечание в /etc/network/interfaces.d/
о том, что этот файл говорит: "Этот файл не должен использоваться для изменения конфигурации интерфейса! Ищите нужный файл интерфейса в файле /etc/network/interfaces.d.
Назовите имена файлов в /etc/netowork/interfaces.d/
с аналогичным условным обозначением. Системы Red Hat используют соглашение с префиксом файла интерфейса ifcfg-
Таким образом, я могу использовать это соглашение в /etc/netowork/interfaces.d/
, без указания.
/etc/network/interfaces.d/ifcfg-lo
/etc/network/interfaces.d/ifcfg-enp0s3
Определенно читайте man интерфейсы
.
Удачи!
.