Oddzielny plik / etc / network / interfaces

14

Zastanawiałem się, czy można oddzielić konfigurację od pliku / etc / network / interfaces w osobne pliki, jak jedna sekcja w jednym pliku i inna sekcja w innym pliku? (podobny do CentOS). Czy z pliku / etc / network / interfaces można wywoływać inne pliki interfejsów? Moim pomysłem jest posiadanie sekcji Ethernet w jednym pliku, vlan w innym, VPN w innym itd. (Lub coś podobnego). Robiąc to w ten sposób, łatwiej byłoby mi edytować i analizować (tak, wiem, że są tam parsery), ale myślę, że oddzielenie ich w różnych plikach byłoby bardziej zorganizowane.

Próbowałem szukać odpowiedzi w Google przez kilka dni, a interfejs człowieka jest, ale niczego nie znalazłem. Myślę, że nie jest to możliwe (chyba że modyfikowanie kodu źródłowego z systemu operacyjnego, jak sądzę). Czy ktoś coś o tym wie?

Używam Ubuntu 12.04 LTS Server x64

Dzięki!

tryskać
źródło

Odpowiedzi:

14

Jest to z pewnością możliwe. Aby uzyskać szczegółowe informacje, zobacz stronę podręcznika interfejsów (5), ale dołączę tutaj fragment strony podręcznika:

   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.)

Ta funkcja pojawia się w Precyzyjne.

Przykład:

/ etc / network / interfaces:

   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
        [...]

Byłbym ostrożny, czy niektóre narzędzia są jeszcze świadome tej funkcji. Niektóre skrypty mogą sprawdzać tylko / etc / network / interfaces.

agy
źródło
Dzięki! Myślę, że tego właśnie szukam! I masz całkowitą rację, to jest w ich dokumentacji, myślę, że czytałem interfejsy człowieka z innej starszej wersji. Do moich celów chcę umieścić sieci VLAN w osobnym pliku, aby ułatwić edycję. Jeszcze raz dziękuję, przetestuję to.
joze
Interfejsy $ man 5 (...) Domyślnie w świeżo zainstalowanym systemie Debian plik interfejsów zawiera linię do plików źródłowych w katalogu /etc/network/interfaces.d. W pewnym momencie możesz po prostu upuścić fragmenty interfejsu w /etc/network/interfaces.d. Pamiętaj jednak, że chociaż „człowiek” mówi powyższe zdanie w Ubuntu 16.04, nowa instalacja Ubuntu 16.04 NIE ma tej funkcji ” domyślnie ”nadal musisz dodać wiersz do fragmentów kodu źródłowego.
Zakhar