Pertanyaan File di /etc/network/interfaces.d diabaikan, tetapi tidak / etc / network / interfaces itu sendiri


Untuk Ubuntu 16.04 LTS (GNU / Linux 3.10.96-113 armv7l)

Ketika saya memiliki yang berikut ini, konfigurasi statis saya diabaikan:

/ etc / network / interfaces

source-directory /etc/network/interfaces.d

/etc/network/interfaces.d/eth0

auto eth0
iface eth0 inet static
        address 192.168.40.112
        netmask 255.255.255.0
        gateway 192.168.40.1
        dns-nameservers 8.8.8.8

Namun, dengan yang berikut:

/ etc / network / interfaces

auto eth0
iface eth0 inet static
        address 192.168.40.112
        netmask 255.255.255.0
        gateway 192.168.40.1
        dns-nameservers 8.8.8.8

source-directory /etc/network/interfaces.d

konfigurasi statis diatur saat boot (terlepas dari apa yang saya miliki di antarmuka.d /).

Dalam hal ini relevan, saya menggunakan aturan udev untuk mengubah nama antarmuka eth0 (dulu "enx001e063110c0" ...)


16
2017-11-25 20:14


asal


Firasat saya ada hubungannya dengan Kernel versi 3.10 yang mungkin tidak didukung lagi. - WinEunuuchs2Unix
Itu tidak benar-benar terdengar seperti masalah kernel bagi saya. Tapi saya belum mengerti bagaimana cara kerja inisialisasi jaringan setelah pindah ke sistem - tidak mengatakan itu adalah masalah sistem - Luis de Arquer
Hanya ingin tahu, mengapa Anda menjalankan Linux 3.10 bukan versi terbaru? - wjandrea
Intinya tentang kernel adalah saya pikir stystemd tidak keluar sampai versi yang lebih baru tetapi saya masih di telepon saya dan tidak bisa memastikan. - WinEunuuchs2Unix
@LuisdeArquer Saya telah menjawab masalah kernel di bawah ini. - WinEunuuchs2Unix


Jawaban:


Saya rasa saya menemukannya. Dari manual, Masalahnya tampaknya dengan source-directory kata kunci. Tampaknya, sejak 16.04, itu tidak didukung lagi.

Jadi ganti

source-directory /etc/network/interfaces.d

dengan

source /etc/network/interfaces.d/*

tampaknya memperbaiki masalah.


21
2017-11-27 15:02



Bagus untukmu. +1 untuk keuletan :) Jangan lupa untuk kembali dalam dua hari dan tandai jawaban Anda sebagai penyelesaian pertanyaan (klik tanda centang di samping jawaban Anda dan buat menjadi hijau) - WinEunuuchs2Unix
@ WinEunuuchs2Unix Terima kasih atas bantuan Anda! :) - Luis de Arquer
Ini sepertinya memperbaiki masalah yang sama dengan versi saat ini (Maret 2018) raspbian demikian juga. - iX3
Sangat menarik. The Odroid Ubuntu 16.04 dipengaruhi oleh masalah ini juga. - Marcus


Saya memiliki masalah yang kurang lebih sama. Ternyata source-directory didukung pada sistem saya, tetapi hanya menyertakan file yang nama filenya terdiri dari huruf, angka, tanda hubung, dan garis bawah.

Itu sebabnya eth0.conf saya tidak sempat dibaca, karena mengandung titik.


3
2017-08-21 17:11



Untuk semua itu layak - Saya telah diverifikasi dengan beberapa mesin pada 14.04 dan 16.04 bahwa file tanpa ekstensi di /etc/network/interfaces.d bersumber baik dari /etc/network/interfaces dengan source-directory /etc/network/interfaces.d ...;) Juga perlu dicatat bahwa di lingkungan kita, network-manager dihilangkan dari server; terlalu tak terduga: D - tink


Kernel 3.10 Anda terlalu tua untuk systemd  IFF menggunakan systemd-v230 atau yang lebih baru.

Menurut systemd persyaratan kernel di github di (github.com - README sistemd) Anda perlu versi> = 3.12 jika Anda menggunakan systemd-v230 atau yang lebih baru:

REQUIREMENTS:
        Linux kernel >= 3.12
        Linux kernel >= 4.2 for unified cgroup hierarchy support

Baris 37, 38 dan 39 dicetak di atas.

Anda menjalankan di bawah arsitektur ARM yang saya tahu sedikit tentang. Pencarian Google memberi tahu saya tentang Anda armvl7 digunakan oleh Raspberry Pi dan merupakan kernel 32 bit.

Memperbarui Kernel Anda ke zaman modern

Jika Anda menginginkan yang terbaru (21 Oktober 2016) Perlindungan keamanan "Kotor SAPI" (Apa bug "Kotor SAP", dan bagaimana saya bisa mengamankan sistem saya terhadapnya?) ditambah sejumlah patch keamanan lain, perbaikan bug dan peningkatan sistem (setelah versi 2013 Anda) Anda harus berada di kernel 4.4.0-47.

Sayangnya saya tidak tahu cara melakukannya untuk RaspberryPi. Saya telah menghubungkan pertanyaan ini dengan orang-orang yang menggunakan RaspberryPi dan telah meminta mereka untuk mengkritik jawaban ini.


2
2017-11-26 00:32



Sekedar konfirmasi: CPU ARM di Pi memang 32-bit. - Nathan Osman
@NathanOsman Terima kasih telah mengonfirmasi area subjek baru ini untuk saya :) - WinEunuuchs2Unix
+1 untuk menunjukkan ini. Namun, tolong lihat ini. Systemd umumnya mendukung kernel lama 2y, jadi bahkan Anda mungkin benar, saya akan terkejut ini adalah akar penyebabnya. Saya akan memeriksa versi sistem yang saya jalankan. Tetapi bahkan jika itu adalah versi yang agak baru, bukankah itu terdengar lebih seperti masalah userspace? Bagaimana mungkin kernel memungkinkan Anda membaca satu file tetapi menghentikan Anda membaca yang lain? Dan konfigurasi jaringan jelas diterapkan tanpa masalah dalam kasus kedua. [Lebih lanjut di komentar selanjutnya] - Luis de Arquer
Biasanya saya hanya meng-upgrade kernel dan menguji, tetapi mungkin sulit dalam kasus ini. Sistem ini berjalan pada ODROID XU4, di mana keamanan tidak menjadi perhatian, tetapi mengubah kernel dapat memakan waktu lama, dan mungkin bukan solusi jangka panjang karena stabilitas. Jika tidak ada solusi lain yang muncul, saya dapat mencobanya meskipun hanya untuk rasa ingin tahu :) - Luis de Arquer
@NathanOsman Sebenarnya, CPU itu sendiri 64 bit pada Raspberry 3 (tetapi biasanya digunakan dengan 32 bit kernel) - Luis de Arquer