it-swarm.com.de

Ubuntu 18.04: Wechsle zurück zu / etc / network / interfaces

Ab Ubuntu 18.04 verwendeten die Ubuntu-Entwickler nicht mehr die klassischen Konfigurationsmethoden /etc/init.d/networking und /etc/network/interfaces und wechselten zu einer Funktion genannt netplan . Dies hat viele Leute sehr wütend gemacht und wurde allgemein als ein schlechter Schachzug angesehen. Ist es möglich, netplan zu entfernen und die richtige /etc/network/interfaces Methode zum Konfigurieren des Netzwerks zu verwenden?

39
jdgregson

Das folgende Verfahren funktioniert für Ubuntu 18.04 (Bionic Beaver)

I. Installieren Sie das ifupdown -Paket erneut:

# apt-get update
# apt-get install ifupdown

II. Konfigurieren Sie Ihre / etc/network/interfaces Datei mit folgenden Konfigurationszeilen:

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

allow-hotplug enp0s3
auto enp0s3
iface enp0s3 inet static
  address 192.168.1.133
  netmask 255.255.255.0
  broadcast 192.168.1.255
  gateway 192.168.1.1
  # Only relevant if you make use of RESOLVCONF(8)
  # or similar...
  dns-nameservers 1.1.1.1 1.0.0.1

III. Konfiguration wirksam machen (kein Neustart erforderlich):

# ifdown --force enp0s3 lo && ifup -a
# systemctl unmask networking
# systemctl enable networking
# systemctl restart networking

IV. Deaktivieren und entfernen Sie die unerwünschten Dienste:

# systemctl stop systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl disable systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# systemctl mask systemd-networkd.socket systemd-networkd \
networkd-dispatcher systemd-networkd-wait-online
# apt-get --assume-yes purge nplan netplan.io

Dann sind Sie fertig.

Hinweis: Sie MÜSSEN passen die Werte natürlich an Ihr System an (Netzwerk, Schnittstellenname ...).

V. DNS-Resolver

Da Ubuntu Bionic Beaver (18.04) den von SYSTEMD-RESOLVED.SERVICE (8) bereitgestellten DNS-Stub-Resolver verwendet, fügen Sie SHOULD auch das zu kontaktierende DNS in/etc/systemd/hinzu. resolved.conf Datei. Zum Beispiel:

....
DNS=1.1.1.1 1.0.0.1
....

und starten Sie den vom System aufgelösten Dienst anschließend neu:

# systemctl restart systemd-resolved

Die oben gezeigten DNS-Einträge in der Datei ifupdown INTERFACES (5) sind nur relevant, wenn Sie RESOLVCONF (8) oder ähnliches verwenden.

39
Nuxwin

Netplan und yaml sind in der Nur-Server-Umgebung bestenfalls zerbrechlich (Einrückungsfehler kosten Sie). Die Schnittstellen waren so fehlerverzeihend, dass die Verwaltung der Netzwerkeinstellungen auf einem Server ziemlich einfach war.
Netplan führt neue Ebenen ein. Das eigentliche Problem ist jedoch, dass U18 ifupdown bricht und den Job mit NetPlan nicht beendet. Wenn Sie durch eine Neuinstallation zu/etc/network/interfaces zurückkehren, funktioniert die DNS-Verwaltung in der Interface-Datei nicht mehr. Alle DNS-Nameserver-Einträge werden ignoriert. Stattdessen wird die DNS in /etc/resolv.conf festgelegt. Sie können diese Datei jedoch nicht bearbeiten, da sie bei jedem Systemstart neu geschrieben wird. WTF? Netplan wurde so konzipiert, dass es von einer grafischen Benutzeroberfläche verwaltet werden kann, sodass diejenigen von uns im Nur-Server-Camp ein zerbrechliches System haben, das wir auf Zehenspitzen durcharbeiten müssen. Nicht gut Ubuntu!
Warum geben Sie uns nicht die Möglichkeit, die Einstellungen in/etc/network/interfaces beim Booten in netplan umzuleiten, um uns beim Beenden von netplan zu helfen?

8
Dan Desjardins

Das Netplan-Team hat eine offizielle Antwort in seinem FAQ hier veröffentlicht:

So kehren Sie zu ifupdown zurück

...

Auf einem laufenden System kann netplan entfernt werden, indem ifupdown installiert und/etc/network/interfaces manuell konfiguriert wird, wie es die Benutzer zuvor getan haben.

Während der Installation kann ein Benutzer ifupdown verwenden, indem er netcfg/do_not_use_netplan = true voreinstellt. Dazu wird beim Booten des Installationsmediums die Voreinstellungszeile zur Befehlszeile hinzugefügt (d. H. Drücken Sie im Startmenü des Installationsmediums die Taste F6, geben Sie "e" ein und fügen Sie sie zur Befehlszeile hinzu).

Eine ausführlichere Anleitung finden Sie in der Antwort von Nuxwin.

6
jdgregson

Warum nicht einfach mit netplan konfigurieren?

Nun, wie es in 18.04-Desktop konfiguriert ist, ist es eine einzige Leitung, die die Kontrolle über alle Schnittstellen zu NetworkManager übergibt.

Dies ist wahrscheinlich für 95% der Benutzer geeignet. Denken Sie jedoch daran, dass NetworkManager nur ausgeführt wird, wenn Sie bei einer Sitzung angemeldet sind.

Wenn Sie möchten, dass Ihr Computer als Server/Desktop fungiert, z. B. Dateien für lokale Computer bereitstellen, als VNP-Server fungieren usw. oder etwas "Fantasievolles", bevor sich jemand anmeldet Wenn Sie diese Option aktivieren, haben Sie Probleme mit der Konfiguration in Standard 18.04-Desktop.

Die Alternative wäre natürlich die Verwendung der Server-Netplan-Konfiguration, die, soweit ich gelesen habe (nicht von mir selbst geprüft), die Kontrolle stattdessen an systemd-networkd übergibt. In diesem Fall sollten Sie besser lernen, wie systemd die alten System V init ersetzt.

Sollten Sie diesen Weg einschlagen, müssen Sie noch Änderungen am netplan yaml vornehmen, da bei einer Desktop-Version das Steuerelement an NetworkManager übergeben wird.

1
Zakhar

Der Schlüssel ist zu wissen, dass cloud.init das eigentliche Steuerprogramm ist.
Davon abgesehen ist die Zeile in der netplan Konfigurationsdatei "optional: true" obligatorisch.
Das zu wissen, machte es einfach.

Ich habe gerade 01-network-manager-all.yaml entfernt und in /root/save/ kopiert. Setzen Sie stattdessen eine bekanntermaßen gute Konfiguration ein, 50-cloud-init.yaml: ihr Inhalt folgt:

network:
  version: 2
  renderer: networkd
  ethernets:
    eports:
      match: 
        name: enp*
        optional: true
  bonds:
    bond0:
      interfaces: [eports]
      addresses: [192.168.2.5/24]
      gateway4: 192.168.2.1
      nameservers:
        addresses: [127.0.0.1, 8.8.4.4]          
      parameters:
        mode: 0          
        mii-monitor-interval: 100

Starten Sie dann neu und es sollte gut funktionieren.

Die als funktionierend bekannte Konfiguration stammt von Konfigurieren eines gebundenen 802.3ad-Netzwerks mit netplan unter Ubuntu 18.04 .

1
pksings

Nach dieser Antwort besteht die Lösung darin, alle operativen .yaml-Dateien zu entfernen: buntu 17.10 deaktiviere netplan

Ohne Sicherung würde ich nichts entfernen. Wir können dies einfach tun, indem wir die Dateien beiseite schieben. Suchen Sie zuerst die Dateien:

Sudo updatedb
locate netplan | grep yaml

Auf meinem 18.04-System scheint die einzige Betriebsdatei /etc/netplan/01-network-manager-all.yaml zu sein. Lass es uns bewegen:

mkdir ~/netplan
Sudo mv /etc/netplan/01-network-manager-all.yaml  /home/user/netplan

... wobei user Ihr Benutzername ist.

Überprüfen Sie nun, ob die Datei wirklich gelöscht ist:

ls /etc/netplan

Nehmen Sie nun die erforderlichen Ergänzungen in/etc/network/interfaces vor.

Starten Sie neu.

Irgendeine Verbesserung?

Fußnote: Der genaue Vorgang hierfür ist schwer zu finden. Wir müssen vielleicht ein bisschen verfeinern, während wir gehen.

0
chili555