Ubuntu 16.04 - hệ thống chờ khởi động cho biết, Nâng cấp giao diện mạng


42

Tôi có một hệ thống Ubuntu 16.04 với hai giao diện - eth0 được cấu hình với DHCP và eth1 được cấu hình với các địa chỉ IP tĩnh.

Tệp / etc / network / interface có cấu hình sau

# 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

Vấn đề là, khi máy chủ DHCP không có sẵn trên liên kết eth0 hoặc nếu liên kết eth0 không hoạt động, hệ thống sẽ bị treo trong 5 phút, làm chậm đáng kể quá trình khởi động.

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

Tôi đã cố gắng giảm thời gian trong /etc/systemd/system/network-online.target.wants/networking.service giúp hệ thống khởi động nhanh hơn mà không cần chờ dịch vụ mạng, tuy nhiên, không tải được giao diện ảo trên eth1.

Có cách nào sạch hơn để cho hệ thống khởi động mà không cần cấu hình mạng đầy đủ trên giao diện eth0 và vẫn tải tất cả cấu hình mạng tĩnh trên eth1 không?


1
Điều này có thể giúp: ubuntuforums.org/showthread.php?t= 2323253
tôi

Câu trả lời:


51

Có vẻ như ai đó đã hoang tưởng về một khách hàng không nhận được DHCP kịp thời.

Chỉnh sửa tệp này /etc/dhcp/dhclient.confvà đặt timeoutthành một giá trị hợp lý, như

timeout 15

Giá trị mặc định 300 giây là quá cao. Giá trị thay thế được đề xuất là 15 đã được thử nghiệm và hoạt động tốt.


3
Cảm ơn bạn. Đang kiểm tra DNS / DHCP tại thời điểm hiện tại và 5 phút chờ đợi đã giết chết tôi.
Ashley Hughes

1
Ubuntu có một số cấu hình mặc định kỳ lạ. Thật thú vị ...
William T Froggard

Wow, điều này sẽ thực sự hữu ích trong các cấu hình hơn nữa.
David Tabernero M.

1
Điều này không hoạt động trên Ubuntu 18, nhưng câu trả lời này thì có.
xinthose

Sau
ngần

27

Vì vậy, trong bạn /etc/network/interfaces, thay đổi điều này:

# The primary network interface
auto eth0
iface eth0 inet dhcp

đến đây:

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

Điều này sẽ khởi động giao diện eth0khi kernel phát hiện sự kiện cắm nóng từ giao diện (tức là khi bạn cắm cáp vào), thay vì khởi động nó khi khởi động.


1
Cách tiếp cận này hoạt động tốt trên phần cứng vật lý nhưng nó thất bại trong môi trường ảo hóa (đã thử vmware và virtualbox). Có vẻ như hạt nhân ảo hóa không tạo ra các sự kiện thích hợp.
dtoubelis

Cách tiếp cận này cũng khắc phục các sự cố của tôi sau khi cài đặt bộ điều hợp mạng 10G mới trong hộp mà trước đây chỉ có 1G tích hợp. Ubuntu đã có thể nhìn thấy thẻ và trình điều khiển tải, nhưng quá trình khởi động cứ chần chừ chờ đợi Giao diện mạng nâng cao. Điều chỉnh tên thiết bị từ eth0 cho phù hợp.
Joseph Jaramillo

2

Như đã tham chiếu, bạn có thể thay đổi giá trị thời gian chờ để nâng giao diện mạng (nếu đang chạy systemd):

Mở một cửa sổ đầu cuối và nhập lệnh:

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

Sau đó thay đổi dòng TimeoutStartSec=5minthành một giá trị mà bạn chọn. Lưu tệp bằng cách nhấn Ctrl+ ovà sau đó Ctrl+ x.

Cuối cùng, khởi động lại daemon:

sudo systemctl daemon-reload

4
Nói chung là một ý tưởng tồi để bắt đầu một chương trình GUI bằng sudo ... Tôi đã sửa đổi câu trả lời của bạn để sử dụng các công cụ hoạt động tốt hơn một chút.
Charles Green

Đây là câu trả lời chính xác cho tôi. Máy tính của tôi không phải lúc nào cũng được kết nối với mạng khi khởi động. Tôi không muốn đợi 5 phút để Ubuntu tìm ra điều đó.
Yitz

2
Tôi rất muốn biết ai là kẻ ngốc mà nghĩ rằng thời gian chờ là 5 phút là một "ý tưởng hay".
Clayton Dukes
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.