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

7 Linux-Netzwerkbefehle, die jeder Systemadministrator kennen sollte

Dieser Artikel ist der erste in einer Reihe, die sich um „Crowd-Sourced“-Befehlsempfehlungen dreht. Ich habe eine Gruppe unserer wichtigsten Mitwirkenden nach ihren bevorzugten Linux-Befehlen gefragt, und das Feedback war überwältigend. Wir haben 46 einzelne Befehle erhalten, und viele davon wurden durch mehrere Übermittlungen unterstrichen.

Diese Reihe stellt die vollständige Liste dar, aufgeschlüsselt nach Kategorien. Ich habe diese ersten sieben Befehle "Netzwerkbefehle, die jeder kennen sollte" genannt.

Anmerkung der Redaktion :Evans Amoany lieferte die Befehlsinformationen und Beispiele. Einer unserer Sudoer und ein talentierter *nix-Admin. Shoutout an Evans, dass er hier die schwere Arbeit erledigt hat.

[Das könnte Ihnen auch gefallen: Linux-Netzwerke:13 Verwendungsmöglichkeiten für Netstat]

IP

Die ip Der Befehl ist einer der grundlegenden Befehle, die jeder Administrator bei der täglichen Arbeit benötigt, von der Einrichtung neuer Systeme über die Zuweisung von IPs bis hin zur Fehlerbehebung bei bestehenden Systemen. Die ip Der Befehl kann Adressinformationen anzeigen, das Routing manipulieren und verschiedene Geräte, Schnittstellen und Tunnel des Netzwerks anzeigen.

Die Syntax lautet wie folgt:

ip

Das OBJEKT ist der wichtigste Teil der Zusammenfassung, und die folgenden werden unterstützt (einige der Kürze halber weggelassen):

Adresse - Protokolladresse (IPv4 oder IPv6) auf einem Gerät.

  • tunnel - Tunnel über IP
  • route - Routing-Tabelleneintrag
  • Regel - Regel in der Routing-Richtliniendatenbank
  • vrf - Verwalten Sie virtuelle Routing- und Weiterleitungsgeräte
  • xfrm - IPSec-Richtlinien verwalten

Hier sind einige häufige Anwendungsfälle für ip Befehl.

So zeigen Sie die einer Schnittstelle auf Ihrem Server zugewiesenen IP-Adressen an:

[root@server ~]# ip address show 

Um einer Schnittstelle eine IP zuzuweisen, zum Beispiel enps03 :

[root@server ~]# ip address add 192.168.1.254/24 dev enps03

So löschen Sie eine IP auf einer Schnittstelle:

[root@server ~]# ip address del 192.168.1.254/24 dev enps03

Ändern Sie den Status der Schnittstelle, indem Sie die Schnittstelle eth0 bringen online:

[root@server ~]# ip link set eth0 up

Ändern Sie den Status der Schnittstelle, indem Sie die Schnittstelle eth0 bringen offline:

[root@server ~]# ip link set eth0 down

Ändern Sie den Status der Schnittstelle, indem Sie die MTU von eth0 ändern :

[root@server ~]# ip link set eth0 mtu 9000

Ändern Sie den Status der Schnittstelle, indem Sie den Promiscuous-Modus für eth0 aktivieren :

[root@server ~]# ip link set eth0 promisc on

Fügen Sie eine Standardroute (für alle Adressen) über das lokale Gateway 192.168.1.254 hinzu, das auf dem Gerät eth0 erreichbar ist :

[root@server ~]# ip route add default via 192.168.1.254 dev eth0

Fügen Sie eine Route zu 192.168.1.0/24 über das Gateway bei 192.168.1.254 hinzu:

[root@server ~]# ip route add 192.168.1.0/24 via 192.168.1.254

Fügen Sie eine Route zu 192.168.1.0/24 hinzu, die auf Gerät eth0 erreichbar ist :

[root@server ~]# ip route add 192.168.1.0/24 dev eth0

Löschen Sie die Route für 192.168.1.0/24 über das Gateway bei 192.168.1.254:

[root@server ~]# ip route delete 192.168.1.0/24 via 192.168.1.254

Anzeige der Route für IP 10.10.1.4:

[root@server ~]# ip route get 10.10.1.4

ifconfig

Die ifconfig Der Befehl war/ist ein Grundnahrungsmittel im Werkzeuggürtel vieler Sysadmins zur Konfiguration und Fehlerbehebung von Netzwerken. Es wurde inzwischen durch ip ersetzt Befehl oben besprochen. Wenn Sie jedoch weitere Informationen dazu wünschen, lesen Sie unseren zuvor veröffentlichten Artikel hier.

mtr

MTR (Matt's Traceroute) ist ein Programm mit einer Befehlszeilenschnittstelle, das als Netzwerkdiagnose- und Fehlerbehebungstool dient. Dieser Befehl kombiniert die Funktionalität des ping und traceroute Befehle. Genau wie eine traceroute , der mtr Der Befehl zeigt die Route von einem Computer zu einem bestimmten Host. mtr bietet viele Statistiken über jeden Hop, wie z. B. Antwortzeit und Prozentsatz. Mit dem mtr Befehl erhalten Sie mehr Informationen über die Route und können problematische Geräte auf dem Weg sehen. Wenn Sie eine plötzliche Verlängerung der Antwortzeit oder Paketverluste sehen, dann gibt es offensichtlich irgendwo eine schlechte Verbindung.

Die Syntax des Befehls lautet wie folgt:

mtr Hostname/IP

Sehen wir uns einige gängige Anwendungsfälle an.

Das grundlegende mtr Der Befehl zeigt Ihnen die Statistiken, einschließlich jedes Hops (Hostnamen) mit Zeit und Verlust%:

[root@server ~]# mtr google.com

Numerische IP-Adressen anzeigen (wenn Sie -g verwenden , erhalten Sie IP-Adressen (Zahlen) anstelle von Hostnamen):

[root@server ~]# mtr -g google.com

Zeigt auch die numerischen IP-Adressen und Hostnamen an:

[root@server ~]# mtr -b google.com

Legen Sie die Anzahl der Pings fest, die Sie senden möchten:

[root@server ~]# mtr -c 10 google.com

Holen Sie sich einen Bericht des mtr Befehlsergebnis:

[root@server ~]# mtr -r -c 10 google.com > mtr-command-google-output

oder:

[root@server ~]# mtr -rw -c 10 google.com > mtr-command-google-output

Erzwingen Sie die Verwendung von TCP anstelle von ICMP:

[root@server ~]# mtr –tcp google.com

Erzwingen Sie die Verwendung von UDP anstelle von ICMP:

[root@server ~]# mtr –udp google.com

Legen Sie die maximale Anzahl an Hops fest:

[root@server ~]# mtr -m 35 216.58.223.78

Definieren Sie die Paketgröße:

[root@server ~]# mtr -r -s 50 google.com

Als CSV-Ausgabe drucken:

[root@server ~]# mtr –csv google.com

In XML-Ausgabe drucken:

[root@server ~]# mtr –xml google.com

tcpdump

Der tcpdump Der Befehl dient zum Erfassen und Anzeigen von Paketen.

Sie können tcpdump installieren mit dem folgenden Befehl:

[root@server ~]# dnf install -y tcpdump

Bevor Sie mit der Erfassung beginnen, müssen Sie wissen, welche Schnittstellen tcpdump sind Kann benutzen. In diesem Fall müssen Sie sudo verwenden oder Root-Zugriff haben.

[root@server ~]# tcpdump -D

  1 eth0
  2 nflog
  3 nfqueue
  4 usbmon1
  5 any
  6 lo (Loopback)

Wenn Sie Traffic auf eth0 erfassen möchten , können Sie das mit tcpdump -i eth0 initiieren Beispielausgabe:

[root@server ~]# tcpdump -i eth0
[root@server ~]# tcpdump -i eth0 -c 10

Datenverkehr zu und von einem Host erfassen

Sie können Datenverkehr herausfiltern, der von einem bestimmten Host kommt. Um beispielsweise Datenverkehr von und nach 8.8.8.8 zu finden, verwenden Sie den Befehl:

[root@server ~]# tcpdump -i eth0 -c 10 host 8.8.8.8

Verwenden Sie für Datenverkehr aus 8.8.8.8:

[root@server ~]# tcpdump -i eth0 src host 8.8.8.8

Verwenden Sie für ausgehenden Datenverkehr zu 8.8.8.8:

[root@server ~]# tcpdump -i eth0 dst host 8.8.8.8

Datenverkehr zu und von einem Netzwerk erfassen

Mit dem folgenden Befehl können Sie auch Traffic zu und von einem bestimmten Netzwerk erfassen:

[root@server ~]# tcpdump -i eth0 net 10.1.0.0 mask 255.255.255.0

oder:

[root@server ~]# tcpdump -i eth0 net 10.1.0.0/24

Sie können auch nach Quelle oder Ziel filtern.

Basierend auf der Quelle (Zugriff von):

[root@server ~]# tcpdump -i eth0 src net 10.1.0.0/24

Basierend auf dem Ziel (Verkehr geht zu):

[root@server ~]# tcpdump -i eth0 dst net 10.1.0.0/24

Datenverkehr zu und von Portnummern erfassen

Erfassen Sie nur DNS-Port 53-Datenverkehr:

[root@server ~]# tcpdump -i eth0 port 53

Für einen bestimmten Host,

[root@server ~]# tcpdump -i eth0 host 8.8.8.8 and port 53

Um nur HTTPS-Verkehr zu erfassen,

[root@server ~]# tcpdump -i eth0 -c 10 host www.google.com and port 443

Um alle Ports außer Port 80 und 25 zu erfassen,

[root@server ~]# tcpdump -i eth0 port not 53 and not 25

netstat

Die netstat Tool zum Drucken von Netzwerkverbindungen, Routing-Tabellen, Schnittstellenstatistiken, Masquerade-Verbindungen und Multicast-Mitgliedschaften. Dieses Dienstprogramm ist Teil des net-tool-Pakets, ebenso wie ifconfig . Im neuen iproute2-Paket ist die Datei ss Tool verwendet wird, um die gleichen Ziele zu erreichen.

Wenn netstat auf Ihrem System nicht gefunden wird, installieren Sie es mit diesem Befehl:

[root@server ~]# dnf install net-tools

Die primäre Verwendung von netstat ist ohne Parameter:

[root@server ~]# netstat

Erweitern Sie für die erweiterte Verwendung die netstat Befehl mit Optionen:

netstat <options>

Oder listen Sie die Optionen einzeln auf:

netstat <option 1> <option 2> <option 3>

Um alle Ports und Verbindungen unabhängig von ihrem Status oder Protokoll aufzulisten, verwenden Sie:

[root@server ~]# netstat -a

Listen Sie alle TCP-Ports auf, indem Sie Folgendes ausführen:

[root@server ~]# netstat -at

Alle UDP-Ports auflisten mit:

[root@server ~]# netstat -au

Verwenden Sie zum Zurückgeben einer Liste ausschließlich lauschender Ports für alle Protokolle:

[root@server ~]# netstat -l

Listen Sie alle lauschenden TCP-Ports auf mit:

[root@server ~]# netstat -lt

Geben Sie nur lauschende UDP-Ports zurück, indem Sie Folgendes ausführen:

[root@server ~]# netstat -lu

Um UNIX-Listening-Ports aufzulisten, verwenden Sie:

[root@server ~]# netstat -lx

Statistiken für alle Ports unabhängig vom Protokoll anzeigen mit:

[root@server ~]# netstat -s

Statistiken nur für TCP-Ports auflisten mit:

[root@server ~]# netstat -st

Um die TCP-Verbindungen mit dem aufgelisteten PID-/Programmnamen anzuzeigen, verwenden Sie:

[root@server ~]# netstat -tp

Um einen Prozess zu finden, der eine bestimmte Portnummer verwendet, führen Sie Folgendes aus:

[root@server ~]# netstat -an | grep ‘:<port number>’

nslookup

Verwenden Sie nslookup Dienstprogramm zum interaktiven Abfragen von Internet-Nameservern. Verwenden Sie es, um DNS-Abfragen durchzuführen und Domänennamen oder IP-Adressen oder andere spezifische DNS-Einträge zu erhalten.

Betrachten Sie die folgenden allgemeinen Beispiele.

So finden Sie den A-Eintrag einer Domain:

[root@server ~]# nslookup example.com

So prüfen Sie die NS-Einträge einer Domain:

[root@server ~]# nslookup -type=ns example.com

So finden Sie die für den E-Mail-Austausch verantwortlichen MX-Einträge:

[root@server ~]# nslookup -query=mx example.com

So finden Sie alle verfügbaren DNS-Einträge einer Domain:

[root@server ~]# nslookup -type=any example.com

So überprüfen Sie die Verwendung eines bestimmten DNS-Servers (in diesem Fall Abfrage mit dem bestimmten Nameserver ns1.nsexample.com):

[root@server ~]# nslookup example.com ns1.nsexample.com

Das Überprüfen von DNS-A-Einträgen, um die IPs einer Domain zu sehen, ist eine gängige Praxis, aber manchmal müssen Sie überprüfen, ob eine IP-Adresse mit einer bestimmten Domain verknüpft ist. Zu diesem Zweck benötigen Sie eine Reverse-DNS-Suche.

[root@server ~]# nslookup 10.20.30.40

ping

Ping ist ein Tool, das die Konnektivität auf IP-Ebene mit einem anderen TCP/IP-Computer überprüft, indem Internet Control Message Protocol (ICMP) Echo Request-Nachrichten gesendet werden. Der Empfang entsprechender Echo-Reply-Nachrichten wird zusammen mit den Roundtrip-Zeiten angezeigt. Ping ist der primäre TCP/IP-Befehl, der zur Fehlerbehebung bei Konnektivität, Erreichbarkeit und Namensauflösung verwendet wird.

Einfaches ping Befehle nehmen nur einen Parameter entgegen:Den Hostnamen oder die Host-IP-Adresse, die Sie überprüfen möchten. Ein einfacher ping Beispiel ist genau wie unten:

[root@server ~]# ping google.com
PING google.com (216.58.206.174) 56(84) bytes of data.
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=1 ttl=56 time=10.7 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=2 ttl=56 time=10.2 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=3 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=4 ttl=56 time=10.4 ms
64 bytes from sof02s27-in-f14.1e100.net (216.58.206.174): icmp_seq=5 ttl=56 time=17.3 ms
^C
--- google.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 10.219/11.844/17.381/2.773 ms

Sie müssen den ping stoppen Befehl durch Drücken von STRG+C . Andernfalls wird es ping bis du damit aufhörst. Nach jedem ping Befehl, wird ein zusammenfassender Bericht mit den folgenden Informationen angezeigt:

  • Min:Minimale Zeit, die benötigt wird, um eine Antwort vom Host zu erhalten, der von Ihrer Seite gepingt wurde.
  • Durchschn.:Durchschnittliche Zeit, die benötigt wird, um eine Antwort vom Host zu erhalten, der von Ihrer Seite gepingt wurde.
  • Max:Maximale Zeit, die benötigt wird, um eine Antwort vom Host zu erhalten, der von Ihrer Seite gepingt wurde.

Außerdem sehen Sie TTL, was für Time To Live steht. Ping verwendet einen numerischen TTL-Wert, um zu versuchen, einen bestimmten Host-Computer über den Routenpfad zu erreichen. Dies wird auch als Hop-Limit bezeichnet.

Normalerweise, wenn Sie einen einfachen ping ausführen Befehl, ohne zusätzliche Parameter zu übergeben, wird Linux ping dieser Host für eine unendliche Zeit. Wenn Sie ping möchten einen Host zehnmal, verwenden Sie den folgenden Befehl:

[root@server ~]# ping -c 10 google.com

Verwenden Sie die Option -q um nur den ping anzuzeigen Statistikzusammenfassung:

[root@server ~]# ping -c 10 google.com

Auf Systemen mit mehreren Schnittstellen können Sie die Schnittstelle für den ping angeben Befehl zu verwenden. Wenn das System sowohl eth0 hat und eth1 und ich möchte ping mit eth0 :

[root@server ~]# ping -I eth0 google.com

Oder verwenden Sie die Adresse auf der Schnittstelle und nehmen Sie an, dass die Schnittstelle 10.233.201.45 als IP lautet:

[root@server ~]# ping -I 10.233.201.45 google.com

Sie können auch ping und geben Sie die IP-Version entweder als v4 oder v6 an:

[root@server ~]# ping -4 google.com
[root@server ~]# ping -6 google.com

Während Sie einen Host anpingen, werden Sie eine andere Ausgabe von ping finden Ergebnisse, einschließlich der folgenden drei Beispiele.

Zielhost nicht erreichbar

Der wahrscheinlich beste Grund ist, dass es keine Route vom lokalen Hostsystem und zum gewünschten Zielhost gibt, oder ein entfernter Router meldet, dass er keine Route zum Zielhost hat.

Zeitüberschreitung bei Anfrage

Dieses Ergebnis bedeutet, dass innerhalb der Standardzeit von einer Sekunde oder der von Ihnen eingestellten Zeit, während Sie diesen Host anpingen, keine Echo-Antwortnachrichten empfangen wurden. Dies kann viele verschiedene Ursachen haben; Zu den häufigsten gehören Netzwerküberlastung, Ausfall der ARP-Anforderung, Paketfilterung/Firewall usw.

Unbekannter Host/Ping-Anfrage konnte Host nicht finden

Möglicherweise haben Sie den Hostnamen falsch geschrieben oder der Host existiert überhaupt nicht im Netzwerk.

Sie müssen 0 % Paketverlust für jeden ping haben Ergebnis mit einer guten Latenz oder einer geringeren Reaktionszeit. Je nachdem, welches Übertragungsmedium (UTP, Glasfaserkabel, WLAN) Sie verwenden, unterscheidet sich Ihre Latenz.

[ Kostenloser Spickzettel:Holen Sie sich eine Liste von Linux-Dienstprogrammen und -Befehlen zum Verwalten von Servern und Netzwerken. ] 

Wir freuen uns

Sie sollten diese Befehle und Beispiele in Ihre Routinen aufnehmen, wenn Sie Ihre eigenen Netzwerke konfigurieren und Fehler beheben. Wenn Sie diese Art von Artikel hilfreich fanden, kontaktieren Sie uns bitte und lassen Sie es uns wissen. Halten Sie auch Ausschau nach Teil zwei unserer Community-Befehlsliste. Der nächste sind 16 allgemeine Linux-Befehle, auf die Sie nicht verzichten können.


Linux
  1. Soundthemen in Linux:Was jeder Benutzer wissen sollte

  2. 3 Fähigkeiten, die jeder Linux-Systemadministrator mitbringen sollte

  3. 6 OpenSSL-Befehlsoptionen, die jeder Systemadministrator kennen sollte

  4. 17 Linux-Befehle, die jeder Systemadministrator kennen sollte

  5. Liste der Linux-Befehle, die jeder Entwickler kennen sollte

5 Linux-Befehle, die jeder Linux-Benutzer kennen sollte

21 grundlegende Befehle, die jeder Docker-Benutzer kennen sollte

5 einfache Bash-Verlaufstricks, die jeder Linux-Benutzer kennen sollte

Linux-Befehle, die alle Benutzer kennen sollten {Ultimate List}

Interessante Fakten über Linux, die Sie kennen sollten

Die 20 besten Linux-Gaming-Websites, die jeder Gamer kennen muss