Ifup/ifdown: Unterschied zwischen den Versionen

Aus Xinux Wiki
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