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

Linux-basierte Distributionen verfügen über eine Reihe von Befehlen, die es ermöglichen, das Netzwerk auf einfache und leistungsstarke Weise über die Befehlszeile zu konfigurieren. Diese Befehle sind im Paket net-tools verfügbar, das seit langem auf fast allen Distributionen verfügbar ist und Befehle wie: ifconfig, route, nameif, iwconfig, iptunnel, netstat, arp enthält.

Ifconfig Vs IP Command

Diese Befehle sind ausreichend, um das Netzwerk so zu konfigurieren, wie es ein Anfänger oder ein erfahrener Linux-Benutzer möchte, aber aufgrund der Weiterentwicklung des Linux-Kernels in den letzten Jahren und der Unmaintainability dieses gepackten Befehlssatzes werden sie veraltet und eine leistungsstärkere Alternative, die in der Lage ist, all diese Befehle zu ersetzen, tritt auf.

Diese Alternative existiert auch schon seit geraumer Zeit und ist viel leistungsstärker als einer dieser Befehle. Die folgenden Abschnitte werden diese Alternative hervorheben und mit einem Befehl aus dem net-tools-Paket vergleichen, nämlich ifconfig.

ip – Ein Ersatz für ifconfig

ifconfig ist seit langem verfügbar und wird immer noch von vielen verwendet, um Netzwerk-Schnittstellen zu konfigurieren, anzuzeigen und zu steuern, aber auf Linux-Distributionen existiert jetzt eine neue Alternative, die viel leistungsstärker ist. 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 angelegt als ifconfig. Er ist funktional auf zwei Ebenen des Netzwerkstapels organisiert, d.h. Schicht 2 (Link-Schicht), Schicht 3 (IP-Schicht) und übernimmt die Funktion 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, folgende Aufgaben auszuführen:

  1. Anzeigen oder Ändern von Schnittstelleneigenschaften.
  2. Hinzufügen, Entfernen von ARP-Cache-Einträgen sowie Erstellen eines neuen statischen ARP-Eintrags für einen Host.
  3. Anzeigen der MAC-Adressen, die mit allen Schnittstellen verbunden sind.
  4. Anzeigen und Ändern von Kernel-Routing-Tabellen.

Eines der Hauptmerkmale, 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 die Netlink-Socket-Mechanismus für dasselbe nutzt, was eine flexiblere Nachfolge von ioctl für die Interkommunikation zwischen Kernel und Benutzerraum unter Verwendung von rtnetlink ist (was die Fähigkeit 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 hebt einige ifconfig Befehle und deren Ersatz durch ip Befehle hervor:

1. Anzeige aller Netzwerkschnittstellen in Linux

Hier ist ein Unterscheidungsmerkmal zwischen ip und ifconfig, dass ifconfig nur aktivierte Schnittstellen anzeigt, während ip alle Schnittstellen anzeigt, ob aktiviert oder deaktiviert.

ifconfig-Befehl
$ ifconfig
ifconfig: Check IP Address
ip-Befehl
$ ip a
ip: Check IP Address

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

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

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

Syntax zum Hinzufügen/Löschen einer Schnittstelle mit dem ifconfig-Befehl:

# 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/Löschen 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. MAC-Hardwareadresse zur Netzwerkschnittstelle hinzufügen

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 von HWaddr in der Ausgabe des ifconfig-Befehls überprüft wird.

ifconfig – MAC-Adresse hinzufügen

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

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

Hier ist die Syntax zum Hinzufügen der MAC-Adresse mit dem ip-Befehl:

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

4. Einstellen anderer Konfigurationen der Netzwerkschnittstelle

Neben der Einstellung der IP-Adresse oder der Hardwareadresse können andere Konfigurationen, die auf eine Schnittstelle angewendet werden können, umfassen:

  1. MTU (Maximum Transfer Unit)
  2. Multicast-Flag
  3. Transmit-Warteschlangenlänge
  4. Promisker Mode
  5. Aktivieren oder Deaktivieren des Multicast-Modus
ifconfig – Andere Netzwerkkonfigurationen
ip – Andere Netzwerkkonfigurationen

a. Set MTU value to 2000.

 

# ifconfig eth0 mtu 2000
# ip link set dev eth0 mtu 2000

b. Enable or Disable multicast flag.

 

# ifconfig eth0 multicast
# ip link set dev eth0 multicast on

c. Setting the transmit queue length.

 

# ifconfig eth0 txqueuelen 1200
# ip link set dev eth0 txqueuelen 1200

d. Enabling or disabling promiscuous mode.

 

# ifconfig eth0 promisc
# ip link set dev eth0 promisc on

e. Enable or disable all multicast mode.

 

# ifconfig eth0 allmulti
# ip link set dev eth0 allmulti on

5. Aktivieren oder Deaktivieren der Netzwerkschnittstelle

Die folgenden Befehle aktivieren oder deaktivieren eine bestimmte Netzwerkschnittstelle.

ifconfig – Deaktivieren/Aktivieren der Netzwerkschnittstelle

Der folgende Befehl deaktiviert die Schnittstelle eth0 und wird durch die Ausgabe von ifconfig verifiziert, die standardmäßig nur diejenigen Schnittstellen anzeigt, die aktiviert sind.

# ifconfig eth0 down

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

# ifconfig eth0 up
ip – Deaktivieren/Aktivieren der Netzwerkschnittstelle

Der folgende ip Befehl ist eine Alternative zu ifconfig, um eine bestimmte Schnittstelle zu deaktivieren. Dies kann durch die Ausgabe des Befehls 'ip a' verifiziert werden, der standardmäßig alle Schnittstellen anzeigt, unabhängig davon, ob sie aktiviert oder deaktiviert sind, 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 des ARP-Protokolls

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

ifconfig – Aktivieren/Deaktivieren des ARP-Protokolls

Der Befehl aktiviert das ARP-Protokoll für die Schnittstelle eth0. Um diese Option zu deaktivieren, ersetzen Sie einfach arp durch -arp.

# ifconfig eth0 arp
ip – Aktivieren/Deaktivieren des ARP-Protokolls

Dieser Befehl ist die IP-Alternative, um ARP für die Schnittstelle eth0 zu aktivieren. Um dies zu deaktivieren, ersetzen Sie einfach on durch off.

# ip link set dev eth0 arp on

Schlussfolgerung

Somit haben wir die Funktionen des ifconfig-Befehls hervorgehoben und gezeigt, wie diese mit dem ip-Befehl erreicht werden können. Aktuell bieten Linux-Distributionen dem Benutzer beide Befehle an, damit er sich nach seiner Bequemlichkeit entscheiden kann. Welchen Befehl bevorzugen Sie also und warum? Teilen Sie dies in Ihren Kommentaren mit.

Wenn Sie mehr über diese beiden Befehle erfahren möchten, sollten Sie unsere früheren Artikel durchgehen, die praktische Beispiele für den ifconfig- und ip-Befehl in ausführlicherer Form zeigen.

Vergiss nicht: 15 „ifconfig“-Beispiele zur Konfiguration der Netzwerkschnittstelle in Linux

Vergiss nicht: 10 „ip“-Befehlsbeispiele zur Konfiguration der Netzwerkschnittstelle in Linux

Source:
https://www.tecmint.com/ifconfig-vs-ip-command-comparing-network-configuration/