ifconfig vs ip: Was ist der Unterschied und der Vergleich der Netzwerkkonfiguration?
Linux-basierte Distributionen verfügen über eine Reihe von Befehlen, mit denen das Netzwerk auf einfache und leistungsstarke Weise über die Befehlszeile konfiguriert werden kann. Diese Befehle sind aus dem net-tools-Paket verfügbar, das schon seit langer Zeit auf fast allen Distributionen vorhanden ist und Befehle wie ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp enthält.
Diese Befehle sind gerade ausreichend, um das Netzwerk so zu konfigurieren, wie es sich jeder Anfänger oder ein erfahrener Linux-Benutzer wünschen würde, aber aufgrund der Fortschritte im Linux-Kernel in den letzten Jahren und der Unwartbarkeit dieses Paketsatzes von Befehlen werden sie veraltet und eine leistungsfähigere Alternative entsteht, die in der Lage ist, alle diese Befehle zu ersetzen.
Auch diese Alternative gibt es schon seit geraumer Zeit und ist viel leistungsfähiger als jeder dieser Befehle. Der Rest der Abschnitte würde diese Alternative hervorheben und sie mit einem der Befehle aus dem net-tools-Paket, d.h. ifconfig, vergleichen.
ip – Ein Ersatz für ifconfig
ifconfig gibt es schon seit langer Zeit und wird immer noch von vielen verwendet, um Netzwerkschnittstellen zu konfigurieren, anzuzeigen und zu steuern, aber es gibt jetzt eine neue Alternative auf Linux-Distributionen, 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 breiter als ifconfig. Es ist funktional auf zwei Schichten des Netzwerkstapels organisiert, d.h. Schicht 2 (Link Layer), Schicht 3 (IP Layer) 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, ist dieser Befehl in der Lage, die folgenden Aufgaben auszuführen:
- Anzeigen oder Ändern von Schnittstelleneigenschaften.
- Hinzufügen, Entfernen von ARP-Cache-Einträgen und Erstellen eines neuen statischen ARP-Eintrags für einen Host.
- Anzeige von MAC-Adressen, die allen Schnittstellen zugeordnet sind.
- Anzeigen und Ändern von Kernel-Routing-Tabellen.
Eines der Haupthighlights, das 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 den Netlink-Socket-Mechanismus für dasselbe nutzt, das ein viel flexiblerer Nachfolger von ioctl für die Kommunikation zwischen Kernel und Benutzerbereich unter Verwendung von rtnetlink ist (was die Möglichkeit zur Manipulation von Netzwerkumgebungen hinzufügt).
Wir können nun damit beginnen, die Funktionen von ifconfig hervorzuheben und wie sie effektiv durch den Befehl ip ersetzt werden.
ip vs ifconfig-Befehle
Im folgenden Abschnitt werden einige der ifconfig-Befehle und deren Ersetzung durch ip-Befehle hervorgehoben:
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/entf lassen
# 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/entf
# ip a add 192.168.80.174 dev eth0
Syntax zum Hinzufügen/Entfernen einer Schnittstelle mit dem Befehl ip:
# 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 HWaddr-Wert in der Ausgabe des Befehls ifconfig überprüft wird.
ifconfig – MAC-Adresse hinzufügen
Hier die Syntax zum Hinzufügen der 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 der MAC-Adresse mit dem Befehl ip:
# ip link set dev eth0 address 00:0c:29:33:4e:aa
4. Festlegen anderer Konfigurationen der Netzwerkschnittstelle
Neben dem Festlegen der IP-Adresse oder der Hardwareadresse können folgende Konfigurationen auf eine Schnittstelle angewendet werden:
- MTU (Maximale Übertragungseinheit)
- Multicast-Flag
- Länge der Übertragungswarteschlange
- Promiskuitiver Modus
- Aktivieren oder Deaktivieren des gesamten Multicast-Modus
ifconfig – Andere Netzwerkkonfigurationen
ip – Andere Netzwerkkonfigurationen
ein. Legen Sie den MTU-Wert auf 2000 fest.
# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000
b. Aktivieren oder Deaktivieren des Multicast-Flags.
# 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. Aktivieren oder Deaktivieren des Promiscuous-Modus.
# ifconfig eth0 promisc
# ip link set dev eth0 promisc on
e. Aktivieren oder deaktivieren Sie den gesamten Multicast-Modus.
# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on
5. Aktivieren oder Deaktivieren der Netzwerkschnittstelle
Mit den folgenden Befehlen wird eine bestimmte Netzwerkschnittstelle aktiviert oder deaktiviert.
ifconfig – Netzwerkschnittstelle deaktivieren/aktivieren
Der folgende Befehl deaktiviert die Schnittstelle eth0 und wird durch die Ausgabe von ifconfig überprüft, die standardmäßig nur die Schnittstellen anzeigt, die aktiv sind.
# 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 nach oben oder nach unten, 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
Mit den folgenden Befehlen wird das ARP-Protokoll auf einer bestimmten Netzwerkschnittstelle aktiviert oder deaktiviert.
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, um ARP für die Schnittstelle eth0 zu aktivieren. Zum Deaktivieren ersetzen Sie einfach on durch off.
# ip link set dev eth0 arp on
Schlussfolgerung
Daher haben wir die Funktionen des Befehls ifconfig hervorgehoben und wie sie mit dem Befehl ip ausgeführt werden können. Derzeit stellen Linux-Distributionen einem Benutzer beide Befehle zur Verfügung, die er nach Belieben verwenden kann. Also, welcher Befehl ist Ihrer Meinung nach bequem, den Sie bevorzugen würden? Erwähnen Sie dies in Ihren Kommentaren.
Wenn Sie mehr über diese beiden Befehle erfahren möchten, sollten Sie unsere vorherigen Artikel durchgehen, die einige praktische Beispiele für die Befehle ifconfig und ip detaillierter zeigen.
Nicht verpassen: 15 "ifconfig" Beispiele zum Konfigurieren der Netzwerkschnittstelle unter Linux
Nicht verpassen: 10 "ip " Befehlsbeispiele zur Konfiguration der Netzwerkschnittstelle unter Linux


