README.md aktualisiert
This commit is contained in:
118
README.md
118
README.md
@@ -1,27 +1,40 @@
|
|||||||
# Statische IP mit Netplan konfigurieren
|
# Home Server – IP ändert sich nach Neustart
|
||||||
|
|
||||||
Anleitung zur Einrichtung einer statischen IP-Adresse unter Ubuntu/Debian mit Netplan – ohne die bestehende `50-cloud-init.yaml` anzufassen.
|
## Was war das Problem?
|
||||||
|
|
||||||
|
Ubuntu 24.04 nutzt **Netplan** zur Netzwerkkonfiguration.
|
||||||
|
Es gab zwei widersprüchliche Netplan-Dateien:
|
||||||
|
|
||||||
|
| Datei | Inhalt | Problem |
|
||||||
|
|---|---|---|
|
||||||
|
| `01-static.yaml` | Feste IP für `ens18` | Falsches Interface (Interface heißt `eno1`) |
|
||||||
|
| `50-cloud-init.yaml` | DHCP für `eno1` | Überschrieb die statische Konfig |
|
||||||
|
|
||||||
|
`cloud-init` hat die DHCP-Datei bei jedem Boot neu erstellt → der Server bekam jedes Mal eine zufällige IP vom Router.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. Neue Netplan-Datei anlegen
|
## Angewandte Lösung
|
||||||
|
|
||||||
Bestehende Dateien bleiben unverändert. Stattdessen eine neue Konfigurationsdatei erstellen:
|
|
||||||
|
|
||||||
|
### 1. cloud-init für Netzwerk deaktiviert
|
||||||
```bash
|
```bash
|
||||||
sudo nano /etc/netplan/01-static.yaml
|
echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network.cfg
|
||||||
```
|
```
|
||||||
|
|
||||||
**Inhalt:**
|
### 2. DHCP-Datei gelöscht
|
||||||
|
```bash
|
||||||
|
rm /etc/netplan/50-cloud-init.yaml
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Statische Konfig korrigiert (`/etc/netplan/01-static.yaml`)
|
||||||
```yaml
|
```yaml
|
||||||
network:
|
network:
|
||||||
version: 2
|
version: 2
|
||||||
ethernets:
|
ethernets:
|
||||||
ens18:
|
eno1:
|
||||||
dhcp4: no
|
dhcp4: no
|
||||||
addresses:
|
addresses:
|
||||||
- 192.168.178.88/24
|
- 192.168.178.57/24
|
||||||
routes:
|
routes:
|
||||||
- to: default
|
- to: default
|
||||||
via: 192.168.178.1
|
via: 192.168.178.1
|
||||||
@@ -29,59 +42,62 @@ network:
|
|||||||
addresses: [192.168.178.1, 8.8.8.8]
|
addresses: [192.168.178.1, 8.8.8.8]
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Hinweis:** Netplan verarbeitet Konfigurationsdateien in alphabetischer Reihenfolge. Die `01-static.yaml` überschreibt dabei die DHCP-Einstellung aus der `50-cloud-init.yaml` effektiv.
|
### 4. Berechtigungen gesetzt und angewendet
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 2. Konfiguration testen (empfohlen)
|
|
||||||
|
|
||||||
Vor dem endgültigen Anwenden zunächst testen:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo netplan try
|
chmod 600 /etc/netplan/01-static.yaml
|
||||||
|
netplan apply
|
||||||
```
|
```
|
||||||
|
|
||||||
Der Befehl wendet die Konfiguration temporär an und macht sie nach 120 Sekunden automatisch rückgängig, falls keine Bestätigung erfolgt. So bleibt der Zugang auch bei einem Fehler erhalten.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 3. Konfiguration anwenden
|
## Wenn das Problem wieder auftritt
|
||||||
|
|
||||||
|
### Schritt 1 – Aktuelle IP und Interface prüfen
|
||||||
```bash
|
```bash
|
||||||
sudo netplan apply
|
ip addr show eno1
|
||||||
```
|
```
|
||||||
|
Richtige IP: `192.168.178.57`
|
||||||
|
Wenn `dynamic` in der Ausgabe steht → DHCP ist wieder aktiv.
|
||||||
|
|
||||||
---
|
### Schritt 2 – Netplan-Dateien prüfen
|
||||||
|
|
||||||
## 4. SSH-Verbindung nach dem Apply
|
|
||||||
|
|
||||||
> ⚠️ **Wichtig bei Remote-Zugriff via SSH!**
|
|
||||||
>
|
|
||||||
> Nach dem Apply ist die alte IP nicht mehr erreichbar.
|
|
||||||
>
|
|
||||||
> | Vorher | Nachher |
|
|
||||||
> |--------|---------|
|
|
||||||
> | `192.168.178.123` | `192.168.178.88` |
|
|
||||||
>
|
|
||||||
> Neue Verbindung aufbauen mit:
|
|
||||||
> ```bash
|
|
||||||
> ssh user@192.168.178.88
|
|
||||||
> ```
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Option: cloud-init dauerhaft deaktivieren
|
|
||||||
|
|
||||||
Für Homeserver (kein Cloud/VPS-Umfeld) empfiehlt es sich, cloud-init's Netzwerkverwaltung vollständig abzuschalten:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo nano /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg
|
cat /etc/netplan/*.yaml
|
||||||
|
```
|
||||||
|
Es darf **nur eine Datei** existieren (`01-static.yaml`) mit `dhcp4: no`.
|
||||||
|
Wenn `50-cloud-init.yaml` wieder da ist → cloud-init hat sie neu erstellt.
|
||||||
|
|
||||||
|
### Schritt 3 – cloud-init-Sperre prüfen
|
||||||
|
```bash
|
||||||
|
cat /etc/cloud/cloud.cfg.d/99-disable-network.cfg
|
||||||
|
```
|
||||||
|
Ausgabe muss sein: `network: {config: disabled}`
|
||||||
|
Wenn die Datei fehlt → neu anlegen:
|
||||||
|
```bash
|
||||||
|
echo "network: {config: disabled}" > /etc/cloud/cloud.cfg.d/99-disable-network.cfg
|
||||||
```
|
```
|
||||||
|
|
||||||
**Inhalt:**
|
### Schritt 4 – DHCP-Datei wieder löschen
|
||||||
|
```bash
|
||||||
```yaml
|
rm -f /etc/netplan/50-cloud-init.yaml
|
||||||
network: {config: disabled}
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Danach verwaltet cloud-init das Netzwerk nicht mehr und die eigene Netplan-Datei ist alleinige Quelle der Wahrheit.
|
### Schritt 5 – Statische Konfig prüfen und anwenden
|
||||||
|
```bash
|
||||||
|
cat /etc/netplan/01-static.yaml # Inhalt kontrollieren
|
||||||
|
chmod 600 /etc/netplan/01-static.yaml
|
||||||
|
netplan apply
|
||||||
|
ip addr show eno1 # Prüfen: kein "dynamic", valid_lft forever
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Server-Infos
|
||||||
|
|
||||||
|
| Eigenschaft | Wert |
|
||||||
|
|---|---|
|
||||||
|
| Betriebssystem | Ubuntu 24.04.4 LTS |
|
||||||
|
| Hostname | minecraft |
|
||||||
|
| Netzwerkkarte | `eno1` (MAC: `ac:e2:d3:05:b8:46`) |
|
||||||
|
| Feste IP | `192.168.178.57` |
|
||||||
|
| Gateway / DNS | `192.168.178.1` (Fritzbox) |
|
||||||
|
| Netplan-Konfig | `/etc/netplan/01-static.yaml` |
|
||||||
Reference in New Issue
Block a user