GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Unterschied zwischen 'ifconfig'- und 'ip'-Befehlen

ifconfig ist von net-tools , das schon lange nicht mehr ganz mit dem Linux-Netzwerkstack mithalten kann. Es verwendet auch immer noch ioctl für die Netzwerkkonfiguration, was eine hässliche und weniger leistungsfähige Art ist, mit dem Kernel zu interagieren.

Viele Änderungen im Linux-Netzwerkcode und viele neue Funktionen sind nicht mit net-tools zugänglich :Multipath-Routing, Policy-Routing (siehe RPDB). route ermöglicht es Ihnen, dumme Dinge zu tun, wie das Hinzufügen mehrerer Routen zum selben Ziel mit derselben Metrik.

Zusätzlich:

  • ifconfig meldet für einige Geräte nicht die richtige Hardwareadresse.
  • Sie können ipip nicht konfigurieren , sit , gre , l2tp usw. Statische Tunnel im Kernel.
  • Sie können tun nicht erstellen oder tap Geräte.
  • Das Hinzufügen mehrerer Adressen zu einer bestimmten Schnittstelle hat auch eine schlechte Semantik.
  • Sie können das Linux-Verkehrssteuerungssystem auch nicht mit net-tools konfigurieren entweder.

Siehe auch ifconfig scheiße.

BEARBEITEN :Behauptung über net-tools entfernt Entwicklung aufhört, dass ich inzwischen vergessen habe, woher ich diesen Beitrag habe. net-tools ' wird seit iproute2 gearbeitet wurde veröffentlicht, obwohl es sich hauptsächlich um Fehlerbehebungen und kleinere Verbesserungen und Funktionen wie Internationalisierung handelt.


ifconfig ist ein traditioneller Befehl, um Informationen über Netzwerkschnittstellen anzuzeigen und einige Einstellungen zu ändern. Insbesondere kann es Schnittstellen auf und ab bringen. Es existiert auf den meisten Unix-Varianten.

Unter Linux der ifconfig Kommando hat sich schon lange nicht mehr weiterentwickelt. Es ist immer noch vollkommen in Ordnung für das, was es tut. Wenn Sie ifconfig verwenden für etwas gibt es keinen Grund aufzuhören.

Linux bietet auch den ip Befehl aus der iproute2-Toolsuite. Die ip command kombiniert mehrere klassische Befehle und mehr, einschließlich ifconfig , route und arp . ip kann viel mehr als ifconfig . Andererseits ip ist nicht immer vorhanden, besonders auf eingebetteten Systemen (und niemals auf anderen Unix-Varianten als Linux).

Parsen von ifconfig Die Ausgabe von ist irgendwie scheiße. Parsen von ip Die Ausgabe von ist irgendwie scheiße. Kein Gewinner dort.


Nur um der Antwort von pilona ein paar Bits hinzuzufügen. Um 2005 herum wurde ein neuer Mechanismus zur Steuerung des Netzwerkstapels eingeführt - Netlink-Sockets.

So konfigurieren Sie die Netzwerkschnittstelle iproute2 nutzt diesen Vollduplex-Netlink-Socket-Mechanismus, während ifconfig stützt sich auf einen ioctl Systemaufruf. Hier sind 2 Hauptdokumente über die Motivation hinter netlink und die Nutzung von rtnetlink.


Linux
  1. Lernen Sie den Unterschied zwischen den Befehlen „su“ und „su -“ in Linux kennen

  2. Was ist der Unterschied zwischen Suspend und Hibernate in Linux?

  3. Linux-Befehle:jobs, bg und fg

  4. Linux – Unterschied zwischen User Space und Kernel Space?

  5. Linux-Unterschied zwischen sudo crontab -e und nur crontab -e

Was ist der Unterschied zwischen Linux und Unix?

Linux – Unterschied zwischen Pts und Tty?

Unterschied zwischen absoluten und relativen Pfaden in Linux

unterschied zwischen netstat und ss unter linux?

Unterschied zwischen ${} und $() in Bash

Was ist der Unterschied zwischen „locate“ und „find“ in Linux?