cryeffect.net

ip vs ifconfig – Moderne Netzwerkkonfiguration in Linux

Übersicht: ip vs ifconfig

Was ist der ip-Befehl?

Der ip-Befehl ist Teil des iproute2-Pakets und das moderne Standardwerkzeug zur Netzwerkkonfiguration in Linux. Er bietet umfassende Funktionen zur Verwaltung von Netzwerkschnittstellen, IP-Adressen, Routing-Tabellen und erweiterten Netzwerkfeatures.

Was ist ifconfig?

ifconfig ist das traditionelle Tool zur Netzwerkkonfiguration aus dem net-tools-Paket. Es war jahrelang der Standard für die Verwaltung von Netzwerkschnittstellen, wird aber heute als veraltet betrachtet.

Warum ist das wichtig?

  • Modernität: ifconfig ist veraltet und wird nicht mehr weiterentwickelt
  • Funktionsumfang: ip bietet deutlich mehr Netzwerkfunktionen als ifconfig
  • Standardisierung: Moderne Linux-Distributionen setzen auf iproute2
  • Zukunftssicherheit: Neue Netzwerkfeatures werden nur in ip implementiert
  • Konsistenz: Einheitliche Syntax für alle Netzwerkaufgaben

Installation und Verfügbarkeit

iproute2 (ip-Befehl):

1
2
3
4
5
6
7
8
# Ubuntu/Debian (meist vorinstalliert)
sudo apt install iproute2

# Fedora/RHEL (meist vorinstalliert)
sudo dnf install iproute

# Arch Linux (meist vorinstalliert)
sudo pacman -S iproute2

net-tools (ifconfig):

1
2
3
4
5
6
7
8
# Ubuntu/Debian
sudo apt install net-tools

# Fedora/RHEL
sudo dnf install net-tools

# Arch Linux
sudo pacman -S net-tools

Wie verwendet man den ip-Befehl?

Netzwerkschnittstellen anzeigen:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Alle Interfaces anzeigen (auch inaktive)
ip addr show

# Kurze Form
ip a

# Nur aktive Interfaces
ip addr show up

# Spezifisches Interface
ip addr show eth0

# Nur IPv4-Adressen
ip -4 addr show

# Nur IPv6-Adressen
ip -6 addr show

Netzwerkschnittstellen verwalten:

1
2
3
4
5
6
7
8
# Interface aktivieren
ip link set eth0 up

# Interface deaktivieren
ip link set eth0 down

# Interface-Details anzeigen
ip link show eth0

IP-Adressen verwalten:

1
2
3
4
5
6
7
8
# IP-Adresse hinzufügen
ip addr add 192.168.1.100/24 dev eth0

# IP-Adresse entfernen
ip addr del 192.168.1.100/24 dev eth0

# Alle IP-Adressen eines Interface anzeigen
ip addr show eth0

Routing verwalten:

1
2
3
4
5
6
7
8
# Routing-Tabelle anzeigen
ip route show

# Standard-Gateway setzen
ip route add default via 192.168.1.1

# Route hinzufügen
ip route add 10.0.0.0/8 via 192.168.1.1

Vergleich: ip vs ifconfig

Aufgabeifconfigip
Alle Interfaces anzeigenifconfig -aip addr show
Aktive Interfaces anzeigenifconfigip addr show up
Interface aktivierenifconfig eth0 upip link set eth0 up
IP-Adresse setzenifconfig eth0 192.168.1.100 netmask 255.255.255.0ip addr add 192.168.1.100/24 dev eth0
Routing anzeigenroute -nip route show
ARP-Tabelle anzeigenarp -aip neigh show
MAC-Adresse ändernifconfig eth0 hw ether 00:11:22:33:44:55ip link set eth0 address 00:11:22:33:44:55

Wichtige Unterschiede zwischen ip und ifconfig

Anzeige-Verhalten:

  • ifconfig ohne Parameter: Zeigt nur aktive (UP) Interfaces
  • ifconfig -a: Zeigt alle Interfaces (aktive und inaktive)
  • ip addr show: Zeigt standardmäßig alle Interfaces

Syntax-Unterschiede:

  • ifconfig: Verwendet dezimale Netmask-Notation (255.255.255.0)
  • ip: Verwendet CIDR-Notation (/24)
  • ifconfig: Ältere, inkonsistente Befehlsstruktur
  • ip: Moderne, einheitliche Syntax mit Objekten (addr, link, route)

Funktionsumfang:

  • ifconfig: Grundlegende Interface-Konfiguration
  • ip: Umfassende Netzwerk-Features (VLANs, Namespaces, erweiterte Routing-Optionen)

Migration von ifconfig zu ip

Häufige ifconfig-Befehle und ihre ip-Äquivalente:

Interface-Status:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ifconfig (zeigt nur aktive Interfaces)
ifconfig

# ifconfig (alle Interfaces)
ifconfig -a

# ifconfig (spezifisches Interface)
ifconfig eth0

# ip (alle Interfaces, auch inaktive)
ip addr show

# ip (nur aktive Interfaces)
ip addr show up

IP-Adresse ändern:

1
2
3
4
5
6
7
8
9
# ifconfig (temporär, bis zum Neustart)
sudo ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up

# ip (temporär, bis zum Neustart)
sudo ip addr add 192.168.1.100/24 dev eth0
sudo ip link set eth0 up

# Wichtig: Für permanente Änderungen /etc/network/interfaces
# oder NetworkManager/systemd-networkd verwenden

Interface deaktivieren:

1
2
3
4
5
# ifconfig
sudo ifconfig eth0 down

# ip
sudo ip link set eth0 down

ARP-Tabelle anzeigen:

1
2
3
4
5
# ifconfig/net-tools
arp -a

# ip
ip neigh show

Routing-Tabelle:

1
2
3
4
5
# ifconfig/net-tools
route -n

# ip
ip route show

Tipps

  • Moderne Systeme: Nutze ip für alle neuen Skripte und Automatisierungen
  • Aliase erstellen: alias ipa='ip addr show', alias ipr='ip route show'
  • Kurze Formen: ip a statt ip addr show, ip r statt ip route show
  • Legacy-Kompatibilität: Bei älteren Systemen kann ifconfig noch nützlich sein
  • Wichtiger Hinweis: ifconfig zeigt standardmäßig nur aktive Interfaces, ip addr show alle
  • Persistenz beachten: Beide Tools ändern Einstellungen nur temporär - für dauerhafte Änderungen Netzwerk-Konfigurationsdateien verwenden
  • Dokumentation: Dokumentiere Netzwerkänderungen, besonders bei Produktionssystemen
  • Vorsicht bei Remote-Systemen: Teste Netzwerkänderungen vorsichtig bei SSH-Verbindungen

Fazit

Der ip-Befehl ist das moderne und zukunftssichere Tool für die Netzwerkkonfiguration in Linux. Er bietet mehr Funktionen, eine konsistentere Syntax und bessere Unterstützung für aktuelle Netzwerkstandards als das veraltete ifconfig. Für alle Linux-Administratoren und -Nutzer ist es empfehlenswert, auf ip umzusteigen und ifconfig nur noch für Legacy-Systeme zu verwenden.