Der Befehl ifconfig zeigt Informationen zu Netzwerkschnittstellen an und ermöglicht deren Konfiguration. Du kannst damit IP-Adressen zuweisen, Schnittstellen aktivieren oder deaktivieren und Netzwerkparameter wie MTU oder MAC-Adresse ändern.

Hinweis: Der Befehl ifconfig gilt als veraltet und wurde durch den moderneren ip-Befehl ersetzt. Auf neueren Distributionen ist ifconfig oft nicht vorinstalliert.

Installation von ifconfig

Falls ifconfig nicht installiert ist, erhältst du die Fehlermeldung ifconfig: command not found. Das Paket net-tools enthält den Befehl.

Ubuntu/Debian:

sudo apt install net-tools

CentOS/RHEL:

sudo dnf install net-tools

Syntax des ifconfig-Befehls

ifconfig [SCHNITTSTELLE] [ADRESSE] [OPTIONEN]
  • SCHNITTSTELLE - Name der Netzwerkschnittstelle (z.B. eth0, enp0s3)
  • ADRESSE - IP-Adresse, die zugewiesen werden soll
  • OPTIONEN - Flags wie up, down, netmask oder mtu

Änderungen mit ifconfig sind nicht persistent. Nach einem Neustart gehen alle Konfigurationen verloren. Für dauerhafte Änderungen musst du die Netzwerkkonfigurationsdateien deiner Distribution bearbeiten.

Wichtig: Nur root oder Benutzer mit sudo-Rechten können Netzwerkschnittstellen konfigurieren.

Netzwerkschnittstellen anzeigen

Ohne Argumente zeigt ifconfig alle aktiven Netzwerkschnittstellen:

ifconfig

Mit der Option -a werden auch inaktive Schnittstellen angezeigt:

ifconfig -a

Die Ausgabe enthält für jede Schnittstelle:

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::4ebb:58ff:fe9c:f555  prefixlen 64  scopeid 0x20<link>
        ether 4c:bb:58:9c:f5:55  txqueuelen 1000  (Ethernet)
        RX packets 84110  bytes 70667629 (70.6 MB)
        TX packets 59727  bytes 20886290 (20.8 MB)

Die wichtigsten Felder sind:

  • inet - IPv4-Adresse der Schnittstelle
  • netmask - Subnetzmaske
  • ether - MAC-Adresse (Hardware-Adresse)
  • mtu - Maximum Transmission Unit (maximale Paketgröße)
  • RX/TX packets - Empfangene und gesendete Pakete

Um nur eine bestimmte Schnittstelle anzuzeigen, gibst du deren Namen an:

ifconfig eth0

IP-Adresse und Netzmaske zuweisen

Eine IP-Adresse weist du mit folgendem Befehl zu:

sudo ifconfig eth0 192.168.1.50 netmask 255.255.255.0

Du kannst einer Schnittstelle auch eine zusätzliche IP-Adresse über einen Alias zuweisen:

sudo ifconfig eth0:0 192.168.1.51 netmask 255.255.255.0

Der Alias eth0:0 verhält sich wie eine virtuelle Schnittstelle, die physisch dieselbe Netzwerkkarte nutzt.

Schnittstelle aktivieren und deaktivieren

Um eine Netzwerkschnittstelle zu deaktivieren:

sudo ifconfig eth0 down

Um sie wieder zu aktivieren:

sudo ifconfig eth0 up

Das Deaktivieren und erneute Aktivieren setzt die Schnittstelle zurück, was bei Verbindungsproblemen helfen kann.

MTU ändern

Die MTU (Maximum Transmission Unit) legt die maximale Paketgröße in Bytes fest. Der Standardwert für Ethernet beträgt 1500 Bytes.

sudo ifconfig eth0 mtu 9000

Größere MTU-Werte (Jumbo Frames) können den Durchsatz in lokalen Netzwerken erhöhen, werden aber nicht von allen Netzwerkgeräten unterstützt.

MAC-Adresse ändern

Die MAC-Adresse identifiziert eine Netzwerkschnittstelle eindeutig auf Hardware-Ebene. Um sie zu ändern, deaktivierst du zuerst die Schnittstelle:

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 00:11:22:33:44:55
sudo ifconfig eth0 up

Das Ändern der MAC-Adresse kann für Netzwerktests oder zum Umgehen von MAC-Filtern nützlich sein.

Promiscuous-Modus aktivieren

Im Promiscuous-Modus empfängt eine Schnittstelle alle Pakete im Netzwerk, nicht nur die an sie adressierten. Das ist für Netzwerkanalyse und Debugging hilfreich.

Aktivieren:

sudo ifconfig eth0 promisc

Deaktivieren:

sudo ifconfig eth0 -promisc

Zusammenfassung

Der Befehl ifconfig zeigt Netzwerkinformationen an und konfiguriert Schnittstellen. Für neue Systeme empfiehlt sich der modernere ip-Befehl, der mehr Funktionen bietet. Die vollständige Dokumentation findest du in der Manpage mit man ifconfig.