Ubuntu 16.04 - การบูทระบบรอการพูดว่า "Raise network interfaces"


42

ฉันมีระบบ Ubuntu 16.04 ที่มีสองอินเตอร์เฟส - eth0 กำหนดค่าด้วย DHCP และ eth1 ที่กำหนดค่าด้วยที่อยู่ IP แบบคงที่

ไฟล์ / etc / network / interfaces มีการกำหนดค่าต่อไปนี้

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet dhcp

# The Secondary network interface
auto eth1
iface eth1 inet static
address 10.10.1.10
netmask 255.255.255.0
dns-nameservers 74.82.42.42 4.2.2.2

## Virtual Interfaces for virtual hosts
auto eth1:11
iface eth1:11 inet static
address 10.10.1.11
netmask 255.255.255.0

auto eth1:12
iface eth1:12 inet static
address 10.10.1.12
netmask 255.255.255.0

auto eth1:13
iface eth1:13 inet static
address 10.10.1.13
netmask 255.255.255.0

ปัญหาคือเมื่อเซิร์ฟเวอร์ DHCP ไม่สามารถใช้งานได้ในลิงค์ eth0 หรือหากลิงค์ eth0 หยุดทำงานระบบจะหยุดทำงานเป็นเวลา 5 นาทีทำให้กระบวนการบูตช้าลงอย่างมาก

violet@ubuntu-xenial:~$ systemd-analyze blame
      5min 241ms networking.service
          1.529s nmbd.service
          1.524s winbind.service

ฉันพยายามลดเวลาในไฟล์ /etc/systemd/system/network-online.target.wants/networking.service ซึ่งทำให้การบูตระบบเร็วขึ้นโดยไม่ต้องรอบริการเครือข่ายอย่างไรก็ตามที่ไม่สามารถโหลดอินเตอร์เฟสเสมือนบน eth1

มีวิธีที่สะอาดกว่าในการปล่อยให้ระบบบูตโดยไม่มีการกำหนดค่าเครือข่ายเต็มรูปแบบบนอินเตอร์เฟส eth0 และยังคงโหลดการตั้งค่าเครือข่ายแบบคงที่ทั้งหมดใน eth1 หรือไม่?


1
สิ่งนี้อาจช่วยได้: ubuntuforums.org/showthread.php?t=2323253
Mine

.. หรือสิ่งนี้: askubuntu.com/questions/203157/…
ElHeineken

คำตอบ:


50

ดูเหมือนว่ามีคนหวาดระแวงเกี่ยวกับลูกค้าที่ไม่ได้รับ DHCP ทันเวลา

แก้ไขไฟล์นี้/etc/dhcp/dhclient.confและตั้งค่าtimeoutที่เหมาะสมเช่น

timeout 15

ค่าเริ่มต้นของ 300 วินาทีนั้นสูงเกินไป ค่าการแทนที่ที่แนะนำ 15 ถูกทดสอบและใช้งานได้


3
ขอขอบคุณ. การทดลองใช้ DNS / DHCP ในขณะนี้และรอ 5 นาทีก็กำลังฆ่าฉัน
แอชลีย์ฮิวจ์

1
Ubuntu มีการกำหนดค่าเริ่มต้นที่แปลกจำนวนมาก มันเป็นเรื่องที่น่าสนใจ ...
William T Froggard

ว้าวนี่จะมีประโยชน์มากในการกำหนดค่าเพิ่มเติม
David Tabernero M.

1
สิ่งนี้ใช้ไม่ได้กับ Ubuntu 18 แต่คำตอบนี้ใช้ได้
xinthose

หลังจากหลายปีที่ผ่านมามันก็ยังใช้ได้สำหรับฉัน :)
Wajih

27

ดังนั้นในตัวคุณ/etc/network/interfacesให้เปลี่ยนสิ่งนี้:

# The primary network interface
auto eth0
iface eth0 inet dhcp

สำหรับสิ่งนี้:

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

สิ่งนี้จะเริ่มต้นอินเทอร์เฟซeth0เมื่อเคอร์เนลตรวจพบเหตุการณ์ hotplug จากอินเทอร์เฟซ (เช่นเมื่อคุณเสียบสายเคเบิล) แทนที่จะเริ่มต้นตอนบูท


1
วิธีการนี้ใช้งานได้ดีกับฮาร์ดแวร์ทางกายภาพ แต่ล้มเหลวในสภาพแวดล้อมเสมือนจริง (ลอง vmware และ virtualbox) ดูเหมือนเคอร์เนลเสมือนจริงจะไม่สร้างเหตุการณ์ที่เหมาะสม
dtoubelis

วิธีการนี้ยังแก้ไขปัญหาของฉันหลังจากติดตั้งอะแดปเตอร์เครือข่าย 10G ใหม่ในกล่องที่ก่อนหน้านี้มีเพียง 1G ในตัวเท่านั้น อูบุนตูสามารถมองเห็นการ์ดและโหลดไดรฟ์เวอร์ได้ แต่การบู๊ตยังคงค้างอยู่เพื่อรอการเชื่อมต่อกับเครือข่าย Raise การปรับชื่ออุปกรณ์จาก eth0 นั้นแก้ไขได้
Joseph Jaramillo

2

ตามที่อ้างถึงในคุณสามารถเปลี่ยนค่าการหมดเวลาสำหรับการเพิ่มอินเทอร์เฟซเครือข่าย (ถ้าทำงานsystemd):

เปิดหน้าต่างเทอร์มินัลแล้วป้อนคำสั่ง:

sudo nano /etc/systemd/system/network-online.target.wants/networking.service

จากนั้นเปลี่ยนบรรทัดTimeoutStartSec=5minเป็นค่าที่คุณเลือก บันทึกไฟล์โดยการกดCtrl+ oแล้ว+Ctrlx

ในที่สุดรีสตาร์ท daemon:

sudo systemctl daemon-reload

4
เป็นความคิดที่ดีที่จะเริ่มโปรแกรม GUI โดยใช้ sudo ... ฉันได้แก้ไขคำตอบของคุณเพื่อใช้เครื่องมือที่ทำงานได้ดีขึ้นเล็กน้อย
ชาร์ลส์กรีน

นี่คือคำตอบที่ถูกต้องสำหรับฉัน คอมพิวเตอร์ของฉันไม่ได้เชื่อมต่อกับเครือข่ายทุกครั้งเมื่อเปิดเครื่อง ฉันไม่ต้องการที่จะรอ 5 นาทีเพื่อให้ Ubuntu ทราบ
Yitz

2
ฉันชอบที่จะรู้ว่าใครเป็นคนงี่เง่าที่คิดว่าหมดเวลา 5 นาทีเป็น "ความคิดที่ดี"
Clayton Dukes
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.