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
|
||||
|
||||
Bestehende Dateien bleiben unverändert. Stattdessen eine neue Konfigurationsdatei erstellen:
|
||||
## Angewandte Lösung
|
||||
|
||||
### 1. cloud-init für Netzwerk deaktiviert
|
||||
```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
|
||||
network:
|
||||
version: 2
|
||||
ethernets:
|
||||
ens18:
|
||||
eno1:
|
||||
dhcp4: no
|
||||
addresses:
|
||||
- 192.168.178.88/24
|
||||
- 192.168.178.57/24
|
||||
routes:
|
||||
- to: default
|
||||
via: 192.168.178.1
|
||||
@@ -29,59 +42,62 @@ network:
|
||||
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.
|
||||
|
||||
---
|
||||
|
||||
## 2. Konfiguration testen (empfohlen)
|
||||
|
||||
Vor dem endgültigen Anwenden zunächst testen:
|
||||
|
||||
### 4. Berechtigungen gesetzt und angewendet
|
||||
```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
|
||||
sudo netplan apply
|
||||
ip addr show eno1
|
||||
```
|
||||
Richtige IP: `192.168.178.57`
|
||||
Wenn `dynamic` in der Ausgabe steht → DHCP ist wieder aktiv.
|
||||
|
||||
---
|
||||
|
||||
## 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:
|
||||
|
||||
### Schritt 2 – Netplan-Dateien prüfen
|
||||
```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:**
|
||||
|
||||
```yaml
|
||||
network: {config: disabled}
|
||||
### Schritt 4 – DHCP-Datei wieder löschen
|
||||
```bash
|
||||
rm -f /etc/netplan/50-cloud-init.yaml
|
||||
```
|
||||
|
||||
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