ไฟล์ใน /etc/network/interfaces.d จะถูกละเว้น แต่จะไม่ทำเช่นนั้น / etc / network / interfaces เอง


19

สำหรับ Ubuntu 16.04 LTS (GNU / Linux 3.10.96-113 armv7l)

เมื่อฉันมีสิ่งต่อไปนี้การกำหนดค่าสแตติกของฉันจะถูกละเว้น:

/ etc / เครือข่าย / อินเตอร์เฟซ

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

อย่างไรก็ตามด้วยดังต่อไปนี้:

/ etc / เครือข่าย / อินเตอร์เฟซ

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

การกำหนดค่าสแตติกถูกตั้งค่าไว้ตอนบู๊ต (เป็นอิสระจากสิ่งที่ฉันมีใน interfaces.d /)

ในกรณีที่เกี่ยวข้องฉันใช้กฎ udev เพื่อเปลี่ยนชื่อส่วนต่อประสาน eth0 (ซึ่งเคยเป็น "enx001e063110c0" ... )


ลางสังหรณ์ของฉันเป็นสิ่งที่ต้องทำกับเคอร์เนลเวอร์ชั่น 3.10 ที่อาจไม่ได้รับการสนับสนุนอีกต่อไป
WinEunuuchs2Unix

มันฟังดูไม่เป็นปัญหาสำหรับฉัน แต่ฉันยังไม่รู้วิธีการเริ่มต้นเครือข่ายทำงานหลังจากที่ย้ายไปยัง systemd - ไม่ได้บอกว่ามันเป็นปัญหาของ systemd
Luis de Arquer

แค่อยากรู้อยากเห็นทำไมคุณใช้ Linux 3.10 แทนที่จะเป็นเวอร์ชั่นล่าสุด
wjandrea

ประเด็นเกี่ยวกับเคอร์เนลคือฉันคิดว่า stystemd ไม่ออกมาจนกว่าจะมีรุ่นใหม่กว่า แต่ฉันยังคงใช้งานโทรศัพท์ของฉันอยู่และไม่สามารถยืนยันได้
WinEunuuchs2Unix

@LuisdeArquer ฉันได้ตอบปัญหาเคอร์เนลด้านล่าง
WinEunuuchs2Unix

คำตอบ:


28

ฉันคิดว่าฉันพบมัน จากคู่มือปัญหาดูเหมือนว่าจะมีsource-directoryคำหลัก ดูเหมือนว่าตั้งแต่ 16.04 จะไม่ได้รับการสนับสนุนอีกต่อไป

ดังนั้นการเปลี่ยน

source-directory /etc/network/interfaces.d

กับ

source /etc/network/interfaces.d/*

ดูเหมือนว่าจะแก้ไขปัญหา


ฮ่าดีสำหรับคุณ +1 เพื่อความดื้อรั้น :) อย่าลืมกลับมาในอีกสองวันและทำเครื่องหมายคำตอบของคุณเป็นการแก้ปัญหา (คลิกเครื่องหมายถูกที่อยู่ถัดจากคำตอบของคุณและทำให้เป็นสีเขียว)
WinEunuuchs2Unix

@ WinEunuuchs2Unix ขอบคุณสำหรับความช่วยเหลือของคุณ! :)
Luis de Arquer

ดูเหมือนว่าจะแก้ไขปัญหาที่เหมือนกันกับราสเบียนรุ่นปัจจุบัน (มีนาคม 2018) เช่นกัน
iX3

1
น่าสนใจมาก. Odroid Ubuntu 16.04 ได้รับผลกระทบจากปัญหานี้เช่นกัน
Marcus

5

ฉันมีปัญหาเดียวกันโดยประมาณ ปรากฎว่าsource-directoryได้รับการสนับสนุนในระบบของฉัน แต่มีเฉพาะไฟล์ที่ชื่อไฟล์ประกอบด้วยตัวอักษรตัวเลขเครื่องหมายขีดกลางและขีดล่าง

นั่นคือเหตุผลที่ eth0.conf ของฉันไม่อ่านเพราะมันมีจุด


สำหรับทุกอย่างมันคุ้มค่า - ฉันได้ตรวจสอบกับเครื่องหลายเครื่องใน 14.04 และ 16.04 ว่าไฟล์ที่ไม่มีส่วนขยาย/etc/network/interfaces.dได้รับมาจาก/etc/network/interfacesกับsource-directory /etc/network/interfaces.d... ;) นอกจากนี้ยังมีข้อสังเกตว่าในสภาพแวดล้อมของเราผู้จัดการเครือข่ายจะถูกลบออกจากเซิร์ฟเวอร์ คาดเดาไม่ได้เกินไป: D
tink

2

เคอร์เนลของคุณ 3.10 เก่าเกินไปสำหรับsystemd IFF ใช้ systemd-V230 หรือใหม่กว่า

ตามsystemdข้อกำหนดของเคอร์เนลใน github ที่ ( github.com - systemd README ) คุณต้องมี version> = 3.12 ถ้าคุณใช้systemd-v230หรือใหม่กว่า:

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

บรรทัดที่ 37, 38 และ 39 ถูกพิมพ์ด้านบน

คุณกำลังทำงานภายใต้สถาปัตยกรรม ARM ที่ฉันรู้เพียงเล็กน้อยเกี่ยวกับ การค้นหาโดย Google บอกฉันว่าคุณarmvl7ใช้ Raspberry Pi และเป็นเคอร์เนล 32 บิต

อัปเดตเคอร์เนลของคุณให้ทันสมัย

หากคุณต้องการระบบรักษาความปลอดภัย "Dirty COW" ล่าสุด ( 21 ตุลาคม 2559 ) ( บั๊ก "Dirty COW" คืออะไรและฉันจะทำให้ระบบของฉันปลอดภัยได้อย่างไร ) พร้อมโฮสต์แพตช์ความปลอดภัยอื่น ๆ การแก้ไขข้อบกพร่องและระบบ การปรับปรุง ( หลังจากรุ่น 2013 ) คุณควรอยู่ในเคอร์เนล 4.4.0-47

น่าเสียดายที่ฉันไม่รู้วิธีการทำเช่นนั้นสำหรับ RaspberryPi ฉันเชื่อมโยงคำถามนี้กับผู้ที่ใช้ RaspberryPi และขอให้พวกเขาวิจารณ์คำตอบนี้


เพียงเพื่อยืนยัน: ซีพียู ARM ใน Pi นั้นเป็นแบบ 32 บิต
นาธานออสมัน

@NathanOsman ขอขอบคุณที่ยืนยันหัวข้อเรื่องใหม่สำหรับฉัน :)
WinEunuuchs2Unix

+1 สำหรับการชี้เรื่องนี้ อย่างไรก็ตามโปรดดูนี้ โดยทั่วไป Systemd รองรับเมล็ดเก่า 2 ปีดังนั้นคุณอาจจะถูกต้องฉันจะแปลกใจว่านี่คือสาเหตุที่แท้จริง ฉันจะตรวจสอบเวอร์ชั่น systemd ที่ฉันใช้อยู่ แต่ถึงแม้ว่ามันจะเป็นเวอร์ชั่นใหม่ แต่ก็ไม่ได้ฟังดูเป็นปัญหามากกว่า userspace ใช่ไหม? เคอร์เนลช่วยให้คุณอ่านไฟล์หนึ่งไฟล์ได้อย่างไร แต่หยุดคุณไม่ให้อ่านไฟล์อื่น? และการกำหนดค่าเครือข่ายถูกนำไปใช้อย่างชัดเจนโดยไม่มีปัญหาในกรณีที่สอง [เพิ่มเติมเกี่ยวกับความคิดเห็นถัดไป]
Luis de Arquer

ปกติฉันจะอัพเกรดเคอร์เนลและทดสอบ แต่อาจเป็นเรื่องยากในกรณีนี้ ระบบนี้ทำงานบน ODROID XU4 ซึ่งการรักษาความปลอดภัยไม่ใช่เรื่องที่กังวล แต่การเปลี่ยนเมล็ดอาจใช้เวลาสักครู่และอาจไม่ใช่วิธีแก้ปัญหาระยะยาวเนื่องจากความเสถียร หากไม่มีการแก้ปัญหาอื่น ๆ ขึ้นมาก็อาจจะลองมันแม้ว่าเพียงเพื่ออยากรู้อยากเห็น)
หลุยส์เด Arquer

@NathanOsman ที่จริงแล้วซีพียูตัวเองเป็น 64 บิตบน Raspberry 3 (แต่โดยปกติจะใช้กับเมล็ด 32 บิต)
Luis de Arquer
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.