Feste IP-Adresse unter Ubuntu

Feste IP-Adresse unter Ubuntu

Bearbeiten

Diese Anleitung beschreibt die dauerhafte Vergabe einer festen IPv4-Adresse auf einem Ubuntu-LTS-Server mit Netplan. Sie basiert auf der offiziellen Ubuntu-Netzwerkdokumentation.

Warnung: Eine falsche Netzwerkkonfiguration kann die SSH-Verbindung sofort unterbrechen. Wenn möglich, die Änderung an der lokalen Konsole durchführen oder sicherstellen, dass jemand vor Ort Zugriff auf Tastatur und Bildschirm hat.

Voraussetzungen und benötigte Werte

Bearbeiten

Vor Beginn müssen diese projektspezifischen Werte bekannt sein:

  • Name der Netzwerkschnittstelle, zum Beispiel `enp1s0`
  • gewünschte IP-Adresse mit Präfix, zum Beispiel `<IP-Adresse>/24`
  • Standard-Gateway, meist die Adresse des Routers
  • mindestens ein DNS-Server
  • Bestätigung, dass die IP-Adresse nicht bereits verwendet wird

Beispielwerte aus anderen Kundenprojekten dürfen nicht ungeprüft übernommen werden.

1. Aktuellen Zustand erfassen

Bearbeiten
ip address
ip route
sudo netplan status -a

Den Namen der tatsächlich verbundenen Schnittstelle notieren. `lo` ist nur die interne Loopback-Schnittstelle und darf nicht verwendet werden.

Vorhandene Netplan-Dateien anzeigen:

ls -l /etc/netplan

Inhalt sichern:

sudo cp -a /etc/netplan /etc/netplan.backup-$(date +%Y%m%d-%H%M%S)

2. Freie IP-Adresse sicherstellen

Bearbeiten

Die Adresse mit Kundennetz-Dokumentation und Router abgleichen. Zusätzlich kann vor der Vergabe getestet werden:

ping -c 4 <geplante-IP-Adresse>

Keine Antwort beweist nicht sicher, dass die Adresse frei ist; manche Geräte beantworten keinen Ping. Die Router-/DHCP-Liste bleibt maßgeblich.

3. Netplan-Datei bearbeiten

Bearbeiten

Eine eindeutige Datei anlegen:

sudo nano /etc/netplan/99-megbes-static.yaml

Beispiel – alle Werte in spitzen Klammern ersetzen:

network:
  version: 2
  renderer: networkd
  ethernets:
    <Schnittstelle>:
      dhcp4: false
      addresses:
        - <IP-Adresse>/<Praefix>
      routes:
        - to: default
          via: <Gateway-Adresse>
      nameservers:
        addresses:
          - <DNS-Server-1>
          - <DNS-Server-2>

Typischer Präfix für ein Netz mit der Maske `255.255.255.0` ist `/24`. Dies ist aber vor Ort zu prüfen.

In `nano` speichern mit `Strg+O`, Enter und schließen mit `Strg+X`.

Dateirechte setzen:

sudo chmod 600 /etc/netplan/99-megbes-static.yaml

4. Syntax prüfen

Bearbeiten
sudo netplan generate

Wenn keine Ausgabe erscheint, wurde die Syntax grundsätzlich akzeptiert. Bei YAML-Fehlern Einrückung und Doppelpunkte kontrollieren. YAML verwendet Leerzeichen, keine Tabulatoren.

5. Konfiguration sicher testen

Bearbeiten
sudo netplan try

Netplan aktiviert die neue Konfiguration vorübergehend und wartet auf eine Bestätigung. Bleibt die Verbindung bestehen und funktionieren die Tests, innerhalb der angezeigten Frist mit Enter bestätigen. Bei Verlust der Verbindung wird die Änderung normalerweise automatisch zurückgerollt.

Von einem zweiten Fenster aus testen:

ping -c 4 <Gateway-Adresse>
getent hosts download.docker.com

6. Dauerhaften Zustand kontrollieren

Bearbeiten
ip address show <Schnittstelle>
ip route
resolvectl status <Schnittstelle>

Erwartet werden:

  • die geplante IP-Adresse
  • eine Default-Route über den vorgesehenen Router
  • die eingetragenen DNS-Server

7. Neustarttest

Bearbeiten
sudo reboot

Danach über die neue Adresse anmelden und erneut prüfen:

ip address
ip route
getent hosts download.docker.com

Typische Fehler

Bearbeiten
SSH-Verbindung verloren
Ablauf von `netplan try` abwarten. Falls keine Rückkehr erfolgt, lokale Konsole verwenden und die Sicherung unter `/etc/netplan.backup-...` wiederherstellen.
`Permissions for ... are too open`
`sudo chmod 600 /etc/netplan/99-megbes-static.yaml` ausführen.
YAML-Fehler
ausschließlich Leerzeichen verwenden und Einrückung exakt prüfen.
IP funktioniert lokal, Internetnamen nicht
DNS-Einträge und `resolvectl status` prüfen.

Dokumentation

Bearbeiten

Auf der Projektseite festhalten:

  • Schnittstellenname
  • IP-Adresse und Präfix
  • Gateway und DNS-Server
  • Name der Netplan-Datei
  • Datum des Neustarttests