Linux bietet einige der besten Netzwerkdienstprogramme für Endbenutzer. Die ifconfig-Befehle waren lange Zeit die erste Wahl für den Umgang mit Netzwerkparametern unter Linux. Allerdings ist ifconfig seit einiger Zeit veraltet, und die Unix-Community übernimmt den Linux-IP-Befehl als Ersatz für dieses leistungsstarke Tool. Mit dem ip-Befehl können Benutzer und Netzwerkadministratoren ihre IP-Adressen, Routing-Richtlinien und Netzwerkschnittstellen sehr einfach konfigurieren. Es ist ein würdiges Upgrade gegenüber ifconfig in Bezug auf Leistung und Funktionen. Wenn Sie also immer noch ifconfig verwenden, ist es höchste Zeit, das Dienstprogramm ip auszuprobieren.
Linux-IP-Befehle für die Netzwerkverwaltung
Das Dienstprogramm ip bietet mehrere zusätzliche Funktionalitäten gegenüber ifconfig. Normalerweise werden Sie ifconfig verwenden, um Netzwerkschnittstellen und IP-Adressen zu manipulieren. Aber mit dem ip-Befehl können wir sogar die Routing-Tabellen sowie die ARP-Tabellen manipulieren. Sie werden lernen, wie Sie diese praktischen Befehle verwenden, sobald Sie unsere Beispiele verstanden haben.
Grundlegende Verwendung von Linux-IP-Befehlen
ip [ OPTIONS ] OBJECT { COMMAND | help }
Der ip-Befehl in Linux hat die obige Form. Hier, OBJEKT kann mehrere Dinge sein, einschließlich Netzwerkschnittstellen, IP-Adressen, Routing-Regeln, Tunnel und ARP-Tabellen. Jedes Objekt kann entweder in Langform oder in abgekürzter Form wie a oder address angegeben werden.
1. Überprüfen Sie die IP-Adressen und Eigenschaften aller Netzwerkschnittstellen
Mit dem folgenden Befehl können Sie sich die IP-Adresse sowie deren Eigenschaften für alle verfügbaren Schnittstellen in Ihrem System anzeigen lassen. Die Ausgabe dieses Befehls ist der von ifconfig sehr ähnlich.
$ sudo ip addr show
Sie können auch die Kurzform a verwenden für adr . Sie sind gleichwertig und zeigen dieselben Informationen an.
$ sudo ip a show- -
Das Ergebnis sollte die Namen aller Netzwerkschnittstellen und ihre jeweiligen IP-Adressen enthalten. Die IP-Informationen werden durch den Begriff inet gekennzeichnet .
2. IP-Adressen und Eigenschaften für bestimmte Geräte prüfen
Es ist auch sehr einfach, IP-Informationen für ein ausgewähltes Gerät anzuzeigen. Verwenden Sie einfach die dev-Option, gefolgt vom Namen der Schnittstelle als Argument.
$ sudo ip a show dev wlp2s0 $ sudo ip addr show dev wlp2s0
Hier ist wlp2s0 die drahtlose Schnittstelle. Ersetzen Sie dies durch den Namen der Schnittstelle, die Sie überprüfen möchten. Beispielsweise werden Ethernet-Schnittstellen oft über eth0 dargestellt. Diese können jedoch leicht von System zu System unterschiedlich sein, stellen Sie also sicher, dass Sie einen Namen angeben, der auf Ihrem Host vorhanden ist.
3. Nur IPv4-Adressen anzeigen
Die obigen Befehle zeigen neben den IP-Adressen viele nützliche Informationen. Wenn Sie jedoch nur an der IP-Adresse selbst interessiert sind, können Sie diese zusätzlichen Informationen weglassen. Sehen Sie sich den folgenden Befehl an, um zu sehen, wie das funktioniert.
$ sudo ip -4 addr $ sudo ip -4 addr show
Diese Befehle sind gleichwertig, aber sie listen die Schnittstellen auf, die eine aktive IPv4-Adresse haben. Sie bieten jedoch noch viele zusätzliche Informationen. Sie können den Linux-Befehl grep verwenden, um diese Ausgabe zu filtern und nur die IPv4-Adressen anzuzeigen.
$ sudo ip -4 addr show | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
4. Nur IPv6-Adressen anzeigen
Wir können auch nur die IPv6-Adressen mit dem Dienstprogramm ip und dem Linux-Befehl awk anzeigen. Wir können auch das Dienstprogramm grep verwenden, aber es erfordert ein viel größeres reguläres Ausdrucksmuster.
$ sudo ip -6 addr show | awk '/inet6/ {print $2}'
Wenn Sie den obigen Befehl ausführen, werden alle IPv6-Adressen für Ihre Schnittstellen ausgegeben.
5. Fügen Sie eine IP-Adresse hinzu
Der Linux-IP-Befehl macht es Administratoren sehr einfach, eine neue IP-Adresse hinzuzufügen. Im folgenden Beispiel veranschaulichen wir, wie Sie einem bestimmten Netzwerkgerät eine IP-Adresse hinzufügen. Sehen Sie sich die Syntax genau an, um sicherzustellen, dass Sie verstehen, was vor sich geht.
$ sudo ip addr add 192.168.1.1/24 dev eth0
Dieser Befehl fügt der Ethernet-Schnittstelle eth0 die IP-Adresse 192.168.1.1 mit der Netzmaske 24 hinzu. Ersetzen Sie einfach den Schnittstellennamen, um die Änderung in einem anderen Gerät widerzuspiegeln.
6. Fügen Sie eine Broadcast-Adresse hinzu
Die Broadcast-Adresse sendet Netzwerkpakete an jedes Gerät, das mit dem Netzwerk verbunden ist. Sie können eine benutzerdefinierte Broadcast-Adresse mit einem der folgenden einfachen IP-Befehle hinzufügen.
$ sudo ip addr add brd 192.162.125.200 dev eth0 $ sudo ip addr add broadcast 192.162.125.200 dev eth0
Jetzt ist die Broadcast-Adresse für die eth0-Schnittstelle auf 192.162.125.200 eingestellt. Beachten Sie jedoch, dass Netzwerkschnittstellen unter Linux die Broadcast-Informationen selbst erhalten. Sie sollten es also nur zuweisen, wenn Sie selbst ein Netzwerk einrichten.
7. Löschen einer IP-Adresse
Es ist auch sehr einfach, eine einem bestimmten Netzwerk zugewiesene IP zu löschen. Schauen Sie sich das nächste ip-Befehlsbeispiel genau an, um zu sehen, wie das in der Praxis funktioniert.
$ sudo ip addr del 192.168.1.1/24 dev eth0
Dieser Befehl löscht die IP-Adresse 192.168.1.1/24 von der Ethernet-Schnittstelle.
8. IP-Adressen löschen
Sie müssen den obigen Befehl mehrmals verwenden, um alle IP-Adressen von verschiedenen Schnittstellen zu löschen. Wenn Sie jedoch von vorne beginnen möchten, könnte sich das Leeren Ihrer IP-Adressen als guter Anfang erweisen.
$ sudo ip -s -s a f to 192.168.1.0/24
Dieser Befehl löscht alle IP-Adressen, die dem Netzwerk 192.168.1.0/24 zugeordnet sind. Sie können IPs auch basierend auf ihrem Label leeren.
$ sudo ip -4 addr flush label "eth*"
Dieser Befehl löscht alle IPv4-Adressen für die Ethernet-Schnittstellen Ihres Systems.
9. Informationen für alle verfügbaren Schnittstellen anzeigen
Das Link-Objekt repräsentiert die Netzwerkschnittstellen. Sie können Informationen über alle Netzwerkschnittstellen in Ihrem Linux-Rechner anzeigen, indem Sie die folgenden einfachen Befehle verwenden.
$ sudo ip link $ sudo ip link show
Beide sind gleichwertig und zeigen Informationen wie MAC, Schnittstellenstatus usw. an. Sie können link ersetzen mit l als Kurzform. Sie können auch das -d verwenden und -h Option des ip-Befehls, um detailliertere Informationen in einem für Menschen lesbaren Format zu erhalten.
$ sudo ip -d -h link show
10. Schnittstelleninformationen für bestimmte Geräte anzeigen
Wie die IP-Adressen können wir auch Schnittstelleninformationen für ein einzelnes Gerät anzeigen. Sie müssen die Option dev auf ähnliche Weise verwenden, gefolgt vom Gerätenamen, wie im folgenden Beispiel gezeigt.
$ sudo ip link show dev eth0
Dies ist nützlich für die Fehlerbehebung bei bestimmten Geräten, da unnötige Informationen weggelassen werden. Verwenden Sie den folgenden Befehl, um zusätzliche Informationen in einem leicht lesbaren Format zu erhalten.
$ sudo ip -d -h link show dev eth0
11. Statistikdaten für Schnittstellen anzeigen
Statistische Daten machen es sehr einfach, Netzwerkprobleme zu identifizieren und zu beheben. Sie können jeden der folgenden Befehle verwenden, um ganz einfach Statistikinformationen für eine bestimmte Schnittstelle anzuzeigen.
$ sudo ip -s link show wlp2s0 $ sudo ip -stats link show wlp2s0 $ sudo ip -statistics link show wlp2s0
Alle oben genannten Befehle sind gleichwertig. Sie können also jedes der -s verwenden , -Statistiken , oder -Statistiken . Sie können sie jedoch mehr als einmal in Ihren Befehlen verwenden. Dadurch erhalten Sie zusätzliche statistische Informationen.
$ sudo ip -s -stats -statistics link show wlp2s0
12. Statistikdaten für alle Schnittstellen anzeigen
Das IP-Utility ermöglicht es Netzwerkadministratoren auch, Statistikdaten für alle verfügbaren Schnittstellen in Ihrem System auszudrucken. Dies ist dem obigen Befehl sehr ähnlich. Lassen Sie einfach den Namen einer bestimmten Schnittstelle weg und ip zeigt Statistiken für alle an.
$ sudo ip -s link show $ sudo ip -stats link show $ sudo ip -statistics link show
Ebenso können wir die Flaggen auch mehrfach verwenden, um zusätzliche Informationen zu erhalten. Der folgende Befehl demonstriert dies.
$ sudo ip -s -stats -statistics link show
13. Aktivieren Sie eine bestimmte Netzwerkschnittstelle
Der ip-Befehl macht es sehr einfach, eine Schnittstelle online zu bringen. Wenn Sie also immer noch den ifconfig-Befehl verwenden, sehen Sie sich das folgende Beispiel genau an.
$ sudo ip link set wlp2s0 up
Dieser Befehl aktiviert die drahtlose Schnittstelle wlp2s0 in Ihrem System. Da viele Systeme diese Schnittstelle als wlan0 angeben, vergewissern Sie sich, dass Sie den für Ihr System geeigneten Gerätenamen verwenden.
14. Deaktivieren Sie eine bestimmte Netzwerkschnittstelle
Wir können ein Netzwerk auch sehr einfach deaktivieren, indem wir den Unterbefehl ip link set verwenden. Das folgende Beispiel zeigt, wie die drahtlose Schnittstelle wlp2s0 deaktiviert wird, die wir gerade im vorherigen Beispiel aktiviert haben.
$ sudo ip link set wlp2s0 down
Der obige Befehl schaltet die wlp2s0-Schnittstelle offline. Sie müssen es erneut aktivieren, wenn Sie Netzwerkpakete über die drahtlose Schnittstelle übertragen möchten.
15. Benutzerdefinierte MTU einer Schnittstelle zuweisen
MTU steht für Maximum Transmission Unit und adressiert die Größenobergrenze von Paketen, die von einer bestimmten Netzwerkschnittstelle gesendet werden können. Sie können den folgenden Linux-IP-Befehl verwenden, um einer Schnittstelle eine benutzerdefinierte MTU-Größe zuzuweisen.
$ sudo ip link set wlp2s0 mtu 5000
Dieser Befehl setzt die MTU der drahtlosen Schnittstelle wlp2s0 auf 5000. Sie können die Änderung bestätigen, indem Sie die Schnittstelleninformationen überprüfen.
16. Promiscuous-Modus aktivieren
Der Promiscuous-Modus ermöglicht es einer Schnittstelle, alle IP-Pakete an Ihre CPU zu senden, einschließlich derjenigen, die nicht dazu bestimmt sind, das System zu erreichen. Es ist oft nützlich für Fehlerbehebungszwecke und Netzwerkprüfungen. Werfen Sie einen kurzen Blick auf den folgenden Befehl, um zu sehen, wie Sie dies mit dem ip-Befehlszeilentool tun.
$ sudo ip link set wlp2s0 promisc on
Wenn Sie den obigen Befehl ausführen, wird der Promiscuous-Modus für die drahtlose Schnittstelle aktiviert. Sie können es auch für andere Netzwerkschnittstellen aktivieren, solange es vom Netzwerkschnittstellen-Controller unterstützt wird.
17. Alle aktivierten Schnittstellen auflisten
Da Sie häufig mit Systemen arbeiten, die über mehr als eine Schnittstelle verfügen, möchten Sie möglicherweise die derzeit aktivierten Geräte auflisten. Dies wird sich bei der Netzwerkfehlerbehebung und Systemprüfung als nützlich erweisen.
$ sudo ip link ls up
Dieser Befehl druckt alle aktiv laufenden Netzwerkschnittstellen auf Ihrem Linux-Rechner neben ihren üblichen Eigenschaften aus. Verwenden Sie das -d Flag des ip-Befehls, um detailliertere Informationen über jede Schnittstelle zu erhalten.
$ sudo ip -d link ls up
18. Benutzerdefinierte Übertragungswarteschlangenlänge einer Schnittstelle zuweisen
Sie können die Bandbreitennutzung Ihres Netzwerks steuern, indem Sie die Länge der Übertragungswarteschlange einer Schnittstelle ändern. Die Länge der Übertragungswarteschlange bezieht sich auf die maximale Größe von Datenpaketen, die der Gerätetreiber zulässt.
$ sudo ip link set txqueuelen 1500 dev wlp2s0
Dieser Befehl setzt die Länge der Übertragungswarteschlange der drahtlosen Schnittstelle auf 1500. Wir verwenden den Unterbefehl link set, um diesen Wert zuzuweisen.
19. Anhänger für Ethernet-Schnittstelle aktivieren
Die Trailer-Kapselung ermöglicht es dem Linux-Kernel, Speicher-zu-Speicher-Kopiervorgänge auf einem empfangenden Host zu minimieren und die Paketverarbeitungszeit zu verkürzen. Diese Funktion wird nur von der Ethernet-Schnittstelle unterstützt. Sie können den folgenden Linux-IP-Befehl verwenden, um dies auf Ihrem System zu aktivieren.
$ sudo ip link set dev eth0 trailers on
Dieser Befehl aktiviert die Trailer-Unterstützung für das eth0-Gerät. Beachten Sie, wie wir zuerst das Gerät angeben, bevor wir diese Funktion aktivieren.
20. Anhänger für Ethernet-Schnittstelle deaktivieren
Das Deaktivieren der Trailer-Kapselung ist mit dem Dienstprogramm ip ebenfalls ziemlich einfach. Ersetzen Sie dazu einfach den on-Teil des obigen Befehls durch off.
$ sudo ip link set dev eth0 trailers off
Jetzt wird die Trailer-Funktion für das eth0-Gerät deaktiviert.
21. MAC-Adresse ändern
Wenn Sie Ihre MAC-Adresse unter Linux ändern möchten, können Sie dies ganz einfach mit dem ip-Dienstprogramm tun. Schalten Sie zuerst die Schnittstelle mit dem folgenden Befehl aus.
$ sudo ip link set dev eth0 down
Jetzt müssen Sie die MAC-Adresse festlegen, indem Sie den nächsten Befehl ausführen.
$ sudo ip link set dev eth0 address 8e:a9:82:9d:6f:ac
Dieser Befehl setzt die MAC-Adresse der eth0-Schnittstelle auf 8e:a9:82:9d:6f:ac. Bringen Sie schließlich Ihre Netzwerkschnittstelle online, indem Sie den folgenden Befehl verwenden.
$ sudo ip link set dev eth0 up
22. Netzwerkschnittstellen umbenennen
Sie können Netzwerkschnittstellen einfach mit dem Linux-IP-Befehl umbenennen. Der folgende Befehl zeigt, wie die Schnittstelle eth0 in eth1 umbenannt wird.
$ sudo ip link set eth0 down $ sudo ip link set eth0 name eth1 $ sudo ip link set eth1 up
Wir müssen die Schnittstelle deaktivieren, bevor wir sie umbenennen können. Mit der obigen Methode können Sie jede Netzwerkschnittstelle in Ihrem System umbenennen.
23. Netzwerktunnel anzeigen
Netzwerktunnel ermöglichen unserem System, vertrauliche Informationen über das öffentliche Internet zu senden. Sie können die Liste der aktiven Tunnel ausdrucken, indem Sie den Unterbefehl ip tunnel verwenden.
$ sudo ip tunnel $ sudo ip tunnel show
Diese beiden Befehle sind gleichwertig und zeigen bei Ausführung die Liste der Netzwerktunnel an.
24. IP-Routing-Tabelle anzeigen
Alle IP-fähigen Geräte verwenden eine Art Routing-Tabellen, um auszuwerten, wohin reisende IP-Pakete umgeleitet werden sollen. Mit dem Linux-IP-Befehl können Administratoren diese Informationen sehr einfach anzeigen. Werfen Sie einen kurzen Blick auf den folgenden Befehl, um zu sehen, wie das funktioniert.
$ sudo ip route
Dieser Befehl gibt alle im Kernel geladenen Routing-Informationen aus. Sie können Routing-Einträge auch nach Bedarf hinzufügen, löschen oder ersetzen.
25. Einträge zur Routing-Tabelle hinzufügen
Manchmal muss der Administrator möglicherweise manuell einen Eintrag zur Routing-Tabelle hinzufügen. Der route-Befehl ermöglicht Benutzern dies, und viele Netzwerkadministratoren verwenden dies immer noch. Sie können Ihrer Routing-Tabelle jedoch direkt mit dem Befehl ip Einträge hinzufügen. Der folgende Befehl veranschaulicht dies anhand eines praktischen Beispiels.
$ sudo ip route add default via 192.168.1.1 dev wlp2s0
Dieser Befehl fügt eine Standardroute für das Ethernet-Gerät wlp2s0 hinzu. Die IP-Adresse 192.168.1.1 ist das lokale Gateway für Ihr Netzwerk. Somit ermöglicht der obige Befehl eine Route für alle Adressen über das lokale Gateway zum drahtlosen Gerät.
26. Routing-Eintrag für ein Subnetzwerk hinzufügen
Der folgende Befehl zeigt uns, wie Sie mit dem Befehl ip route eine Route zu einem Subnetzwerk hinzufügen. Wir müssen dafür ein Gateway verwenden, also verwenden wir das Standard-Gateway, das 192.168.1.1 ist.
$ sudo ip route add 192.168.1.0/24 via 192.168.1.1
Der obige Befehl fügt eine Route zum Netzwerk 192.168.1.0/24 über das lokale Gateway 192.168.1.1 hinzu. Die meisten Consumer-Router und -Modems verwenden heute diese IP als Gateway.
27. Routingregeln für bestimmte Geräte hinzufügen
Es ist sehr einfach, eine Route zu einem Subnetzwerk hinzuzufügen, das von einem bestimmten Netzwerkgerät jederzeit erreicht werden kann. Der folgende einfache Befehl soll dies für die drahtlose Schnittstelle wlp2s0 veranschaulichen.
$ sudo ip route add 192.168.1.0/24 dev wlp2s0
Nachdem der obige Befehl ausgeführt wurde, können alle Adressen im Bereich 192.168.1.0/24 die wlp2s0-Schnittstelle frei erreichen.
28. Einträge aus der Routing-Tabelle löschen
Wenn Sie einen bestimmten Eintrag aus Ihrer Routing-Tabelle entfernen möchten, können Sie dies sehr einfach tun, indem Sie den Unterbefehl route delete des Dienstprogramms ip verwenden. Der folgende Befehl zeigt Ihnen, wie Sie dies bequem von Ihrem Linux-Terminalemulator aus tun können.
$ sudo ip route delete 192.168.1.0/24 via 192.168.1.1
Dieser Befehl entfernt die Route für das Netzwerk 192.168.1.0/24 über das Standard-Gateway 192.168.1.1. Dies ist der Eintrag, den wir in einem früheren Beispiel erstellt haben.
29. Einen Eintrag in der Routing-Tabelle ersetzen
Wir können einen Eintrag in der Routing-Tabelle einfach ersetzen, indem wir den Unterbefehl route replace des Linux-Befehls ip verwenden. Das folgende Beispiel ersetzt jede definierte Route für das Subnetzwerk 192.168.1.0/24 zur wlp2s0-Schnittstelle.
$ sudo ip route replace 192.168.1.0/24 dev wlp2s0
Dieser Befehl erstellt die Route, falls sie noch nicht definiert ist. Es bietet eine praktische Möglichkeit, vorhandene Routing-Regeln zu manipulieren.
30. Zeigen Sie die von einer Adresse zurückgelegte Route an
Administratoren müssen häufig den Weg bestimmen, den eine IP-Adresse nimmt. Es hilft bei der Behebung von Netzwerkproblemen und stellt sicher, dass Pakete so übertragen werden, wie sie beabsichtigt sind. Das folgende Beispiel zeigt uns, wie man dies effektiv mit dem ip-Dienstprogramm macht.
$ sudo ip route get 192.168.1.5
Dieser Befehl zeigt den Pfad an, der für die IP-Adresse 192.168.1.5 in Ihrem Netzwerk genommen wird. Verwenden Sie den folgenden Befehl, um eine statistische Übersicht zu erhalten.
$ sudo ip -s route get 192.168.1.5
31. Statische Persistenzrouten hinzufügen
Bis jetzt haben wir gesehen, wie man statische Routen mit dem Linux-ip-Befehl hinzufügt oder löscht. Diese Routen sind jedoch nicht dauerhaft und gehen nach dem Neustart des Systems verloren. Sie können die Änderungen dauerhaft machen, indem Sie die folgenden Aufgaben ausführen.
$ sudo vim /etc/sysconfig/network-scripts/route-wlp2s0
192.168.1.0/24 via 192.168.1.1
Beenden Sie Ihren vim oder Ihren Linux-Texteditor, nachdem Sie die obige Zeile angehängt haben. Starten Sie nun den Network Manager neu. Dadurch wird die angegebene Route auf RHEL- oder CentOS-Systemen dauerhaft.
$ sudo systemctl restart NetworkManager
Um diese Route nun dauerhaft auf Debian- oder Ubuntu-Distributionen hinzuzufügen, stellen Sie Folgendes ein.
$ sudo vim /etc/network/interfaces
up route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.1 dev wlp2s0
Jetzt müssen Sie Ihre Benutzeroberfläche herunterfahren und dann wieder hochfahren, um diese Änderung widerzuspiegeln. Sie können dies mit den folgenden Befehlen tun.
$ sudo ip link set wlp2s0 down $ sudo ip link set wlp2s0 up
32. Multicast-IP-Adressen anzeigen
Multicast-IP-Adressen werden zum Senden oder Empfangen von Multicast-Nachrichten zwischen Netzwerkgeräten verwendet. Sie können den folgenden einfachen Befehl verwenden, um die Liste aller verfügbaren Multicast-IP-Adressen in Ihrem System auszudrucken.
$ sudo ip maddr $ sudo ip maddr show
Diese beiden Befehle sind gleichwertig und zeigen eine gut formatierte Liste von Multicast-Adressen für ein bestimmtes Netzwerk an.
33. Multicast-Informationen für bestimmte Geräte anzeigen
Die obigen Befehle zeigen die Multicast-Informationen für alle Netzwerkgeräte an. Wenn Sie Probleme mit einem bestimmten Gerät beheben möchten, können Sie stattdessen den folgenden Befehl verwenden.
$ sudo ip maddr show dev eth0
Hier verwenden wir die Option dev, um die drahtlose Schnittstelle wlp2s0 anzugeben. Es druckt jetzt die Multicast-Informationen nur für dieses bestimmte Gerät. Ersetzen Sie den Gerätenamen durch eines der Geräte in Ihrem Computer.
34. Fügen Sie eine Multicast-Adresse hinzu
Das Hinzufügen von Multicast-Adressen ist mit dem ip-Befehl ganz einfach. Wir können dies ganz einfach tun, indem wir den Unterbefehl maddr add von ip verwenden. Werfen Sie einen kurzen Blick auf die folgende Abbildung, um zu sehen, wie dies im wirklichen Leben funktioniert.
$ sudo ip maddr add 44:22:00:00:00:01 dev eth0
Der obige Befehl fügt die Multicast-Adresse 44:22:00:00:00:01 für das Netzwerkgerät eth0 hinzu. Ersetzen Sie den Schnittstellennamen durch Ihre entsprechende Schnittstelle und die Adresse durch die gewünschte.
35. Löschen einer Multicast-Adresse
Wir können auch die Multicast-Adresse für ein bestimmtes Netzwerkgerät so löschen, wie wir sie hinzugefügt haben. Um die Multicast-Adresse 44:22:00:00:00:01 von der eth0-Schnittstelle zu entfernen, verwenden Sie den folgenden Befehl in Ihrem Linux-Terminal.
$ sudo ip maddr del 44:22:00:00:00:01 dev eth0
Indem wir also einfach den Unterbefehl maddr del von ip verwenden, können wir die Multicast-Adresse entfernen. Stellen Sie sicher, dass Sie das richtige Gerät angeben, sonst kommt es möglicherweise zu unerwünschtem Multicasting.
36. Multicast-Adressierung aktivieren
Verwenden Sie den folgenden einfachen Befehl, wenn Sie den Multicast-Adressierungsmodus für eine bestimmte Schnittstelle festlegen möchten. Wir werden den Unterbefehl link set des Dienstprogramms ip verwenden, um die Multicast-Adressierung zu aktivieren.
$ sudo ip link set eth0 multicast on
Jetzt ist Multicast-Adressierung auf der Ethernet-Schnittstelle eth0 erlaubt.
37. Deaktivieren Sie die Multicast-Adressierung
Wenn Sie ein Heimanwender sind, sollten Sie die Multicast-Adressierungsfunktion möglicherweise vollständig deaktivieren. Glücklicherweise ist das Deaktivieren dieser Funktion so einfach wie das Aktivieren. Schauen Sie sich das folgende Beispiel genau an, um zu sehen, wie Sie dies mit dem Dienstprogramm ip tun können.
$ sudo ip link set eth0 multicast off
Indem Sie also einfach die Multicast-Off-Option für eine Schnittstelle verwenden, können Sie diese Funktion deaktivieren.
38. All-Multicast für Schnittstellen aktivieren
Der Allmulticast-Modus ermöglicht es einer Schnittstelle, alle Multicast-Pakete direkt zu empfangen. Sie können es ganz einfach für ein bestimmtes Netzwerkgerät aktivieren. Der folgende Befehl veranschaulicht dies für die Ethernet-Schnittstelle eth0.
$ sudo ip link set eth0 allmulticast on
Wir4 haben die eth0-Schnittstelle mit dem Unterbefehl link set ausgewählt und die Allmulticast-Funktion mit der Option on aktiviert.
39. Deaktivieren Sie All-Multicast für Schnittstellen
Sie können Allmulticast vollständig deaktivieren, indem Sie die Option „Ein“ auf „Aus“ schalten. Der folgende Befehl demonstriert dies für die eth0-Schnittstelle.
$ sudo ip link set eth0 allmulticast off
Jetzt ist AllMulticast für dieses spezielle Netzwerkgerät vollständig deaktiviert.
40. Zeigen Sie die ARP-Tabelle an
Die IP-Nachbar-Tabellenobjekte oder die ARP-Tabelle (Address Resolution Protocol) enthalten die Zuordnung zwischen IP-Adressen und ihren jeweiligen MAC-Adressen. Wenn ein Netzwerkpaket gesendet wird, schlägt das System zuerst in dieser Tabelle nach, um festzustellen, ob es die MAC-Adresse für diese Adresse bereits kennt.
$ sudo ip neigh
Wenn Sie diesen Befehl ausführen, zeigt ip die Nachbarobjekte oder die ARP-Tabelle in Ihrem Linux-Terminalemulator an. Es zeigt die MAC-Adresse für das aktive Netzwerkgerät neben anderen nützlichen Informationen.
41. ARP-Cache für bestimmte Geräte anzeigen
Sie können die mit einem einzelnen Netzwerkgerät verknüpften ARP-Einträge finden, indem Sie seinen Namen nach der Option dev angeben. Sehen Sie sich das folgende Beispiel an, um zu sehen, wie das im Allgemeinen funktioniert.
$ sudo ip neigh show dev wlp2s0
Dieser Befehl gibt den ARP-Eintrag für die drahtlose Netzwerkschnittstelle namens wlp2s0 aus. Beachten Sie, dass der Name dieser drahtlosen Schnittstelle in Ihrem Gerät anders sein kann, wie z. B. wlan0 oder etwas anderes. Stellen Sie also sicher, dass Sie den richtigen Namen verwenden, sonst erhalten Sie nicht die gewünschte Ausgabe.
42. ARP-Eintrag für ein Gerät hinzufügen
Wenn Sie dem ARP manuell einen Eintrag hinzufügen möchten, können Sie dies ganz einfach mit dem folgenden einfachen Befehl tun. Sie müssen die IP-Adresse sowie die einzustellende MAC-Adresse angeben.
$ sudo ip neigh add 192.168.1.1 lladdr 1:2:3:4:5:6 dev eth0
Hier ordnen wir die MAC-Adresse 1:2:3:4:5:6 der IP-Adresse 192.168.1.1 zu. Wir geben auch die Netzwerkschnittstelle als eth0 an.
43. Einen ARP-Eintrag für ein Gerät löschen
Sie können einen ARP-Eintrag auch ganz einfach mit dem Linux-Befehl ip löschen. Das folgende Beispiel zeigt, wie der ARP-Eintrag entfernt wird, den wir im obigen Beispiel erstellt haben.
$ sudo ip neigh del 192.168.1.1 dev eth0
Dieser Befehl macht den ARP-Eintrag für das eth0-Gerät ungültig. Wie Sie sehen können, erlaubt uns der Befehl neigh del, benachbarte Tabellenobjekte zu entfernen.
44. Einen Eintrag in der ARP-Tabelle ersetzen
Administratoren müssen einen ARP-Eintrag nicht manuell entfernen und einen neuen für ein bestimmtes Gerät erstellen. Sie können den alten Eintrag einfach durch einen neuen ersetzen, indem sie den Unterbefehl neben ersetzen des Dienstprogramms ip verwenden. Der folgende Befehl veranschaulicht, wie dies funktioniert.
$ sudo ip neigh replace 192.168.1.1 lladdr 6:5:4:3:2:1 dev eth0
Dieser Befehl ersetzt den ARP-Eintrag für die IP-Adresse 192.168.1.1 durch die angegebene MAC-Adresse. Wenn diese Regel noch nicht existiert, wird sie einen neuen Eintrag mit dieser Zuordnung erstellen.
45. ARP-Einträge leeren
Der Linux-IP-Befehl ermöglicht es uns auch, den ARP-Eintrag ähnlich wie bei IP-Adressen zu leeren. Beispielsweise löscht der folgende Befehl die Nachbartabelle für die IP-Adresse 192.168.1.1.
$ sudo ip -s -s n f 192.168.1.1
Dieser Befehl ist mit dem folgenden Befehl identisch. Hier verwenden wir eher die lange Form des Unterbefehls zum Spülen als die kurze.
$ sudo ip -s -s n flush 192.168.1.1
46. IP-Ausgabe einfärben
Der Linux-IP-Befehl liefert viele Daten, und daher kann es für Benutzer gelegentlich schwierig sein, wichtige Informationen zu finden. Glücklicherweise können Sie das -c verwenden Option des Dienstprogramms ip zum Einfärben der Ausgabe.
$ sudo ip -c -4 addr $ sudo ip -c link
Der erste Befehl zeigt die IPv4-Adressen sowie die Schnittstellennamen in unterschiedlichen Farben an. Der zweite Befehl hebt die MAC-Adresse und den Schnittstellenstatus sowie Namen hervor.
47. JSON-Ausgabe generieren
JSON oder JavaScript Object Notation ist ein Datendarstellungsformat, das von Webanwendungen und anderen Tools weit verbreitet ist. In diesem Format gespeicherte Daten können problemlos mit vielen Diensten ausgetauscht werden. Sie können das Ergebnis Ihrer IP-Befehle als JSON-Daten generieren, indem Sie den folgenden Befehl verwenden.
$ sudo ip -j route $ sudo ip -j link show docker0
Fügen Sie einfach das -j hinzu Option zu Ihrem Befehl, und ip konvertiert die Terminalausgabe in JSON.
48. Versionsinformationen anzeigen
Verwenden Sie den folgenden Befehl, wenn Sie sehen möchten, welche Version des IP-Dienstprogramms Sie verwenden.
$ ip -V
Beachten Sie, dass es sich um ein großes V handelt, nicht um das kleine v, das von vielen Linux-Terminalbefehlen verwendet wird.
49. Hilfeseite anzeigen
Die Hilfeseite von ip bietet zusammengefasste Informationen zu allen möglichen Kommandozeilenargumenten sowie deren Verwendung. Sie können diese Informationen auf verschiedene Arten ausdrucken.
$ ip help $ ip --help
Diese Befehle drucken die Standardhilfeseite. Sie können jedoch auch die Hilfeseite für einen bestimmten Unterbefehl anzeigen, wie die folgenden Beispiele zeigen.
$ ip link help $ ip route help
Der erste Befehl zeigt die Hilfeseite für den Unterbefehl link und der zweite für den Unterbefehl route an.
50. Manpage anzeigen
Die Manpage oder das Handbuch enthält ausführliche Informationen zu den verschiedenen Optionen und Syntaxen des Linux-IP-Befehls. Sie können es mit dem folgenden einfachen Befehl anzeigen.
$ man ip
Dadurch wird das primäre Handbuch für das IP-Dienstprogramm gedruckt. Sie können auch einen bestimmten Eintrag im Handbuch anzeigen. Sehen Sie sich die folgenden Befehle genau an, um zu sehen, wie das funktioniert.
$ man ip-address $ man ip-link
Der erste Befehl zeigt die Handbuchseite für den Adress-Unterbefehl, der zweite für den Link-Unterbefehl.
Abschlussgedanken
Der Linux-IP-Befehl enthält eine einfach zu verwendende und dennoch praktische Schnittstelle für verschiedene Linux-Netzwerkbefehle. Wenn Sie es gewohnt sind, ältere Netzwerktools wie ifconfig und route zu verwenden, ist es höchste Zeit, mit dem Übergang zum Dienstprogramm ip zu beginnen. Wir haben diesen Leitfaden zusammengestellt, um unseren Lesern zu helfen, das Beste aus ihrer Zeit zu machen und die Grundlagen so schnell wie möglich zu lernen. Wenn Sie Erfahrung sammeln, werden Sie viele weitere Dinge herausfinden, die Sie mit dieser einfachen Terminalanwendung tun können. Hoffentlich konnten wir Ihnen helfen, und hinterlassen Sie uns bitte einen Kommentar, wenn Sie Fragen oder Anregungen haben.