Отдельный файл / etc / network / interfaces

14

Мне было интересно, возможно ли разделить конфигурацию из файла / etc / network / interfaces на отдельные файлы, например один раздел в одном файле и другой раздел в другом файле? (аналогично CentOS). Или из файла / etc / network / interfaces можно вызвать другие файлы интерфейсов? Моя идея состоит в том, чтобы в одном файле были разделы Ethernet, в другом - vlan, в другом - vpn и т. Д. (Или что-то подобное). Делая это таким образом, мне было бы легче редактировать и анализировать (да, я знаю, что есть парсеры), но я думаю, что если бы они были отдельными в разных файлах, это было бы более организованным.

Я пытался искать ответы в Google в течение нескольких дней, и человек интерфейс, но я ничего не нашел. Я думаю, что это невозможно (если я не думаю, что изменение исходного кода из ОС). Кто-нибудь знает что-нибудь об этом?

Я использую Ubuntu 12.04 LTS Server x64

Благодарность!

жозе
источник

Ответы:

14

Это конечно возможно. См. Man-страницу interfaces (5) для полной информации, но я включу фрагмент man-страницы здесь:

   Lines beginning with "source" are used to include stanzas from other  files,  so
   configuration can be split into many files. The word "source" is followed by the
   path of file to be sourced. Shell wildcards can be used.   (See  wordexp(3)  for
   details.)

Эта функция появляется в Precise.

Пример:

/ и т.д. / сеть / интерфейсы:

   auto lo
   iface lo inet loopback

   source /etc/network/interfaces.d/*.cfg

/etc/network/interfaces.d/eth0.cfg:

    auto eth0
    iface eth0 inet static
        address x.x.x.x
        [...]

Буду осторожен, если некоторые инструменты еще не знают об этой функции. Некоторые сценарии могут проверять только / etc / network / interfaces.

AGY
источник
Благодарность! Я думаю, это то, что я ищу! И вы абсолютно правы именно в их документации, мне кажется, я читал интерфейсы man из другой более старой версии. Для моих целей я хочу поместить VLAN в отдельный файл для более удобного редактирования. Еще раз спасибо, я проверю это.
Джоз
$ man 5 interfaces (...) По умолчанию в недавно установленной системе Debian файл интерфейсов содержит строку с исходными файлами в каталоге /etc/network/interfaces.d. Таким образом, в какой-то момент вы можете просто отбросить фрагменты вашего интерфейса в /etc/network/interfaces.d. Но учтите, что хотя «мужчина» говорит вышеприведенное предложение в Ubuntu 16.04, новая версия Ubuntu 16.04 НЕ имеет этой функции ». по умолчанию ", вам все равно нужно добавить строку к исходным фрагментам.
Захар