Zum Inhalt springen

Feste IP-Adresse unter Ubuntu

Aus MegBes Wiki
Version vom 4. August 2026, 20:48 Uhr von Clawtronics (Diskussion | Beiträge) (Ausführliche DAU-sichere Arbeitsanleitung angelegt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

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