Ubuntu 16.04 Server / Eine statische IP-Adresse einrichten

Unter Ubuntu 16.04 Server wird eine von ifupdown verwaltete feste IPv4-Adresse (Internet Protocol Version 4) in /etc/network/interfaces oder einer eingebundenen Datei festgelegt. Prüfen Sie Schnittstelle, Adresse, Netzmaske, Gateway und DNS, sichern Sie die Konfiguration und bereiten Sie einen Konsolenzugang zur Wiederherstellung vor.

Prüfen, ob die Anleitung zum System passt

Diese Anleitung ändert eine typische einzelne kabelgebundene Schnittstelle in einer bestehenden ifupdown-Konfiguration unter Ubuntu 16.04. Übernehmen Sie sie nicht unverändert auf Server mit Netplan, NetworkManager oder Cloud-Initialisierung. Ermitteln Sie zuerst Verwaltungswerkzeug und Konfigurationsquelle.

Ubuntu 16.04 ist alt. Der Standardsupport endete 2021, die reguläre ESM-Phase (Expanded Security Maintenance, erweiterte Sicherheitswartung) 2026. Prüfen Sie für den Weiterbetrieb Legacy-Abdeckung und Migrationsplan anhand von Canonicals Supportinformationen zu Ubuntu 16.04. Dies ist keine Anleitung zur Standardkonfiguration aktueller Ubuntu-Versionen.

Schnittstellennamen unterscheiden sich. Die Befehle zeigen Distribution, Geräte, IPv4-Adressen und Standardroute. Ermitteln Sie das tatsächlich verwendete Gerät, statt enp0s3 ungeprüft zu übernehmen.

lsb_release -ds
ip -o link show
ip -4 addr show
ip -4 route
cat /etc/network/interfaces
dpkg -l ifupdown resolvconf

In ip -4 route bezeichnet default via das Standardgateway, dev dessen Schnittstelle. Vergleichen Sie das mit den Dateien und prüfen Sie über dpkg -l die Paketinstallation. Fehlt die Datei oder ist ein anderer Manager zuständig, stoppen Sie und verwenden Sie dessen Verfahren.

Adresse, Gateway und DNS auswählen

Eine feste IP wird nicht beliebig am Server gewählt. Nutzen Sie die zugewiesene Adresse und prüfen Sie DHCP-Reservierungen oder -Ausschlüsse (Dynamic Host Configuration Protocol), damit sie nicht im dynamischen Vergabebereich liegt. Eine nicht antwortende Adresse ist nicht zwangsläufig frei.

  • Adresse und Netzmaske: Das Beispiel nutzt 192.168.10.50 und 255.255.255.0, entsprechend 192.168.10.50/24. Vergeben Sie weder die Netzadresse 192.168.10.0 noch die Broadcastadresse 192.168.10.255 dieses Subnetzes an einen Host.
  • Gateway: Im Beispiel ist es 192.168.10.1, direkt im selben Netz erreichbar. Dieses Beispiel mit einer Schnittstelle verwendet eine Standardroute. Mehrere Netze oder Routingrichtlinien benötigen eine eigene Planung.
  • DNS: Wählen Sie einen DNS-Server (Domain Name System), der Namen in Adressen auflöst. 192.168.10.1 ist nur passend, wenn das Gerät auch DNS-Anfragen beantwortet. Für interne Domänen ist ein zuständiger Organisations-DNS nötig.

Die Werte sind ein Beispiel für ein privates Netz. Passen Sie sie an NAT-, Bridge- oder Host-only-Netze der VM und Cloud-Vergaberegeln an. Eine feste private Gastadresse ist unter Umständen etwas anderes als die Reservierung einer öffentlichen externen IP.

Konfiguration sichern und DHCP durch static ersetzen

  1. Prüfen Sie zuerst Zugang zur physischen, Virtualisierungs- oder Cloud-Rettungskonsole. Eine Adressänderung allein über SSH (Secure Shell) kann Sie nach dem Abbruch von der Wiederherstellung ausschließen. Planen Sie Ausfallzeit und notieren Sie bisherige Adressen, Routen und DNS.
  2. Sichern Sie die Netzwerkkonfiguration an einem getrennten Ort. Existiert der Sicherungsname schon, wählen Sie einen anderen.
sudo cp -a /etc/network /etc/network.before-static-ip
sudoedit /etc/network/interfaces

Prüfen Sie durch source oder source-directory eingebundene Dateien. Liegt die Schnittstellendefinition unter /etc/network/interfaces.d/, bearbeiten Sie diese Datei, ohne das Gerät im Hauptfile doppelt zu definieren. Bei Cloud-Dateien prüfen Sie Überschreiben beim Booten und das unterstützte Verfahren des Anbieters.

  1. Suchen Sie den folgenden DHCP-Abschnitt. Ändern Sie den bestehenden IPv4-Abschnitt des echten Geräts, statt einen neuen Gerätenamen zu erfinden.
auto enp0s3
iface enp0s3 inet dhcp
  1. Ersetzen Sie nur diesen Abschnitt wie folgt. Andere Schnittstellen, IPv6, Einbindungsanweisungen und Loopback bleiben erhalten.
auto enp0s3
iface enp0s3 inet static
    address 192.168.10.50
    netmask 255.255.255.0
    gateway 192.168.10.1
    dns-nameservers 192.168.10.1

Der Block ersetzt nicht die ganze Datei. Bewahren Sie etwa auto lo und iface lo inet loopback. auto benennt beim Booten aktivierte Schnittstellen, inet static wählt statisches IPv4. Die Syntax erläutert das interfaces-Handbuch von ifupdown.

Voraussetzungen für dns-nameservers prüfen

dns-nameservers hat eine andere Aufgabe als IP-Adresse und Standardroute. Unter Ubuntu 16.04 müssen resolvconf und die ifupdown-Anbindung funktionieren, damit der Wert in die DNS-Konfiguration gelangt. Das resolvconf-Handbuch für Ubuntu 16.04 erklärt die Anbindung und mehrere durch Leerzeichen getrennte DNS-Adressen.

Wird /etc/resolv.conf automatisch erzeugt, können direkte Änderungen überschrieben werden. Prüfen Sie Ziel und Inhalt mit diesen Befehlen; falls resolvconf vorhanden ist, lassen Sie auch registrierte DNS-Daten anzeigen.

readlink -f /etc/resolv.conf
cat /etc/resolv.conf
if command -v resolvconf >/dev/null 2>&1; then
    resolvconf -l
fi

Ohne Installation oder Anbindung ändert die Zeile dns-nameservers allein nichts. Ermitteln und konfigurieren Sie zuerst die tatsächliche DNS-Verwaltung. Manche Systeme zeigen einen lokalen DNS-Cache in resolv.conf; eine dort fehlende externe DNS-Adresse beweist keinen Fehler.

Gespeicherte Konfiguration anwenden und prüfen

  1. Prüfen Sie nach dem Speichern die von ifupdown gelesenen Werte. Name, Adresse, Netzmaske und Gateway müssen zum Plan passen. Der Befehl fragt nur die Konfiguration ab und wendet sie nicht auf das Netzwerk an.
ifquery enp0s3

Erfolgreiches ifquery prüft weder IP-Konflikte noch echte Verbindungen. Bei Fehlern oder undefiniertem Gerät korrigieren Sie zuerst Einbindungen, Namen und Syntax. Den Umfang erklärt das ifquery- und ifup-Handbuch von ifupdown.

  1. Mit verfügbarer Rettungskonsole und geplanter Ausfallzeit starten Sie neu, um die Bootkonfiguration anzuwenden. Dieser Befehl startet den gesamten Server neu; führen Sie ihn erst nach abgeschlossener Vorbereitung aus.
sudo reboot

Ein Neustart nur des Netzwerkdienstes beseitigt alte Adressen und DHCP-Zustände nicht garantiert. Wiederholtes Booten bei unveränderter IP behebt ebenfalls keine Konfigurationsfehler. Prüfen Sie nach dem Start Adressen und Routen an der Konsole und verbinden Sie sich zur neuen IP.

ip -4 addr show dev enp0s3
ip -4 route
ping -c 3 192.168.10.1
getent ahostsv4 ubuntu.com

Im Beispiel sollte die Schnittstelle 192.168.10.50/24 zeigen und die Route default via 192.168.10.1 dev enp0s3 enthalten. Testen Sie Gateway und Namensauflösung getrennt. Sind ICMP-Antworten gesperrt, beweist ein fehlgeschlagener Ping keine Störung: testen Sie benötigte Dienste und Zugriff von einem anderen Client.

Fehler eingrenzen und bisherige Einstellungen wiederherstellen

Ohne Adresse prüfen Sie Gerät, Dateipfad, Manager und Syntax. Mit Adresse, aber ohne andere Netze prüfen Sie Netzmaske, Gateway und Routen. Funktionieren IP-Verbindungen, aber keine Namen, prüfen Sie DNS und interne Domänen. Falsche Adressen, überlappende DHCP-Vergabe und doppelte Definitionen können ebenfalls Ursachen sein.

Dienstfehler zeigen sudo systemctl status networking.service und sudo journalctl -u networking.service -b --no-pager. Ein gesunder Dienststatus garantiert keine korrekten Adressen oder Verbindungen; vergleichen Sie die vorherigen Prüfungen.

Für die Wiederherstellung nutzen Sie die Rettungskonsole und setzen nur geänderte Dateien zurück. Das Beispiel setzt voraus, dass nur /etc/network/interfaces geändert wurde. Bei Fragmenten stellen Sie das jeweilige Backup am passenden Ort wieder her. Überschreiben Sie keine späteren unbeteiligten Änderungen durch Rückkopieren des ganzen Verzeichnisses.

sudo cp -a /etc/network.before-static-ip/interfaces /etc/network/interfaces
sudo reboot

War zuvor DHCP eingerichtet, ist nach dem Neustart dieselbe Adresse nicht garantiert. Prüfen Sie zugeteilte Adresse und Standardroute an der Konsole sowie DNS und Verwaltungszugang, bevor Sie abschließen.