Ifup/ifdown: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
 +
= ifup / ifdown =
  
 
== Allgemeines ==
 
== Allgemeines ==
* ifup/ifdown ist ein klassisches Netzwerk-Management-Tool unter Debian-basierten Systemen
+
* Klassisches Netzwerk-Management unter Debian
* Konfiguration erfolgt zentral über /etc/network/interfaces
+
* Zentrale Konfiguration über /etc/network/interfaces
* Ziel: einfache, reproduzierbare und stabile Netzwerkkonfiguration
+
* Deterministisch und gut skriptbar
  
== Grundprinzip ==
+
== Prinzip ==
* Interfaces werden deklarativ beschrieben
+
* Interface definieren
* Aktivierung erfolgt über ifup <interface>
+
* Aktivieren mit ifup <interface>
* Deaktivierung erfolgt über ifdown <interface>
+
* Deaktivieren mit ifdown <interface>
  
 
== Datei: /etc/network/interfaces ==
 
== Datei: /etc/network/interfaces ==
Zeile 22: Zeile 23:
 
</pre>
 
</pre>
  
== Best Practice: Klare Trennung ==
+
== auto vs allow-hotplug ==
* pro Interface nur eine Aufgabe (kein Mischbetrieb DHCP + static)
+
* auto startet Interface beim Boot
* sprechende Interface-Namen verwenden (Predictable Names wie enp0s3)
+
* allow-hotplug reagiert auf Geräteereignisse
 
 
== Best Practice: auto vs allow-hotplug ==
 
* auto = Interface wird beim Boot aktiviert
 
* allow-hotplug = Aktivierung nur bei physischem Ereignis
 
  
 
<pre>
 
<pre>
 
auto enp0s3
 
auto enp0s3
 
</pre>
 
</pre>
 
oder
 
  
 
<pre>
 
<pre>
Zeile 40: Zeile 35:
 
</pre>
 
</pre>
  
== Best Practice: Statische Konfiguration ==
+
== Statische Konfiguration ==
* CIDR-Notation verwenden (address 192.168.1.10/24)
+
* CIDR verwenden
* Gateway nur einmal global setzen
+
* Gateway nur einmal setzen
 
* DNS explizit definieren
 
* DNS explizit definieren
  
== Best Practice: Includes nutzen ==
+
== Struktur ==
* große Konfigurationen auslagern
+
* Konfiguration auslagern über includes
  
 
<pre>
 
<pre>
Zeile 52: Zeile 47:
 
</pre>
 
</pre>
  
== Beispiel: Datei: /etc/network/interfaces.d/lan.cfg ==
+
== Datei: /etc/network/interfaces.d/lan.cfg ==
 
<pre>
 
<pre>
 
auto enp0s3
 
auto enp0s3
Zeile 60: Zeile 55:
 
</pre>
 
</pre>
  
== Best Practice: Kein Mischbetrieb mit NetworkManager ==
+
== Keine Mischsysteme ==
* entweder ifupdown ODER NetworkManager
+
* Kein gleichzeitiger Einsatz mit NetworkManager
* Konflikte vermeiden
 
  
== Status prüfen ==
+
== Status ==
 
* ip a
 
* ip a
 
* ip r
 
* ip r
  
== Interface neu laden ==
+
== Neu laden ==
 
* ifdown enp0s3 && ifup enp0s3
 
* ifdown enp0s3 && ifup enp0s3
  
== Fehler vermeiden ==
+
== Debug ==
* keine Tabs und Spaces mischen
 
* Einrückung konsistent halten
 
* immer nach Änderungen testen
 
 
 
== Debugging ==
 
 
* journalctl -xe
 
* journalctl -xe
* ip link show
 
 
* ifquery --list
 
* ifquery --list
 +
* ip link
  
 
== Fazit ==
 
== Fazit ==
* minimal halten
+
* einfach halten
* klar strukturieren
+
* sauber trennen
* reproduzierbar konfigurieren
+
* direkt testen

Version vom 29. März 2026, 09:02 Uhr

ifup / ifdown

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

Statische Konfiguration

  • CIDR verwenden
  • Gateway nur einmal setzen
  • DNS explizit definieren

Struktur

  • Konfiguration auslagern über includes
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

Keine Mischsysteme

  • Kein gleichzeitiger Einsatz mit NetworkManager

Status

  • ip a
  • ip r

Neu laden

  • ifdown enp0s3 && ifup enp0s3

Debug

  • journalctl -xe
  • ifquery --list
  • ip link

Fazit

  • einfach halten
  • sauber trennen
  • direkt testen