Ifup/ifdown: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 110: | Zeile 110: | ||
* klar strukturieren | * klar strukturieren | ||
* Befehle gezielt nutzen | * Befehle gezielt nutzen | ||
| + | |||
| + | |||
| + | |||
| + | == Hooks (pre-up / post-up / pre-down / post-down) == | ||
| + | * Ermöglichen eigene Befehle vor/nach Interface-Events | ||
| + | * Werden direkt in der interfaces-Datei definiert | ||
| + | |||
| + | == Ablauf == | ||
| + | * pre-up → vor dem Hochfahren | ||
| + | * up → während das Interface aktiv wird | ||
| + | * post-up → nach erfolgreichem Start | ||
| + | * pre-down → vor dem Herunterfahren | ||
| + | * down → während des Stopps | ||
| + | * post-down → nach dem Stop | ||
| + | |||
| + | == Beispiel == | ||
| + | <pre> | ||
| + | auto enp0s3 | ||
| + | iface enp0s3 inet static | ||
| + | address 192.168.1.10/24 | ||
| + | gateway 192.168.1.1 | ||
| + | |||
| + | pre-up ip link set enp0s3 mtu 1400 | ||
| + | up ip addr add 192.168.1.20/24 dev enp0s3 | ||
| + | post-up ip route add 10.10.0.0/16 via 192.168.1.1 | ||
| + | |||
| + | pre-down echo "Interface wird beendet" | ||
| + | down ip addr del 192.168.1.20/24 dev enp0s3 | ||
| + | post-down echo "Interface ist down" | ||
| + | </pre> | ||
| + | |||
| + | == Verhalten == | ||
| + | * Befehle laufen synchron im Kontext von ifup/ifdown | ||
| + | * Fehler in pre-up verhindern das Starten | ||
| + | * post-up läuft nur bei Erfolg | ||
| + | |||
| + | == Typische Einsätze == | ||
| + | * Routen setzen/löschen | ||
| + | * Firewall-Regeln (nftables/iptables) | ||
| + | * MTU anpassen | ||
| + | * Zusatz-IP-Adressen | ||
| + | * Logging / Debug | ||
| + | |||
| + | == Hinweise == | ||
| + | * Befehle ohne interaktive Eingaben | ||
| + | * Absolute Pfade verwenden (z. B. /sbin/ip) | ||
| + | * Fehler sauber behandeln (|| true falls nötig) | ||
| + | |||
| + | == Debug == | ||
| + | * ifup -v enp0s3 | ||
| + | * journalctl -xe | ||
Aktuelle Version vom 29. März 2026, 09:10 Uhr
Allgemeines
- Klassisches Netzwerk-Management unter Debian
- Zentrale Konfiguration über /etc/network/interfaces
- Deterministisch und gut skriptbar
Prinzip
- Interface definieren
- Aktivieren mit ifup <interface>
- Deaktivieren mit ifdown <interface>
Datei: /etc/network/interfaces
auto lo
iface lo inet loopback
auto enp0s3
iface enp0s3 inet static
address 192.168.1.10/24
gateway 192.168.1.1
dns-nameservers 1.1.1.1 8.8.8.8
auto vs allow-hotplug
- auto startet Interface beim Boot
- allow-hotplug reagiert auf Geräteereignisse
auto enp0s3
allow-hotplug enp0s3
Struktur
- Konfiguration auslagern
source /etc/network/interfaces.d/*
Datei: /etc/network/interfaces.d/lan.cfg
auto enp0s3
iface enp0s3 inet static
address 10.0.0.10/24
gateway 10.0.0.1
Wichtige Befehle
- Aktiviert alle Interfaces, die mit auto definiert sind
- ifup -a
- Deaktiviert alle Interfaces aus der Konfiguration
- ifdown -a
- Aktiviert gezielt ein Interface
- ifup enp0s3
- Deaktiviert gezielt ein Interface
- ifdown enp0s3
- Aktiviert ein Interface mit detaillierter Ausgabe (Debug)
- ifup -v enp0s3
- Deaktiviert ein Interface mit detaillierter Ausgabe
- ifdown -v enp0s3
- Simulation, zeigt nur was passieren würde (kein Apply)
- ifup -n enp0s3
- Simulation für das Deaktivieren
- ifdown -n enp0s3
- Listet alle bekannten Interfaces aus der Konfiguration
- ifquery --list
- Zeigt Details zur Interface-Konfiguration
- ifquery enp0s3
Status
- ip a
- ip r
- ip link
Neu laden
- ifdown enp0s3 && ifup enp0s3
Debug
- Zeigt System-Logs für Netzwerkfehler und Dienste
- journalctl -xe
- Detaillierte Ausgabe beim Hochfahren eines Interfaces
- ifup -v enp0s3
- Prüft die Konfiguration ohne das Interface zu verändern
- ifquery enp0s3
Hinweise
- kein Mischbetrieb mit NetworkManager
- saubere Einrückung (Spaces, keine Tabs)
- Änderungen immer direkt testen
Fazit
- minimal halten
- klar strukturieren
- Befehle gezielt nutzen
Hooks (pre-up / post-up / pre-down / post-down)
- Ermöglichen eigene Befehle vor/nach Interface-Events
- Werden direkt in der interfaces-Datei definiert
Ablauf
- pre-up → vor dem Hochfahren
- up → während das Interface aktiv wird
- post-up → nach erfolgreichem Start
- pre-down → vor dem Herunterfahren
- down → während des Stopps
- post-down → nach dem Stop
Beispiel
auto enp0s3
iface enp0s3 inet static
address 192.168.1.10/24
gateway 192.168.1.1
pre-up ip link set enp0s3 mtu 1400
up ip addr add 192.168.1.20/24 dev enp0s3
post-up ip route add 10.10.0.0/16 via 192.168.1.1
pre-down echo "Interface wird beendet"
down ip addr del 192.168.1.20/24 dev enp0s3
post-down echo "Interface ist down"
Verhalten
- Befehle laufen synchron im Kontext von ifup/ifdown
- Fehler in pre-up verhindern das Starten
- post-up läuft nur bei Erfolg
Typische Einsätze
- Routen setzen/löschen
- Firewall-Regeln (nftables/iptables)
- MTU anpassen
- Zusatz-IP-Adressen
- Logging / Debug
Hinweise
- Befehle ohne interaktive Eingaben
- Absolute Pfade verwenden (z. B. /sbin/ip)
- Fehler sauber behandeln (|| true falls nötig)
Debug
- ifup -v enp0s3
- journalctl -xe