Website-Suche

24 nützliche „IP“-Befehle zum Konfigurieren von Netzwerkschnittstellen


Kurzfassung: In diesem Leitfaden besprechen wir einige praktische Beispiele des Befehls ip. Am Ende dieses Handbuchs werden Benutzer in der Lage sein, Netzwerkaufgaben unter Linux effizient über die Befehlszeilenschnittstelle auszuführen.

Systemadministratoren müssen häufig Netzwerkaufgaben auf Linux-Servern ausführen. Es gibt eine Vielzahl grafischer und Befehlszeilentools auf dem Markt. Die meisten Linux-Benutzer bevorzugen jedoch aufgrund seiner Einfachheit und umfangreichen Funktionalität die Verwendung des ip-Befehls.

Der IP-Befehl ist ein neues Netzwerk-Befehlszeilendienstprogramm, das verwendet wird, um einer Netzwerkschnittstelle eine IP-Adresse zuzuweisen oder nützliche Netzwerkvariablen auf einem Linux-System zu konfigurieren/aktualisieren.

Es ist Teil des iproute2-Pakets und bietet verschiedene Netzwerkverwaltungsaufgaben wie das Hoch- oder Herunterfahren von Netzwerkschnittstellen, das Zuweisen und Entfernen von IP-Adressen und Routen, die Verwaltung des ARP-Cache und vieles mehr.

Der ip-Befehl ähnelt stark dem alten ifconfig-Befehl, ist jedoch wesentlich leistungsfähiger und verfügt über mehr Funktionen und Fähigkeiten.

Der Befehl ifconfig ist veraltet und wurde in allen modernen Linux-Distributionen durch den Befehl ip ersetzt. Der ifconfig-Befehl funktioniert jedoch weiterhin und ist für die meisten Linux-Distributionen verfügbar.

Hinweis: Bitte erstellen Sie eine Sicherungskopie der Konfigurationsdatei, bevor Sie Änderungen vornehmen.

1. Konfigurieren Sie die statische IP-Adresse dauerhaft unter Linux

Um eine statische IP-Adresse unter Linux dauerhaft zu konfigurieren, müssen Sie die Netzwerkkonfigurationsdatei aktualisieren oder bearbeiten, um einem System eine statische IP-Adresse zuzuweisen. Sie müssen ein Superuser sein und über das Terminal oder die Eingabeaufforderung den Befehl su (Benutzer wechseln) eingeben.

Legen Sie eine statische IP-Adresse in RHEL-Systemen fest

Öffnen und bearbeiten Sie die Netzwerkkonfigurationsdateien für (eth0 oder eth1) mit Ihrem bevorzugten Texteditor. Beispielsweise wird bei RHEL-basierten Distributionen die IP-Adresse der eth0-Schnittstelle wie folgt zugewiesen.

vi /etc/sysconfig/network-scripts/ifcfg-eth0     [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]

Legen Sie eine statische IP-Adresse in Debian-Systemen fest

Um die permanente statische IP-Adresse zu konfigurieren, müssen Sie Ihre Netzwerkschnittstellen-Konfigurationsdatei /etc/network/interfaces ändern, um dauerhafte Änderungen vorzunehmen, wie unten für Debian-basierte Distributionen gezeigt.

sudo nano /etc/network/interfaces     [On Debian, Ubuntu and Mint]

Starten Sie anschließend die Netzwerkdienste neu, nachdem Sie alle Details mit dem folgenden Befehl eingegeben haben.

sudo systemctl restart networking

2. Konfigurieren Sie vorübergehend die statische IP-Adresse unter Linux

Für temporäre Netzwerkkonfigurationen können Sie den ip-Befehl verwenden, um einer bestimmten Schnittstelle (eth2) im Handumdrehen eine IP-Adresse zuzuweisen.

ip addr add 172.19.1.10/24 dev eth2
OR
sudo ip addr add 172.19.1.10/24 dev eth2

Hinweis: Leider gehen alle diese Einstellungen nach einem Systemneustart verloren.

3. So zeigen Sie alle Netzwerkschnittstellen an

Im IP-Befehl stellt das Link-Objekt die Netzwerkschnittstelle dar. Wir können damit den Befehl show verwenden, um alle Netzwerkschnittstellen anzuzeigen.

Lassen Sie uns nun alle Netzwerkschnittstellen mit dem folgenden Befehl anzeigen:

ip link show

Die obige Ausgabe zeigt die Details aller Netzwerkschnittstellen, wie Schnittstellenname, Flags, Status, Linkadresse, Broadcast-Adresse usw.

4. So überprüfen Sie eine IP-Adresse einer bestimmten Netzwerkschnittstelle

Um detaillierte Informationen zu Ihrer individuellen Netzwerkschnittstelle wie IP-Adresse und MAC-Adresse zu erhalten, verwenden Sie den folgenden Befehl wie unten gezeigt.

ip link show eth2

Bisher haben wir das Link-Objekt verwendet, um detaillierte Informationen zu den Netzwerkschnittstellen anzuzeigen. Es wird jedoch nicht die mit der Netzwerkschnittstelle verknüpfte IP-Adresse angezeigt. Um diese Einschränkung zu überwinden, können wir das Objekt addr mit dem Befehl ip verwenden.

Lassen Sie uns dies anhand eines Beispiels verstehen.

ip addr show

Hier können wir sehen, dass die Ausgabe jetzt die IP-Adressen aller Netzwerkschnittstellen zusammen mit anderen Details anzeigt.

Um die IP-Adresse der einzelnen Netzwerkschnittstelle anzuzeigen, müssen Sie lediglich den Namen der Netzwerkschnittstelle als Argument für den Befehl angeben.

ip addr show eth2

5. So zeigen Sie die IP-Adresse in farbiger Ausgabe an

Der IP-Befehl zeigt detaillierte Informationen zu den Netzwerkobjekten an. Manchmal müssen wir jedoch einen Blick auf die begrenzten Informationen werfen. In solchen Fällen können wir die farbige Ausgabe aktivieren. Diese Option hebt wichtige Details in verschiedenen Farben hervor.

Lassen Sie uns die Option --color des Befehls verwenden, um die Ausgabe in verschiedenen Farben anzuzeigen:

ip --color addr show eth2

In der obigen Ausgabe können wir sehen, dass der Schnittstellenname, die Ethernet-Adresse und der Status in verschiedenen Farben hervorgehoben sind.

6. So zeigen Sie die IP-Adresse im JSON-Format an

In den vorherigen Beispielen haben wir gesehen, dass der ip-Befehl aussagekräftige Informationen anzeigt. Es ist jedoch keine leichte Aufgabe, die Rohausgabe zu analysieren und mithilfe rudimentärer Skripte aussagekräftige Informationen zu extrahieren. In solchen Fällen können wir den ip-Befehl anweisen, die Ausgabe in einem JSON-Format zu generieren.

Lassen Sie uns also die Option -j mit dem Befehl verwenden, um dieselbe Ausgabe in einem JSON-Format anzuzeigen:

ip -j link show eth2

Diese Methode ist bei der Automatisierung praktisch, da JSON ein weithin akzeptiertes Format ist und viele JSON-Parser-Bibliotheken/-Tools in verschiedenen Programmiersprachen verfügbar sind.

7. So machen Sie die JSON-Ausgabe besser lesbar

Im vorherigen Beispiel haben wir die Option -j verwendet, um die Ausgabe im JSON-Format anzuzeigen. Dieses standardmäßige JSON-Format ist kompakt und platzsparend. Aufgrund der fehlenden Einrückung ist die Ausgabe jedoch nicht gut lesbar.

Um diese Einschränkung zu überwinden, können wir die Option -p verwenden, die die Ausgabe durch Einrücken besser lesbar macht. Lassen Sie uns dies anhand des folgenden Beispiels verstehen:

ip -j -p link show eth2

Hier können wir sehen, dass die gleiche Ausgabe im Vergleich zu den vorherigen Beispielen viel besser lesbar ist.

8. So entfernen Sie eine IP-Adresse von der Netzwerkschnittstelle

Im vorherigen Beispiel haben wir den Unterbefehl „add“ verwendet, um eine IP-Adresse zuzuweisen. Auf ähnliche Weise können wir den Unterbefehl del verwenden, um eine bestimmte IP-Adresse zu entfernen.

Der folgende Befehl entfernt eine zugewiesene IP-Adresse von der angegebenen Schnittstelle (eth2).

ip addr del 172.19.1.10/24 dev eth2
OR
sudo ip addr del 172.19.1.10/24 dev eth2

Überprüfen wir nun, ob die IP-Adresse entfernt wurde:

ip -j -p addr show eth2

In der obigen Ausgabe können wir sehen, dass die aktuelle eth2-Netzwerkschnittstelle nur eine IP-Adresse hat.

9. So aktivieren Sie die Netzwerkschnittstelle

Das Flag „up“ mit dem Schnittstellennamen (eth2) aktiviert eine Netzwerkschnittstelle. Der folgende Befehl aktiviert beispielsweise die Netzwerkschnittstelle eth2.

ip link set eth2 up
OR
sudo ip link set dev eth2 up

Schauen wir uns nun den aktualisierten Status an:

ip -j -p link show eth2 | grep operstate

10. So deaktivieren Sie die Netzwerkschnittstelle

Das Flag „down“ mit dem Schnittstellennamen (eth2) deaktiviert eine Netzwerkschnittstelle. Der folgende Befehl deaktiviert beispielsweise die Netzwerkschnittstelle eth2.

ip link set eth2 down
OR
sudo ip link set eth2 down

Lassen Sie uns nun den Status der eth2-Netzwerkschnittstelle überprüfen:

ip -j -p link show eth2 | grep operstate

Die obige Ausgabe zeigt den geänderten Status der Netzwerkschnittstelle.

11. So löschen Sie IP-Adressen der Netzwerkschnittstelle

Im vorherigen Beispiel haben wir gesehen, wie man mit einem del-Unterbefehl eine IP-Adresse entfernt. Manchmal müssen wir jedoch alle IP-Adressen der jeweiligen Netzwerkschnittstelle entfernen. In solchen Fällen können wir den Unterbefehl flush verwenden.

Verwenden Sie zunächst den Unterbefehl flush, um alle IP-Adressen der Netzwerkschnittstelle eth2 zu entfernen:

sudo ip addr flush eth2

Überprüfen wir nun, ob alle IP-Adressen der Netzwerkschnittstelle eth2 entfernt wurden:

ip -j -p addr show eth2

In der obigen Ausgabe zeigt das Feld addr_info das leere JSON-Array. Dies weist darauf hin, dass der Netzwerkschnittstelle eth2 keine IP-Adresse zugeordnet ist.

12. Wie überprüfe ich die Routing-Tabelle?

Eine Routing-Tabelle speichert die notwendigen Informationen, um ein Netzwerkpaket an das richtige Ziel weiterzuleiten. Wir können das route-Objekt des IP-Befehls verwenden, um die Routing-Regeln anzuzeigen.

Lassen Sie uns den folgenden Befehl verwenden, um alle Regeln der Routing-Tabelle aufzulisten:

ip route show

In der obigen Ausgabe stellt die erste Spalte das Ziel dar, während die letzte Spalte die Quell-IP-Adresse darstellt.

13. Wie füge ich eine neue statische Route hinzu?

Warum müssen Sie statische Routen oder manuelle Routen hinzufügen, da der Datenverkehr nicht über das Standard-Gateway passieren darf? Wir müssen statische Routen hinzufügen, um den Verkehr auf dem besten Weg zum Ziel weiterzuleiten.

sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2

Überprüfen wir nun, ob der Eintrag erfolgreich hinzugefügt wurde:

ip route show

15. So entfernen Sie eine statische Route

Der Unterbefehl del entfernt einen bestimmten Eintrag aus der Routing-Tabelle. Der folgende Befehl entfernt beispielsweise den Eintrag der Geräteroute eth2:

sudo ip route del 172.19.1.0/24

Überprüfen wir nun, ob der Eintrag erfolgreich entfernt wurde:

ip route show

16. Wie füge ich permanente statische Routen hinzu?

Alle oben genannten Routen gehen nach einem Systemneustart verloren. Um eine permanente statische Route hinzuzufügen, bearbeiten Sie die Datei /etc/sysconfig/network-scripts/route-eth2 (Wir speichern die statische Route für (eth2). Standardmäßig ist die Die Datei route-eth2 ist nicht vorhanden und muss erstellt werden.

Festlegen einer permanenten Route in RHEL-Systemen

vi /etc/sysconfig/network-scripts/route-eth2

und die folgenden Zeilen hinzufügen und speichern und beenden.

172.19.1.0/24 via 172.19.1.2 dev eth2

Festlegen einer permanenten Route in Debian-Systemen

Öffnen Sie die Datei /etc/network/interfaces und fügen Sie am Ende die statischen Persistenzrouten hinzu. IP-Adressen können in Ihrer Umgebung unterschiedlich sein.

sudo vi /etc/network/interfaces
auto eth2
iface eth2 inet static
address 172.19.50.2
netmask 255.255.255.0
gateway 172.19.50.100
#########{Static Route}###########
up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2

Starten Sie anschließend die Netzwerkdienste neu, nachdem Sie alle Details mit dem folgenden Befehl eingegeben haben.

sudo systemctl restart networking

17. Wie füge ich das Standard-Gateway hinzu?

Im Netzwerk spielt das Standard-Gateway eine wichtige Rolle. Es wird verwendet, wenn die Routing-Tabelle keine Informationen über das Ziel enthält.

Das Standard-Gateway kann global oder für schnittstellenspezifische Konfigurationsdateien angegeben werden. Der Vorteil des Standard-Gateways besteht darin, dass im System mehr als eine Netzwerkkarte vorhanden ist. Sie können das Standard-Gateway im Handumdrehen hinzufügen, wie unter dem Befehl gezeigt.

Fügen wir zunächst eine eth0-Netzwerkschnittstelle als Standard-Gateway hinzu:

sudo ip route add default via 172.17.0.1

Lassen Sie uns nun die Standard-Gateway-Einstellung mit dem folgenden Befehl überprüfen:

ip route show

Bitte beachten Sie, dass wir diesen Befehl auf einer Testmaschine ausgeführt haben. Seien Sie vorsichtig, wenn Sie diesen Befehl in der Produktionsumgebung verwenden.

18. So entfernen Sie ein Standard-Gateway

Mit dem folgenden Befehl können wir das Standard-Gateway entfernen:

sudo ip route del default

Lassen Sie uns nun die Routing-Tabelle auflisten, um zu überprüfen, ob das Standard-Gateway entfernt wurde:

ip route show

19. So zeigen Sie den ARP-Cache an

ARP steht für das Address Resolution Protocol, das verwendet wird, um die MAC-Adresse zu finden, die mit der jeweiligen IP-Adresse verknüpft ist.

Wir können das neigh-Objekt mit dem Befehl ip verwenden, um den ARP-Cache anzuzeigen:

ip neigh show

Im obigen Befehl stellt „neigh“ benachbarte Objekte dar.

20. So fügen Sie einen ARP-Eintrag hinzu

Um einen neuen ARP-Eintrag zu erstellen, können wir den Unterbefehl add mit dem Objekt neigh verwenden.

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2

Lassen Sie uns nun die ARP-Cache-Einträge auflisten:

ip neigh show

In der obigen Ausgabe sehen wir den neuen Eintrag für die Netzwerkschnittstelle eth2.

21. So entfernen Sie einen ARP-Eintrag

Wie bei anderen Netzwerkobjekten können wir den Unterbefehl del verwenden, um den ARP-Eintrag zu entfernen. Der folgende Befehl entfernt beispielsweise den ARP-Eintrag der Netzwerkschnittstelle eth2:

sudo ip neigh del 172.19.1.0 dev eth2

Überprüfen wir nun, ob der Eintrag entfernt wurde, indem wir den ARP-Cache auflisten:

ip neigh show 

22. So leeren Sie die ARP-Einträge

Mit dem Unterbefehl flush können wir mehrere ARP-Einträge entfernen. Um dies zu verstehen, fügen Sie zunächst einige ARP-Einträge mit dem Status STALE hinzu:

sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale
sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale
sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale

Überprüfen Sie als Nächstes, ob die neuen Einträge erfolgreich hinzugefügt wurden:

ip neigh show

Leeren Sie dann alle Einträge mit dem folgenden Befehl:

sudo ip neigh flush all

Überprüfen Sie abschließend, ob alle Einträge entfernt wurden:

ip neigh show

23. So legen Sie MTU für die Netzwerkschnittstelle fest

MTU steht für Maximum Transmission Unit und stellt die größte Paketgröße dar, die in einer einzelnen Transaktion übertragen werden kann. Wir können die MTU-Größe entsprechend unseren Leistungsanforderungen manipulieren.

Lassen Sie uns zunächst die MTU der eth2-Netzwerkschnittstelle ermitteln:

ip -j -p link show eth2 | grep mtu

Aktualisieren Sie als Nächstes die MTU-Größe der eth2-Netzwerkschnittstelle auf 3000:

sudo ip link set mtu 3000 dev eth2

Überprüfen Sie abschließend, ob die MTU erfolgreich aktualisiert wurde:

ip -j -p link show eth2 | grep mtu

24. So ändern Sie die Netzwerk-Mac-Adresse

Mit dem IP-Befehl können wir die MAC-Adresse der Netzwerkschnittstelle ändern. Um dies zu erreichen, können wir den Unterbefehl set mit dem Link-Objekt verwenden:

Listen Sie zunächst die aktuelle MAC-Adresse der eth2-Netzwerkschnittstelle auf:

ip -j -p link show eth2 | grep address

Als nächstes ändern Sie die MAC-Adresse der Netzwerkschnittstelle mit dem folgenden Befehl:

sudo ip link set dev eth2 address 02:42:ac:13:01:03

Überprüfen Sie abschließend, ob die MAC-Adresse geändert wurde:

ip -j -p link show eth2 | grep address

Weitere Informationen zum IP-Befehl finden Sie auf der Handbuchseite zum Ausführen von man ip über das Terminal/die Eingabeaufforderung.

man ip
Abschluss

In diesem Artikel haben wir einige gängige Beispiele für den IP-Befehl besprochen. Diese Beispiele kann man im Alltag für die Netzwerkadministration nutzen.

Kennen Sie ein anderes bestes Beispiel für den IP-Befehl unter Linux? Teilen Sie uns Ihre Meinung in den Kommentaren unten mit.