netplan unter Ubuntu Server 18.04 LTS konfigurieren oder entfernen
Posted by Guenny onSeit einiger Zeit stellt Canonical für seine Distributionen die Netzwerkkonfiguration via netplan bereit.
Mit der Einführung der Serverversion 18.04 LTS ist diese fester Bestandteil der Long Term Support Edition.
Doch wo ist der Unterschied zur alten Konfiguration und welche Befehle werden benötigt?
netplan.io
Anders als die alten Netzwerkkonfigurationsdateien, beruht netplan auf der YAML Syntax. Außerdem werden als Renderer Networkmanager (Desktop), sowie system-networkd (Server) unterstützt.
Die Funktion ist relativ schnell erklärt: Beim Bootvorgang wird aus allen yaml Dateien /etc/netplan/*.yaml eine Konfiguration generiert und unter /run abgelegt.
Die Konfiguration lässt sich aber auch im laufenden Betrieb anpassen.
Eine klassische Konfigurationsdatei /etc/netplan/01-netcfg.yaml mit fester IP-Adresse würde wie folgt aussehen:
system
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
dhcp6: no
addresses: [192.169.1.100/16]
gateway4: 192.169.1.1
nameservers:
search: [itrig.lokal]
addresses:
- "1.1.1.1"
- "4.4.4.4"
Als Renderer ist in diesem Fall networkd hinterlegt, es kann aber genauso renderer: NetworkManager angegeben werden, beispielsweise bei einem Desktop Betriebssystem.
Die Notation des Subnetzes erfolgt hier im CIDR Format. Als kleine Hilfestellung hier eine Tabelle
Prefix | Subnet mask IPv4 | Subnet mask IPv6
/24 | 255.255.255.0 | 11111111.11111111.11111111.00000000
/25 | 255.255.255.128 | 11111111.11111111.11111111.10000000
/26 | 255.255.255.192 | 11111111.11111111.11111111.11000000
/27 | 255.255.255.224 | 11111111.11111111.11111111.11100000
/28 | 255.255.255.240 | 11111111.11111111.11111111.11110000
/29 | 255.255.255.248 | 11111111.11111111.11111111.11111000
/30 | 255.255.255.252 | 11111111.11111111.11111111.11111100
/31 | 255.255.255.254 | 11111111.11111111.11111111.11111110
/32 | 255.255.255.255 | 11111111.11111111.11111111.11111111
Um die neue Konfiguration zu generieren und anzuwenden werden folgende Befehle verwendet.
sudo netplan generate
sudo netplan apply
Eine Kontrolle kann mit neuen
sudo netplan try
sudo netplan --debug apply
sudo netplan config show
oder alternativ auch mit alten Befehlen erfolgen.
ip a
Hier gilt zu beachten, dass netplan apply keine virtuellen Geräte wie Netzwerkbrücken oder Netzwerkbündel entfernt, auch wenn sie nicht mehr in der Netplan Konfiguration stehen.
Hier muss momentan noch mit ip link delete dev bond0 operiert werden.
/etc/network/interfaces
Zum Vergleich eine alte Konfiguration, welche unter /etc/network/interface zu finden ist.
auto lo eth0
iface lo inet loopback
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
network 192.168.1.0
gateway 192.168.1.1
#dns-nameservers 1.1.1.1 8.8.8.8
dns-search itrig.lokal
netplan.io entfernen oder deaktivieren
Es besteht die Möglichkeit die oben beschriebene frühere Variante weiter zu verwenden. So bleibt eine alte Konfiguration beispielsweise bei einem Update von 16.04 auf 18.04 erhalten.
Bei einer Neuinstallation von 18.04 LTS kann ein Administrator ebenso auf die alte Variante schwenken, dazu muss das benötigte Paket installiert werden.
sudo apt-get install ifupdown
sudo apt -y purge netplan.io
Nun kann die Netzwerkkonfiguration unter /etc/network/interfaces abgelegt werden, sowie ein Neustart des Dienstes erfolgen.
sudo systemctl restart networking
[Update]
Zu Bedenken sind noch die DNS Settings, welche unter /etc/systemd/resolved.conf abgelegt wurden, was sich unter Ubuntu 18.04 im Vergleich zu früher geändert hat.
Die Datei kann wie folgt modifiziert werden
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
#
# Entries in this file show the compile time defaults.
# You can change settings by editing this file.
# Defaults can be restored by simply deleting this file.
#
# See resolved.conf(5) for details
[Resolve]
DNS=8.8.8.8 1.1.1.1 8.8.4.4
#FallbackDNS=
#Domains=
#LLMNR=no
#MulticastDNS=no
#DNSSEC=no
#Cache=yes
#DNSStubListener=yes
Nun den Dienst neu starten und die DNS Server überprüfen
sudo systemctl restart systemd-resolved.service
sudo systemd-resolve --status
Alternativ kann auch das resolv Paket installiert werden.
sudo apt install resolvconf
Danach kann die Datei /etc/resolvconf/resolv.conf.d/head editiert und angepasst werden.
# Make edits to /etc/resolvconf/resolv.conf.d/head.
nameserver 1.1.1.1
nameserver 8.8.8.8
sudo service resolvconf restart
Nun sollten die Netzwerkeinstellungen wieder der von Ubuntu 16.04 LTS oder 14.04 LTS entsprechen.
Trackbacks
Trackback specific URI for this entryThis link is not meant to be clicked. It contains the trackback URI for this entry. You can use this URI to send ping- & trackbacks from your own blog to this entry. To copy the link, right click and select "Copy Shortcut" in Internet Explorer or "Copy Link Location" in Mozilla.
No Trackbacks
Comments
Display comments as Linear | Threadedreslov.conf on :
Piet on :
Tuncay on :
Thomas on :
r00t on :
Guenny on :
John Doe on :