DecaTec

Programmieren, Fotografie, Home-Server und einiges mehr

Ubuntu Server 18.04 LTS als Hyper-V Gastsystem installieren und optimal einrichten

Ubuntu 18.04 + Windows

Mit der Veröffentlichung von Ubuntu 18.04 („Bionic Beaver“) ist eine neue LTS-Version der beliebten Linux-Distribution erschienen. Im folgenden Artikel wird die Installation von Ubuntu Server 18.04.1 als Gastsystem in einer Hyper-V-Umgebung beschrieben. Neben der Konfiguration der virtuellen Maschine und der Installation von Ubuntu Server geht es ebenfalls die Optimierung des Gastsystems, so dass es optimal in einer virtualisierten Umgebung laufen kann. Als Grundlage dient der schon vor einiger Zeit entstandene Artikel Ubuntu Server als Hyper-V Gastsystem installieren und optimal einrichten, in dem die Einrichtung von Ubuntu Server 16.04 gezeigt wurde. Da sich bei Ubuntu Server 18.04 einiges an der Installations-Routine geändert hat, ist es an der Zeit, dem Thema einen neuen Artikel zu gönnen.

Spezielle Linux-Kenntnisse sind dabei nicht erforderlich, wenn auch nicht hinderlich. Wer seinerzeit mit dem vorherigen Artikel eine Ubuntu-VM aufgesetzt hat, wird sich sicherlich sofort zurechtfinden.

Update-Historie (letztes Update: 10.08.2018)
  • 09.05.2018:
    • IP-Konfiguration: Hinweise für die nachträgliche Änderung der IP-Adresse hinzugefügt.
  • 01.06.2018:
    • Hinweis zum Einstellen der richtigen Zeitzone hinzugefügt.
  • 10.08.2018:
    • Angepasst an Ubuntu Server 18.04.1 (Setup-Prozess).
    • Manuelle Anpassung der Paketquellen nach der Installation.

 

Ubuntu: Virtualisierung mittels Hyper-V

Dieser Artikel ist fokussiert auf Ubuntu Server als Gast-Betriebssystem und Hyper-V als Virtualisierungs-Lösung. Warum nun genau diese Kombination?

Hyper-V

Wenn es um Virtualisierungs-Lösungen geht, kann man zwischen zwei Arten der Virtualisierung unterscheiden: Bei einem sog. Typ-1-Hypervisor läuft das Gast-Betriebssystem direkt auf der Hardware des Hosts. Dagegen setzt ein Typ-2-Hypervisor auf dem Host-Betriebssystem („eine Schicht weiter oben“) auf. Durch den Wegfall dieser Zwischenschicht läuft ein Typ-1-Hypervisor immer effizienter als ein Typ-2-Hypervisor.

Im Gegensatz zum populären VirtualBox ist Hyper-V dabei ein reiner Typ-1-Hypervisor. Daher fiel die Wahl bei diesem Artikel auf die Virtualisierungs-Lösung aus dem Hause Microsoft.

Allerdings kann dieses Tutorial auch mit jeder anderen Virtualisierungs-Software angegangen werden. Die Schritte zur Konfiguration des Gastsystems sind überall identisch.

Ubuntu Server

Microsoft öffnet sich ja zunehmend der Linux-Welt, was beispielsweise das Windows Subsystem for Linux deutlich macht. Auch die Unterstützung von Ubuntu auf Hyper-V ist mittlerweile weit vorangeschritten, wie dieser TechNet-Artikel zeigt. Prinzipiell kann hier auch eine andere Linux-Distribution zum Einsatz kommen, allerdings unterscheiden sich dann u.U. die Schritte zur Konfiguration des Gast-Betriebssystems.

Ubuntu Server herunterladen

Zunächst benötigt man ein ISO-Image des Gastsystems, welches man auf der Ubuntu-Homepage herunterladen kann. Die aktuellste Version ist dabei momentan 18.04 LTS („Bionic Beaver“). Da es sich um eine LTS-Version handelt (Long Term Support), wird diese Version ganze vier Jahre lang unterstützt.

Virtuelle Maschine erstellen

Zunächst muss die Hyper-V-Maschine erstellt werden. Als Hyper-V-Host dient dabei Windows Server 2016. Die gezeigten Schritte gelten aber auch für ältere Versionen von Windows Server bzw. Windows 10.

Virtuelle Festplatte erzeugen

Bevor die VM im Hyper-V-Manager angelegt wird, sollte die virtuelle Festplatte (vhdx) manuell mittels PowerShell erzeugt werden. Dieser Microsoft-Artikel erklärt dabei die Hintergründe: Für Linux-VMs sollte eine Block Size von 1 MB verwendet werden, da ansonsten mehr Speicherplatz auf dem Host-Betriebssystem belegt wird. Da beim Hyper-V-Manager keine benutzerdefinierte Block Size bei der Erstellung von virtuellen Festplatten angegeben werden kann, ist hier der kleine Umweg über die PowerShell notwendig.

Dazu die PowerShell mit Admin-Rechten starten. Folgender Befehl legt dann die virtuelle Festplatte mit einer Größe von 20 GB an:

Virtuelle Festplatte mit PowerShell anlegen

Virtuelle Festplatte mit PowerShell anlegen

Laut den Systemanforderungen von Ubuntu Server würde zwar schon eine Festplatte mit 1,5 GB ausreichen, dennoch sollte man die Festplatte gleich etwas größer anlegen, um nachher mehr Spielraum zu haben. Durch das Erzeugen als dynamische Festplatte werden auch keine 20 GB belegt. Es wird nur so viel Speicherplatz benötigt wie die auf der Festplatte gespeicherten Daten einnehmen.

Anlegen der virtuellen Maschine

Nachdem die Festplatte schon vorbereitet wurde, geht es nun im Hyper-V-Manager an das Erzeugen der virtuellen Maschine. Dazu den Assistenten über Aktion > Neu > Virtueller Computer… aufrufen.

Name und Pfad angeben: Nach den Vorbemerkungen zum Assistenten wird der Name der virtuellen Maschine angegeben. Ebenfalls kann der Speicherort der VM konfiguriert werden. In diesem Fall gebe ich das Verzeichnis an, in dem alle Hyper-V-Maschinen gespeichert werden. Auch wenn es nicht so aussieht, sollte man den Pfad hier explizit angeben (die Option Virtuellen Computer an einem anderen Speicherort speichern muss dazu aktiviert werden), da ansonsten keine Verzeichnisstruktur erstellt wird, in der sämtliche Dateien der virtuellen Maschine unter einem Ordner gespeichert werden.

Name und Pfad der virtuellen Maschine

Name und Pfad der virtuellen Maschine

Generation angeben: Die Wahl der „Generation“ hängt vom zu installierenden Gast-Betriebssystem ab. Generation 2 ist dabei die modernere Variante und bietet mehr Virtualisierungs-Features. Da Ubuntu ab Version 14.04 Generation 2 unterstützt, wählen wir hier die entsprechende Option (siehe Microsoft-Artikel).

Generation der VM festlegen

Generation der VM festlegen

Speicher zuweisen: Als nächstes wird festgelegt, wie viel Speicher der virtuellen Maschine zur Verfügung stehen soll. 1024 MB (= 1 GB) sollte dabei vollkommen ausreichen. Hier sollte auch die Option Dynamischen Arbeitsspeicher für diesen virtuellen Computer verwenden aktiviert werden, so dass die VM nur so viel Arbeitsspeicher in Anspruch nimmt, die eben gerade benötigt wird.

Zuweisen von Arbeitsspeicher

Zuweisen von Arbeitsspeicher

Netzwerk konfigurieren: Da die VM nachher auch Netzwerkzugang benötigt, wird hier ein Netzwerkadapter angegeben. Dabei handelt es sich um einen sog. virtuellen Switch. Falls hier keine Option gewählt werden kann, muss ein solcher vermutlich erst noch angelegt werden. In diesem Artikel wird dazu die genaue Vorgehensweise erklärt.

Netzwerkkonfiguration der VM

Netzwerkkonfiguration der VM

Virtuelle Festplatte verbinden: Hier wird nun die virtuelle Festplatte der VM angegeben. Da die HDD bereits zuvor mittels PowerShell erzeugt wurde, wählen wir hier die Option Vorhandene virtuelle Festplatte verwenden und geben die entsprechende vhdx-Datei an.

Virtuelle Festplatte hinzufügen

Virtuelle Festplatte hinzufügen

Der letzte Schritt des Assistenten fasst nochmals alle gewählten Optionen zusammen. Passt alles, wird mit einem Klick auf Fertig stellen der Assistent abgeschlossen.

Einstellungen der virtuellen Maschine anpassen

Direkt nach der Erzeugung und vor dem ersten Start der virtuellen Maschine werden direkt noch einige Einstellungen vorgenommen/optimiert (Rechtsklick auf VM > Einstellungen…)

Sicherheit: Hier wird die Option Sicheren Start aktivieren eingeschaltet. Als Vorlage muss hier Microsoft UEFI-Zertifizierungsstelle gewählt werden, da die virtuelle Maschine später sonst nicht gestartet werden kann.

VM-Einstellungen: Sicherheit

VM-Einstellungen: Sicherheit

Arbeitsspeicher: Die Einstellungen für den (dynamischen) Arbeitsspeicher werden hier nochmals genauer spezifiziert. Damit die VM nicht beliebig viel Speicher beanspruchen kann, wird hier einfach das Maximum von 2048 MB (= 2 GB) angegeben.

VM-Einstellungen: Arbeitsspeicher

VM-Einstellungen: Arbeitsspeicher

Prozessor: Damit die VM auch alle zur Verfügung stehenden Prozessor-Kerne nutzen kann, wird die Anzahl der virtuellen Prozessoren soweit erhöht, dass unter Anteil der Gesamtsystemressourcen in % bei 100 steht. Falls die virtuelle Maschine nicht „so viel Dampf“ braucht, kann man hier aber auch einen kleineren Wert angeben. Dennoch ist es empfehlenswert, der VM mindestens zwei Prozessoren zuzuweisen.

VM-Einstellungen: Prozessor

VM-Einstellungen: Prozessor

SCSI-Controller: Da die erzeugte virtuelle Maschine standardmäßig kein DVD-Laufwerk besitzt, wird hier ein solches hinzugefügt. Dazu einfach den Eintrag DVD-Laufwerk markieren und auf Hinzufügen klicken. Daraufhin kann gleich die zuvor heruntergeladene ISO-Datei angegeben werden, so dass sich diese beim ersten Start der VM „im Laufwerk befindet“.

VM-Einstellungen: DVD-Laufwerk

VM-Einstellungen: DVD-Laufwerk

Firmware: Anschließend kommt noch ein kleiner Abstecher in den Menüpunkt Firmware. Hier wird einfach das soeben hinzugefügte DVD-Laufwerk als erste Startoption festgelegt.

VM-Einstellungen: Firmware

VM-Einstellungen: Firmware

Alle anderen Optionen in den Einstellungen für die virtuelle Maschine können auf Standard-Werten belassen oder nach eigenem Ermessen eingestellt werden. Ebenfalls können sämtliche Einstellungen auch noch nach der Installation des Gast-Betriebssystems geändert werden (wenn man beispielsweise doch einmal mehr Arbeitsspeicher benötigen sollte).

Installation Ubuntu Server 18.04

Die Einrichtung der VM auf dem Host-System ist nun abgeschlossen. Bevor wir die virtuelle Maschine das erste Mal starten, sollte noch ein Prüfpunkt angelegt werden (Rechtsklick auf die VM > Prüfpunkt). Falls bei der Installation etwas schief gehen sollte, kann man die virtuelle Maschine wieder den Ursprungszustand versetzen (über Rechtsklick auf den Prüfpunkt > Anwenden).

Nach einem Rechtsklick auf die VM und Verbinden…, kann die virtuelle Maschine mit Aktion > Starten (oder STRG+S) zum ersten Mal gestartet werden.

Zunächst wird die Sprache des Betriebssystems gewählt – in diesem Fall Deutsch:

Ubuntu Server Setup: Sprache

Ubuntu Server Setup: Sprache

Das Tastatur-Layout wird leider nicht automatisch angepasst, so dass im nächsten Schritt das passende Tastatur-Layout gewählt werden muss:

Ubuntu Server Setup: Tastatur-Layout

Ubuntu Server Setup: Tastatur-Layout

Anschließend wird die Installations-Methode gewählt. Hier ist die erste Option (Install Ubuntu) die passende:

Ubuntu Server Setup: Installationsart

Ubuntu Server Setup: Installationsart

Der nächste Schritt ist bei Ubuntu 18.04 ganz neu: Hier wird die Netzwerk-Konfiguration im Rahmen des Setups vorgenommen (bei älteren Versionen des Betriebssystems musste das immer erst nach dem Setup manuell vorgenommen werden). Standardmäßig wird hier DHCP verwendet, so dass die VM eine dynamische IP-Adresse vom Router zugewiesen bekommt.

Für einen Server ist es aber besser, wenn dieser eine statische IP-Adresse hat. Dazu wird das entsprechende Interface (meist eth0) gewählt. Mit der Enter-Taste kann wählt man nun den Eintrag Edit IPv4 und ruft so den Dialog zum Bearbeiten der Konfiguration auf.

Ubuntu Server Setup: Netzwerk-Konfiguration

Ubuntu Server Setup: Netzwerk-Konfiguration

Im folgenden Dialog ist die Option Automatic (DHCP) eingestellt. Hier wählen wir nun Manual. Die anschließende Konfiguration für die statische IP-Adresse ist von eurer Netzwerk-Konfiguration abhängig.

Ubuntu Server Setup: Netzwerkkonfiguration (statische IP)

Ubuntu Server Setup: Netzwerkkonfiguration (statische IP)

  • Subnet: Im Heim-Bereich kommt meist ein 24er-Subnet zum Einsatz: Wenn euer Router also beispielsweise die IP 192.168.178.1 hat, muss hier vermutlich 192.168.178.0/24 angegeben werden (entspricht dem Subnet 255.255.255.0).
  • Address: Dies ist die statische IP-Adresse des Gast-Betriebssystems. In diesem Beispiel soll die virtuelle Maschine die statische IP 192.168.178.60 bekommen.
  • Gateway: Dies ist einfach die IP-Adresse eures Routers, also z.B. 192.168.178.1.
  • Name servers: Dies ist die IP des DNS-Nameservers in eurem Netzwerk. In den meisten Fällen wird dies auch die IP des Routers sein (also beispielsweise 192.168.178.1).

Nach der Bestätigung mit Save werden die Einstellungen für IPv4 übernommen. Hier sollten nun noch die Einstellung für IPv6 überprüft werden: Dies sollte auf Disabled stehen. Damit nutzt die virtuelle Maschine nur IPv4 und kein IPv6.

Wenn die Netzwerk-Konfiguration abgeschlossen ist, wird mit Done das Setup fortgeführt.

Wie die IP-Konfiguration nachträglich noch geändert werden kann, wird am Ende des Artikels auch nochmals kurz erklärt. Die hier vorgenommenen Einstellungen sind also nicht „in Stein gemeißelt“.

Als nächstes erfolgt die Abfrage eines Proxy-Servers. Falls kein Proxy zum Einsatz kommt, den Schritt einfach mit Done überspringen.

Nun wird ein Mirror für die Paketquellen angegeben. Hier kann man die Standard-Adresse einfach übernehmen (http://archive.ubuntu.com/ubuntu) übernehmen.

Ubuntu Server Setup: Auswahl des Mirrors für Paketquellen

Ubuntu Server Setup: Auswahl des Mirrors für Paketquellen

Es folgt die Einrichtung des Dateisystems. Hier wird einfach die Option Use An Entire Disk gewählt, wenn man die komplette Festplatte für Ubuntu verwenden möchte.

Ubuntu Server Setup: Dateisystem

Ubuntu Server Setup: Dateisystem

Falls man eine Unterteilung in mehrere Partitionen vornehmen möchte, ist hier die Option Manual zu wählen.

Nun wird die einzurichtende Festplatte ausgewählt. Da die virtuelle Maschine nur eine Festplatte zugewiesen bekommen hat, sollte sich die Auswahl auf eine einzelne Festplatte beschränken.

Anschließend erfolgt auch hier eine Zusammenfassung der Dateisystem-Einrichtung. Wenn alles passt, wird das Setup mit Done und der Bestätigung, dass die komplette Festplatte formatiert wird, fortgesetzt.

Ubuntu Server Setup: Dateisystem (Zusammenfassung)

Ubuntu Server Setup: Dateisystem (Zusammenfassung)

Nun wird der erste Benutzer des Systems angelegt.

Ubuntu Server Setup: User anlegen

Ubuntu Server Setup: User anlegen

Nun können noch Snap Apps ausgewählt werden, die im Rahmen des Setups gleich mit installiert werden sollen. Snap soll hier nicht Thema des Artikels sein, daher wird dieser Schritt mit Done übersprungen.

Am Ende wird das System an sich installiert. Nach einer kurzen Wartezeit sollte oben die Meldung Finished install! kommen und man kann das System mit der Option Reboot now neu starten.

Ubuntu Server Setup: Installation abgeschlossen

Ubuntu Server Setup: Installation abgeschlossen

Beim Reboot erscheint dann irgendwann die Meldung Please remove installation medium, then press ENTER. Es kann nun vorkommen, dass das ISO-Image nicht mehr gemountet ist (Medien > DVD-Laufwerk > Auswerfen), aber bei der Bestätigung mit Enter nichts passiert. In diesem Fall einfach die VM ausschalten (Aktion > Ausschalten) und neu starten.

Optimierung der VM-Einstellungen

Ubuntu Server ist anschließend fertig installiert. Für den optimalen Betrieb sollte nun noch eine Änderung an den VM-Einstellungen vorgenommen werden (Rechtsklick auf die virtuelle Maschine > Einstellungen…): Unter Netzwerkkarte > Erweiterte Features sollte nun eine statische MAC-Adresse vergeben werden. Dazu kann einfach die Option Statisch gewählt werden, die MAC-Adresse, die nun vorgeschlagen wird, muss nicht mehr verändert werden.

VM-Einstellungen: Netzwerkkarte

VM-Einstellungen: Netzwerkkarte

Diese Einstellung ist nicht zwingend notwendig, beugt allerdings bestimmten Netzwerk-Problemen mit der virtuellen Maschine vor.

Nach diesen Schritten sollte erst einmal wieder ein Prüfpunkt der VM angelegt werden, der das installierte Grundsystem beinhaltet.

Einrichtung Ubuntu Server 18.04

Nun folgt die Konfiguration des Gastsystems, damit dieses optimal in der virtualisierten Umgebung läuft. Dazu meldet man sich einfach mit dem soeben erstellen Benutzer an und verschafft sich mittels sudo Root-Rechte. Das Konzept hinter sudo wurde an dieser Stelle schon einmal genauer erklärt.

Systemupdates

Als erstes bringen wir das System auf den neusten Stand. Dazu werden erst einmal die Paketquellen aktualisiert:

Anschließend werden evtl. vorhandene Updates abgerufen:

Beide Befehle kann man auch in einem Rutsch durchführen:

Um auch evtl. vorhandene System-Upgrades zu erhalten, wird noch folgender Befehl ausgeführt:

Falls hier Upgrades gefunden und installiert werden, können nicht mehr benötigte Pakete automatisch entfernt werden:

Nach den Updates sollte die virtuelle Maschine neu gestartet werden:

Optimierung für virtuelle Umgebung

Um das System noch bessern an die virtualisierte Umgebung anzupassen, werden nun noch die dafür vorgesehenen Kernel-Module installiert:

Optimierung des I/O-Schedulers

Ein modernes Betriebssystem ist darauf ausgelegt, möglichst viele I/O-Operationen parallel auszuführen. Der Linux-Kernel kennt dazu verschiedene Scheduling-Modi. Hier soll nicht weiter auf die Details eingegangen werden, allerdings sollte der zu Grunde liegende Hypervisor diese I/O-Operationen optimieren und nicht das Gast-Betriebssystem selbst.

Um diese Einstellung einzurichten, muss der Bootloader optimiert werden. nano ist in diesem Fall ein einfacher Text-Editor unter Linux:

Hier suchen wir nun nach der folgenden Zeile

und ändern diese zu:

Mit dieser Einstellung weisen wir die virtuelle Maschine an, sämtliche I/O-Operationen an den darunter liegenden Hyper-V-Hypervisor zu übergeben, der dann für einen optimierten Ablauf sorgt. Dadurch sollte sich die Performance der virtuellen Maschine geringfügig verbessern.

Die Datei wird in nano durch die Tastenkombination STRG+O gespeichert. Anschließend kann der Texteditor durch STRG+X verlassen werden.

Damit die Änderungen wirken, muss der Bootloader neu geladen und das System neu gestartet werden:

Nach diesem Reboot ist unser Ubuntu Server nun für den Betrieb in einer virtualisierten Umgebung optimiert.

Am Ende solte man noch die Systemzeit überprüfen:

Falls die angezeigte Zeit nicht stimmen sollte, muss man noch die passende Zeitzone einstellen:

Anschließend sollte mit dem Befehl date Zeit zurückgeliefert werden.
Dieser Schritt ist wichtig, da bei einer falsch eingestellten Systemzeit sämtliche Zeitangaben (z.B. in Log-Files) falsch sein könnten.

Konfigurieren der Paketquellen

Die Pakete sind bei Ubuntu schon immer in mehrere Repositories unterteilt:

  • Main: Von Canonical gepflegte Open Source Software.
  • Universe: Von der Community gepflegte Open Source Software.
  • Resticted: Proprietäre Treiber für Geräte.
  • Multiverse: Software, die lizenzrechtlichen Einschränkungen unterliegt.

Hintergrundinformationen zu den einzelnen Paketquellen findet man in der Ubuntu-Dokumentation.

Seit Ubuntu Server 18.04.1 sind die Paketquellen nach der Installation des Betriebssystems so konfiguriert, dass nur noch das Main-Repository eingerichtet ist. Auf diese Weise soll sichergestellt werden, dass möglichst nur qualitativ hochwertige Software auf dem System installiert wird.

Das bringt jedoch einen Nachteil mit sich: Viele Pakete, die üblicherweise auf einem Server installiert werden, sind nicht im Main-Repository enthalten. In welchem Repository ein gesuchtes Paket enthalten ist, kann man einfach über die Ubuntu-Paketsuche ermitteln. Als Beispiel sei hier das Paket php7.2-fpm genannt, welches auf dem meisten Webservern zum Einsatz kommen dürfte. Wenn man dieses nun per apt-get install php7.2-fpm installieren will, erhält man eine Meldung, dass dieses Paket nicht gefunden werden kann (da das Paket nur im Universe-Repository enthalten ist).

Wenn solche Pakete benötigt werden, kann man diese einfach in die Liste der Repositories mit aufnehmen. Mit folgendem Befehl wird z.B. das Universe-Repository mit eingebunden:

Kontrollieren (und erweitern) kann man die eingebundenen Repositories auch anhand der Datei /etc/apt/sources.list. Hier sind beispielsweise die Repositories Main, Universe, Multiverse und Restricted eingebunden (die Standard-Einstellung unter Ubuntu 18.04):

Hier gilt es immer abzuwägen, in wie weit man das System für weitere Software öffnen will, bei der Canonical nicht beteiligt ist.

Zugriff auf die virtuelle Maschine mit SSH/PuTTY

Bisher haben wir uns immer über die Hyper-V-Konsole auf die virtuelle Maschine verbunden. Im Normalfall wird man sich diesen Umweg sparen und eine Verbindung einfach über SSH aufbauen wollen.

Das bekannteste Programm dazu ist sicherlich PuTTY. Hier wird einfach die IP-Adresse unserer virtuellen Maschine (in diesem Beispiel 192.168.178.60) und der Port 22 angegeben:

PuTTY: Verbindung zum Ubuntu Server herstellen

PuTTY: Verbindung zum Ubuntu Server herstellen

Nach einem Klick auf Open erscheint beim ersten Verbindungsaufbau die Hinweismeldung, dass der Ziel-Rechner unbekannt ist. Durch die Bestätigung mit Ja wird diese Meldung zukünftig für diesen Rechner nicht mehr erscheinen.

Nachdem die Verbindung nun aufgebaut wurde, befindet man sich wieder ganz normal im Terminal des Ubuntu Servers und kann wie gewohnt arbeiten.

Erweiterung: IP-Konfiguration nachträglich ändern

Die Einstellungen bzgl. der IP-Adresse des Servers werden bei Ubuntu 18.04 bereits im Rahmen des Setups festgelegt. Normalerweise wird man die Einstellungen gleich im Setup durchführen und muss sich daraufhin nicht mehr weiter darum kümmern. Trotzdem soll noch kurz die Vorgehensweise zur IP-Konfiguration beleuchtet werden, falls man zu einem späteren Zeitpunkt die IP-Einstellungen nochmal ändern möchte.

Seit Ubuntu 17.10 werden die Netzwerkeinstellungen nicht mehr wie früher unter /etc/network/interfaces konfiguriert, sondern über Netplan. Netplan ist dabei als Konfigurations-Backend für die Netzwerkeinstellungen zu verstehen. Die gewünschten Einstellungen werden nun deklarativ im YAML-Dateiformat hinterlegt. Beim Aktivieren der Einstellungen übergibt Netplan die Kontrolle an einen sog. Renderer: Bei der Desktop-Version von Ubuntu ist dies der NetworkManager, bei der Server-Variante kommt systemd-networkd (Netzwerkdaemon) zum Einsatz.

Die eigentliche Netzwerk-Konfiguration findet man unter /etc/netplan. Hier befindet sich im Normalfall nur eine YAML-Datei (hier z.B. 50-cloud-init.yaml – die Datei kann ggf. aber auch anders heißen). Diese kann mit einem beliebigen Editor bearbeitet werden:

Durch die Konfiguration im Rahmen des Setups sieht die Datei dann meist so aus und spiegelt die vorgenommenen Einstellungen wider:

Hier sind folgende Informationen hinterlegt:

  • eth0: Name der Netzwerk-Schnittstelle.
  • addresses: Statische IP-Adressen (IPv4 und ggf. IPv6).
  • gateway4: IPv4-Adresse des Standard-Gateways (IP des Routers).
  • nameservers: Liste der IP-Adressen der zu verwendenden Nameserver (DNS). search gibt evtl. vorhandene Such-Domains an.
  • optional: Markiert das Netzwerk-Interface als optional für den Bootvorgang (nur bei networkd als Renderer). Wenn auf false gesetzt, wartet networkd beim Booten, bis das Gerät verfügbar ist.
  • version: YAML-Version (immer 2).
  • renderer: Gibt den zu verwendenden Renderer an. Wenn wie hier nicht angegeben, wird standardmäßig networkd verwendet.

Wenn also nun die IP von 192.168.178.60 auf 192.168.178.100 geändert werden soll, muss hier also nur die Zeile unter addresses modifiziert werden:

Um die IP-Konfiguration über DHCP vorzunehmen, sieht der komplette Dateiinhalt folgendermaßen aus (für einen Server nicht empfehlenswert):

Wenn an der Konfiguration etwas geändert wurde, dann müssen die Einstellungen noch übernommen werden. Dazu wird die YAML-Datei zunächst einmal gespeichert und anschließend wird die Konfiguration mit folgendem Befehl angewendet:

Nicht wundern: Die Änderungen sind nach diesem Befehl sofort „live“, so dass eine SSH-Verbindung danach erst einmal abbricht. Einfach nochmals mit der neuen IP verbinden.

Fazit

Nach diesen Schritten haben wir einen Ubuntu Server 18.04 fertig eingerichtet und für die virtualisierte Umgebung optimiert. Am besten erstellt man nun erst einmal noch einen Prüfpunkt der virtuellen Maschine mit der abgeschlossenen Konfiguration (die zuvor angelegten Prüfpunkte können nun gelöscht werden).

Nun kann das System für weitere Aufgaben genutzt werden: Beispielsweise kann mit Nextcloud eine eigene Cloud eingerichtet werden (siehe Nextcloud auf Ubuntu Server mit nginx, MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban).

Weiterführende Artikel

Links

, , , , , ,

Kommentare: 3

  • Hans sagt:

    Hallo Jan,

    wahnsinns Anleitung, danke.

    Werde ich gleich mal ausprobieren.

    Gruß Hans

  • Tobias sagt:

    Servus,

    mal wieder eine super Anleitung, freue mich auf die neue für Nextcloud!

    Gruß
    Tobi

  • Frank Hoppe sagt:

    Vieleicht nutzt es was. Untenstehend sieht in Ubuntu 18.04 bei mir die *yaml wie folgt aus. Verdammt wichtig ist die Reihenfolge der keys (andernfalls Meldung ‚falsche sequence oder key not found‘), In Ubuntu 18.04 im vi-Editor setzt er auch die tabs gleich korrekt, wenn man von Zeile zu Zeile nur mit der Enter-Taste vorrückt.

    Gruß Frank

    network:
    version: 2
    renderer: networkd
    ethernets:
    ens33:
    addresses:
    – 10.0.0.212/24
    dhcp4: no
    gateway4: 10.0.0.254
    nameservers:
    addresses: [10.0.0.254]
    search: []

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.