Pisahkan / etc / network / interfaces file

14

Saya bertanya-tanya apakah mungkin untuk memisahkan konfigurasi dari / etc / network / interfaces file menjadi file yang terpisah, seperti satu bait dalam satu file dan bait lain dalam file lain? (mirip dengan CentOS). Atau dari / etc / network / interfaces file apakah mungkin untuk memanggil file interface lain? Ide saya adalah memiliki bait ethernet di satu file, vlan ada di file lain, vpn ada di file lain, dll (atau yang serupa). Dengan melakukannya dengan cara ini, akan lebih mudah bagi saya untuk mengedit dan mem-parsing (ya saya tahu ada parser di luar sana), tapi saya pikir dengan memisahkan mereka dalam file yang berbeda akan lebih terorganisir.

Saya telah mencoba mencari jawaban di google selama beberapa hari, dan antarmuka manusia tetapi saya belum menemukan apa pun. Saya pikir tidak mungkin (kecuali memodifikasi kode sumber dari OS saya kira). Adakah yang tahu tentang ini?

Saya menggunakan Ubuntu 12.04 LTS Server x64

Terima kasih!

joze
sumber

Jawaban:

14

Ini tentu saja mungkin. Lihat halaman antarmuka (5) untuk detail selengkapnya, tetapi saya akan menyertakan sebagian halaman manual di sini:

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

Fitur ini muncul di Precise.

Contoh:

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

Saya akan berhati-hati apakah beberapa alat belum mengetahui fitur ini. Beberapa skrip hanya dapat memeriksa / etc / network / interfaces.

agy
sumber
Terima kasih! Saya pikir ini yang saya cari! Dan Anda benar benar dalam dokumentasi mereka, saya pikir saya sedang membaca antarmuka pria dari versi yang lebih lama. Untuk tujuan saya, saya ingin meletakkan VLAN di file terpisah untuk mengedit lebih mudah. Sekali lagi terima kasih, saya akan mengujinya.
joze
$ man 5 interfaces (...) Secara default, pada sistem Debian yang baru diinstal, file interface menyertakan baris ke sumber file di direktori /etc/network/interfaces.d. Jadi, pada titik tertentu, Anda mungkin hanya memasukkan potongan antarmuka di /etc/network/interfaces.d Tetapi perhatikan bahwa meskipun 'man' mengatakan kalimat di atas dalam Ubuntu 16.04, instalasi baru Ubuntu 16.04 TIDAK memiliki fitur ini " secara default ", Anda masih harus menambahkan baris ke snipet sumber.
Zakhar