Ifup/ifdown
Version vom 29. März 2026, 09:10 Uhr von Thomas.will (Diskussion | Beiträge)
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