Ich habe ein Ubuntu 16.04-System mit zwei Schnittstellen - eth0 mit DHCP konfiguriert und eth1 mit statischen IP-Adressen konfiguriert.
Die Datei / etc / network / interfaces hat die folgende Konfiguration
# 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
Das Problem ist, wenn der DHCP-Server auf der eth0-Verbindung nicht verfügbar ist oder die eth0-Verbindung ausgefallen ist, das System 5 Minuten lang hängt und der Startvorgang erheblich verlangsamt wird.
violet@ubuntu-xenial:~$ systemd-analyze blame
5min 241ms networking.service
1.529s nmbd.service
1.524s winbind.service
Ich habe versucht, die Zeit in der Datei /etc/systemd/system/network-online.target.wants/networking.service zu reduzieren, wodurch das System schneller gestartet wird, ohne auf den Netzwerkdienst zu warten, der jedoch die virtuellen Schnittstellen auf eth1 nicht lädt.
Gibt es eine sauberere Möglichkeit, das System ohne vollständige Netzwerkkonfiguration auf der eth0-Schnittstelle starten zu lassen und dennoch die gesamte statische Netzwerkkonfiguration auf eth1 zu laden?
Antworten:
Es scheint, als wäre jemand paranoid, wenn ein Client nicht rechtzeitig DHCP erhält.
Bearbeiten Sie diese Datei
/etc/dhcp/dhclient.conf
und setzen Sie sietimeout
auf einen angemessenen Wert, wie zDer Standardwert von 300 Sekunden ist viel zu hoch. Der empfohlene Wiederbeschaffungswert von 15 wurde getestet und funktioniert einwandfrei.
quelle
Also in deinem
/etc/network/interfaces
, ändere das:dazu:
Dies startet die Schnittstelle,
eth0
wenn der Kernel ein Hotplug-Ereignis von der Schnittstelle erkennt (dh wenn Sie ein Kabel anschließen), anstatt es beim Booten zu starten.quelle
Wie in angegeben , können Sie den Timeout-Wert für das Erhöhen der Netzwerkschnittstelle ändern (sofern ausgeführt
systemd
):Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:
Ändern Sie dann die Zeile
TimeoutStartSec=5min
in einen von Ihnen gewählten Wert. Speichern Sie die Datei, indem Sie Ctrl+ ound dann Ctrl+ drücken x.Starten Sie zum Schluss den Daemon neu:
quelle