Files
Linux-Static-IP-Script/README.md
T
2026-09-26 12:10:41 +00:00

152 lines
2.8 KiB
Markdown

# Linux Static IP Configurator
Ein kleines Bash-Script zum interaktiven Setzen einer statischen IPv4-Adresse unter Linux.
Unterstützt werden:
- NetworkManager (`nmcli`)
- Netplan
- Ubuntu Desktop
- Ubuntu Server
- viele aktuelle Debian-/Ubuntu-basierte Systeme mit NetworkManager oder Netplan
> Das Script verändert die Netzwerkkonfiguration des Systems. Bei einer SSH-Verbindung kann die Verbindung abbrechen, sobald die neue IP-Adresse aktiviert wird.
## Dateien
```text
set-static-ip.sh
README.md
```
## Installation
Repository klonen oder die Datei `set-static-ip.sh` herunterladen.
Danach das Script ausführbar machen:
```bash
chmod +x set-static-ip.sh
```
## Verwendung
Das Script benötigt Root-Rechte:
```bash
sudo ./set-static-ip.sh
```
Danach:
1. Netzwerkinterface auswählen, zum Beispiel `ens18`, `enp1s0` oder `eth0`
2. gewünschte IPv4-Adresse eingeben
3. CIDR-Präfix eingeben
4. Standard-Gateway eingeben
5. DNS-Server eingeben
6. Konfiguration bestätigen
Beispiel:
```text
IPv4-Adresse: 10.100.0.20
CIDR-Präfix: 24
Gateway: 10.100.0.1
DNS: 10.100.0.10 1.1.1.1
```
Das entspricht:
```text
10.100.0.20/24
```
## NetworkManager
Wenn `nmcli` vorhanden und NetworkManager aktiv ist, verwendet das Script die vorhandene Verbindung des ausgewählten Netzwerkinterfaces.
Falls keine passende Verbindung existiert, wird automatisch eine neue Verbindung angelegt.
Vor der Änderung wird nach Möglichkeit ein Backup unter folgendem Pfad erstellt:
```text
/root/network-backup-YYYYMMDD-HHMMSS/
```
## Netplan
Wenn Netplan verwendet wird, erstellt das Script:
```text
/etc/netplan/99-static-ip.yaml
```
Vorhandene Netplan-Dateien werden vorher gesichert:
```text
/root/netplan-backup-YYYYMMDD-HHMMSS/
```
Anschließend werden ausgeführt:
```bash
netplan generate
netplan apply
```
## Aktuelle IP prüfen
```bash
ip addr
```
oder nur IPv4:
```bash
ip -4 addr
```
Routing prüfen:
```bash
ip route
```
## Hinweis zu IP-Konflikten
Bevor eine statische IP vergeben wird, sollte geprüft werden, ob die Adresse bereits von einem anderen Gerät benutzt wird.
Beispiel:
```bash
ping 10.100.0.20
```
Zusätzlich kann die ARP-/Neighbor-Tabelle geprüft werden:
```bash
ip neigh
```
Am besten wird eine statische Adresse verwendet, die:
- außerhalb des DHCP-Pools liegt, oder
- im DHCP-Server ausdrücklich für dieses Gerät reserviert wurde.
Dadurch werden doppelte IP-Adressen im Netzwerk vermieden.
## Unterstützte Systeme
Das Script ist hauptsächlich für aktuelle Linux-Systeme gedacht, die eines dieser Netzwerk-Backends verwenden:
```text
NetworkManager
Netplan
```
Klassische Debian-Systeme, die ausschließlich `/etc/network/interfaces` verwenden, werden aktuell nicht automatisch konfiguriert.
## Lizenz
Du kannst das Script für eigene Projekte frei verwenden und anpassen.