Website-Suche

ifconfig vs. ip: Was ist der Unterschied und Vergleich der Netzwerkkonfiguration?


Linux-basierte Distributionen verfügen über eine Reihe von Befehlen, die eine einfache und leistungsstarke Konfiguration des Netzwerks über die Befehlszeile ermöglichen. Diese Befehlssätze sind im Paket net-tools verfügbar, das schon seit langem auf fast allen Distributionen vorhanden ist und Befehle wie ifconfig, route< enthält, nameif, iwconfig, iptunnel, netstat, arp.

Diese Befehle reichen gerade noch aus, um das Netzwerk so zu konfigurieren, wie es sich jeder Anfänger oder erfahrene Linux-Benutzer wünscht. Aufgrund der Weiterentwicklung des Linux-Kernels in den letzten Jahren und der Tatsache, dass dieser Befehlssatz nicht mehr gewartet werden kann, werden sie veraltet und leistungsfähiger Es entsteht eine Alternative, die alle diese Befehle ersetzen kann.

Diese Alternative gibt es auch schon seit geraumer Zeit und sie ist viel leistungsfähiger als alle diese Befehle. In den restlichen Abschnitten wird diese Alternative hervorgehoben und mit einem der Befehle aus dem Net-Tools-Paket verglichen, d. h. ifconfig.

ip – Ein Ersatz für ifconfig

ifconfig gibt es schon seit langem und wird immer noch von vielen zum Konfigurieren, Anzeigen und Steuern von Netzwerkschnittstellen verwendet, aber jetzt gibt es auf Linux-Distributionen eine neue Alternative, die viel leistungsfähiger ist als diese. Diese Alternative ist der Befehl ip aus dem Paket iproute2util.

Obwohl dieser Befehl auf den ersten Blick etwas komplex erscheinen mag, ist er in seiner Funktionalität viel umfassender als ifconfig. Es ist funktional auf zwei Ebenen des Netzwerkstapels organisiert, nämlich Schicht 2 (Verbindungsschicht), Schicht 3 (IP-Schicht). >) und erledigt die Arbeit aller oben genannten Befehle aus dem Net-Tools-Paket.

Während ifconfig hauptsächlich die Schnittstellen eines Systems anzeigt oder ändert, kann dieser Befehl folgende Aufgaben ausführen:

  1. Schnittstelleneigenschaften anzeigen oder ändern.
  2. Hinzufügen und Entfernen von ARP-Cache-Einträgen beim Erstellen eines neuen statischen ARP-Eintrags für einen Host.
  3. Anzeige der allen Schnittstellen zugeordneten MAC-Adressen.
  4. Anzeigen und Ändern von Kernel-Routing-Tabellen.

Einer der Hauptvorteile, der es von seinem alten Gegenstück ifconfig unterscheidet, ist, dass letzteres ioctl für die Netzwerkkonfiguration verwendet, was eine weniger geschätzte Art der Interaktion mit dem Kernel ist, während ersteres davon profitiert des Netlink-Socket-Mechanismus dafür, der ein viel flexiblerer Nachfolger von ioctl für die Kommunikation zwischen Kernel und Benutzerraum unter Verwendung von rtnetlink ist (was die Möglichkeit zur Manipulation der Netzwerkumgebung hinzufügt).

Wir können nun beginnen, die Funktionen von ifconfig hervorzuheben und wie sie effektiv durch den Befehl ip ersetzt werden.

ip vs. ifconfig-Befehle

Der folgende Abschnitt beleuchtet einige der ifconfig-Befehle und deren Ersetzung durch ip-Befehle:

1. Anzeige aller Netzwerkschnittstellen unter Linux

Hier besteht ein Unterscheidungsmerkmal zwischen ip und ifconfig darin, dass ifconfig nur aktivierte Schnittstellen anzeigt, während ip alle Schnittstellen anzeigt, unabhängig davon, ob sie aktiviert oder deaktiviert sind.

ifconfig-Befehl
ifconfig

ip-Befehl
ip a

2. Hinzufügen oder Löschen einer IP-Adresse unter Linux

Der folgende Befehl weist der Schnittstelle eth0 die IP-Adresse 192.168.80.174 zu.

ifconfig – IP-Adresse hinzufügen/löschen
ifconfig eth0 add 192.168.80.174

Syntax zum Hinzufügen/Entfernen einer Schnittstelle mit dem Befehl ifconfig:

ifconfig eth0 add 192.168.80.174
ifconfig eth0 del 192.168.80.174
ip – IP-Adresse hinzufügen/löschen
ip a add 192.168.80.174 dev eth0

Syntax zum Hinzufügen/Entfernen einer Schnittstelle mit dem IP-Befehl:

ip a add 192.168.80.174 dev eth0
ip a del 192.168.80.174 dev eth0

4. Fügen Sie der Netzwerkschnittstelle die MAC-Hardwareadresse hinzu

Der folgende Befehl setzt die Hardwareadresse für die Schnittstelle eth0 auf den im Befehl angegebenen Wert. Dies kann überprüft werden, indem der Wert HWaddr in der Ausgabe des Befehls ifconfig überprüft wird.

ifconfig – MAC-Adresse hinzufügen

Hier die Syntax zum Hinzufügen einer MAC-Adresse mit dem Befehl ifconfig:

ifconfig eth0 hw ether 00:0c:29:33:4e:aa
ip – MAC-Adresse hinzufügen

Hier die Syntax zum Hinzufügen einer MAC-Adresse mit dem IP-Befehl:

ip link set dev eth0 address 00:0c:29:33:4e:aa

4. Festlegen anderer Konfigurationen der Netzwerkschnittstelle

Neben der Einstellung der IP-Adresse oder Hardware-Adresse können auch andere Konfigurationen auf eine Schnittstelle angewendet werden:

  1. MTU (Maximale Übertragungseinheit)
  2. Multicast-Flag
  3. Länge der Übertragungswarteschlange
  4. Promiscuous-Modus
  5. Aktivieren oder deaktivieren Sie den All-Multicast-Modus
ifconfig – Andere Netzwerkkonfigurationen
ip – Andere Netzwerkkonfigurationen

A. Setzen Sie den MTU-Wert auf 2000.

ifconfig eth0 mtu 2000
ip link set dev eth0 mtu 2000

B. Multicast-Flag aktivieren oder deaktivieren.

ifconfig eth0 multicast
ip link set dev eth0 multicast on

C. Festlegen der Länge der Übertragungswarteschlange.

ifconfig eth0 txqueuelen 1200
ip link set dev eth0 txqueuelen 1200

D. Promiscuous-Modus aktivieren oder deaktivieren.

ifconfig eth0 promisc
ip link set dev eth0 promisc on

e. Aktivieren oder deaktivieren Sie den All-Multicast-Modus.

ifconfig eth0 allmulti
ip link set dev eth0 allmulti on

5. Netzwerkschnittstelle aktivieren oder deaktivieren

Die folgenden Befehle aktivieren oder deaktivieren bestimmte Netzwerkschnittstellen.

ifconfig – Netzwerkschnittstelle deaktivieren/aktivieren

Der folgende Befehl deaktiviert die Schnittstelle eth0 und wird durch die Ausgabe von ifconfig überprüft, das standardmäßig nur die aktiven Schnittstellen anzeigt.

ifconfig eth0 down

Um die Schnittstelle wieder zu aktivieren, ersetzen Sie einfach down durch up.

ifconfig eth0 up
ip – Netzwerkschnittstelle deaktivieren/aktivieren

Der folgende ip-Befehl ist eine Alternative für ifconfig, um eine bestimmte Schnittstelle zu deaktivieren. Dies kann durch die Ausgabe des Befehls 'ip a' überprüft werden, der standardmäßig alle Schnittstellen anzeigt, entweder aktiv oder deaktiviert, aber ihren Status zusammen mit der Beschreibung hervorhebt.

ip link set eth0 down

Um die Schnittstelle wieder zu aktivieren, ersetzen Sie einfach down durch up.

ip link set eth0 up

6. Aktivieren oder deaktivieren Sie die Verwendung des ARP-Protokolls

Die folgenden Befehle aktivieren oder deaktivieren das ARP-Protokoll auf einer bestimmten Netzwerkschnittstelle.

ifconfig – ARP-Protokoll aktivieren/deaktivieren

Der Befehl ermöglicht die Verwendung des ARP-Protokolls mit der Schnittstelle eth0. Um diese Option zu deaktivieren, ersetzen Sie einfach arp durch -arp.

ifconfig eth0 arp
ip – ARP-Protokoll aktivieren/deaktivieren

Dieser Befehl ist die IP-Alternative zum Aktivieren von ARP für die Schnittstelle eth0. Zum Deaktivieren ersetzen Sie einfach on durch off.

ip link set dev eth0 arp on

Abschluss

Daher haben wir die Funktionen des Befehls ifconfig hervorgehoben und erklärt, wie sie mit dem Befehl ip ausgeführt werden können. Derzeit stellen Linux-Distributionen einem Benutzer beide Befehle zur Verfügung, damit er sie nach Belieben verwenden kann. Welchen Befehl würden Sie am liebsten verwenden? Erwähnen Sie dies in Ihren Kommentaren.

Wenn Sie mehr über diese beiden Befehle erfahren möchten, sollten Sie sich unsere vorherigen Artikel durchlesen, in denen einige praktische Beispiele für ifconfig und den Befehl ip ausführlicher gezeigt werden.

Nicht verpassen: 15 „ifconfig“-Beispiele zur Konfiguration der Netzwerkschnittstelle unter Linux

Nicht verpassen: 10 „ip“-Befehlsbeispiele zum Konfigurieren der Netzwerkschnittstelle unter Linux