Website-Suche

LFCA: Lernen Sie grundlegende Tipps zur Fehlerbehebung im Netzwerk kennen – Teil 12


Wenn Systeme auf Probleme stoßen, was manchmal der Fall ist, müssen Sie sich mit dem Problem auskennen und sie wieder in einen normalen und funktionsfähigen Zustand versetzen. In diesem Abschnitt konzentrieren wir uns auf grundlegende Fähigkeiten zur Fehlerbehebung im Netzwerk, über die jeder Linux-Systemadministrator verfügen sollte.

Grundlegendes Verständnis der Netzwerkfehlerbehebung

In den meisten Fällen klafft eine große Lücke zwischen Netzwerkadministratoren und Systemadministratoren. Systemadministratoren, denen es an Netzwerktransparenz mangelt, geben Netzwerkadministratoren in der Regel die Schuld für Ausfälle und Ausfallzeiten, während Netzwerkadministratoren aufgrund unzureichender Serverkenntnisse oft die Systemadministratoren für den Ausfall von Endgeräten verantwortlich machen. Die Schuldzuweisungen helfen jedoch nicht, Probleme zu lösen, und in einem Arbeitsumfeld kann dies die Beziehungen zwischen Kollegen antagonisieren.

Als Systemadministrator hilft ein grundlegendes Verständnis der Netzwerkfehlerbehebung, Probleme schneller zu lösen und eine kohärente Arbeitsumgebung zu fördern. Aus diesem Grund haben wir diesen Abschnitt zusammengestellt, um einige der grundlegenden Tipps zur Netzwerkfehlerbehebung hervorzuheben, die sich bei der Diagnose von Netzwerkproblemen als nützlich erweisen werden.

Eine Zusammenfassung des TCP/IP-Modells

In unserem vorherigen Thema der LFCA-Serie haben wir uns mit dem konzeptionellen TCP/IP-Modell befasst, das die Übertragung von Daten in einem Computer und die Protokolle zeigt, die in jeder Schicht zu finden sind.

Ein weiteres, ebenso wichtiges konzeptionelles Modell ist das OSI-Modell (Open Systems Interconnection). Es handelt sich um ein 7-Layer-TCP/IP-Framework, das ein Netzwerksystem aufschlüsselt, und das Computing fungiert als jede Schicht.

Im OSI-Modell werden diese Funktionen beginnend von unten in die folgenden Schichten unterteilt. Physikalische Schicht, Sicherungsschicht, Netzwerkschicht, Transportschicht, Sitzungsschicht. Präsentationsschicht und schließlich Anwendungsschicht ganz oben.

Es ist unmöglich, über die Fehlerbehebung im Netzwerk zu sprechen, ohne auf das OSI-Modell Bezug zu nehmen. Aus diesem Grund führen wir Sie durch jede Schicht und finden die verschiedenen verwendeten Netzwerkprotokolle heraus und erfahren, wie Sie Fehler beheben können, die mit jeder Schicht verbunden sind.

Schicht 1: Physikalische Schicht

Dies ist wahrscheinlich eine der am meisten übersehenen Schichten, aber sie ist eine der wichtigsten Schichten, die für jede Kommunikation erforderlich ist. Die physikalische Schicht umfasst die physischen PC-Netzwerkkomponenten eines PCs wie Netzwerkkarten, Ethernet-Kabel, Glasfasern usw. Die meisten Probleme beginnen hier und werden meist verursacht durch:

  • Nicht eingestecktes Netzwerk-/Ethernet-Kabel
  • Beschädigtes Netzwerk-/Ethernet-Kabel
  • Fehlende oder beschädigte Netzwerkkarte

In dieser Schicht kommen mir folgende Fragen in den Sinn:

    Um den Status Ihrer Netzwerkschnittstellen zu überprüfen, führen Sie den Befehl ip aus:

    $ ip link show
    

    Aus der obigen Ausgabe haben wir 2 Schnittstellen. Die erste Schnittstelle – lo – ist die Loopback-Adresse und wird in der Regel nicht verwendet. Die aktive Netzwerkschnittstelle, die die Konnektivität zum Netzwerk und zum Internet bereitstellt, ist die enp0s3-Schnittstelle. Aus der Ausgabe können wir ersehen, dass der Status der Schnittstelle UP ist.

    Wenn eine Netzwerkschnittstelle ausgefallen ist, wird die Ausgabe des Status DOWN angezeigt.

    Wenn dies der Fall ist, können Sie die Schnittstelle mit dem folgenden Befehl aufrufen:

    $ sudo ip link set enp0s3 up
    

    Alternativ können Sie den unten gezeigten Befehl ifconfig ausführen.

    
    sudo ifconfig enp0s3 up
    ip link show
    

    Um zu bestätigen, dass Ihr PC eine IP-Adresse vom Router oder DHCP-Server ausgewählt hat, führen Sie den Befehl ifconfig aus.

    $ ifconfig
    

    Der IPv4-Adresse wird der Parameter inet vorangestellt, wie gezeigt. Die IP-Adresse für dieses System lautet z. B. 192.168.2.104 mit einem Subnetz oder einer Netzmaske von 255.255.255.0.

    
    ifconfig
    

    Alternativ können Sie den Befehl ip address wie folgt ausführen, um die IP-Adresse Ihres Systems zu überprüfen.

    
    ip address
    

    Um die IP-Adresse des Standardgateways zu überprüfen, führen Sie den folgenden Befehl aus:

    
    ip route | grep default
    

    Die IP-Adresse des Standard-Gateways, bei dem es sich in den meisten Fällen um den DHCP-Server oder -Router handelt, wird wie unten gezeigt angezeigt. In einem IP-Netzwerk sollten Sie in der Lage sein, das Standard-Gateway zu pingen.

    Um die von Ihnen verwendeten DNS-Server zu überprüfen, führen Sie den folgenden Befehl auf systemd-Systemen aus.

    
    systemd-resolve --status
    

    Eine bessere Möglichkeit, die verwendeten DNS-Server zu überprüfen, besteht darin, den gezeigten Befehl nmcli auszuführen

    
    ( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS
    

    Wie Sie beobachtet haben, findet hier ein ziemlich großer Teil der Netzwerkfehlerbehebung statt.

    Schicht 2: Sicherungsschicht

    Im Wesentlichen bestimmt die Sicherungsschicht das Datenformat im Netzwerk. Hier findet die Kommunikation von Datenrahmen zwischen den Hosts statt. Das vorherrschende Protokoll in dieser Schicht ist das ARP (Address Resolution Protocol).

    ARP ist für die Erkennung von Link-Layer-Adressen verantwortlich und führt die Zuordnung von IPv4-Adressen auf Layer 3 zu MAC-Adressen durch. Wenn ein Host das Standard-Gateway kontaktiert, besteht in der Regel die Möglichkeit, dass er bereits über die IP des Hosts verfügt, aber nicht über die MAC-Adressen.

    Das ARP-Protokoll schließt die Lücke zwischen Layer 3 und Layer 2, indem es die 32-Bit-IPv4-Adressen auf Layer 3 in 48-Bit-MAC-Adressen auf Layer 2 übersetzt und umgekehrt.

    Wenn ein PC einem LAN-Netzwerk beitritt, weist ihm der Router ( Standard-Gateway ) eine IP-Adresse zur Identifizierung zu. Wenn ein anderer Host ein Datenpaket, das für den PC bestimmt ist, an das Standard-Gateway sendet, fordert der Router ARP auf, nach der MAC-Adresse zu suchen, die zur IP-Adresse gehört.

    Jedes System hat seine eigene ARP-Tabelle. Um Ihre ARP-Tabelle zu überprüfen, führen Sie den folgenden Befehl aus:

    $ ip neighbor show
    

    Wie Sie feststellen können, ist die MAC-Adresse des Routers ausgefüllt. Wenn es ein Auflösungsproblem gibt, gibt der Befehl keine Ausgabe zurück.

    Schicht 3: Netzwerk-/Internetschicht

    Dies ist die Schicht, auf der Sie ausschließlich mit IPv4-Adressen arbeiten, die mit Systemadministratoren vertraut sind. Es bietet mehrere Protokolle wie ICMP und ARP, die wir behandelt haben, und andere wie RIP (Routing Information Protocol).

    Zu den häufigsten Problemen gehören eine Fehlkonfiguration von Geräten oder Probleme mit Netzwerkgeräten wie Routern und Switches. Ein guter Ausgangspunkt für die Fehlerbehebung ist die Überprüfung, ob Ihr System eine IP-Adresse wie folgt ausgewählt hat:

    $ ifconfig
    

    Sie können den Ping-Befehl auch verwenden, um die Internetverbindung zu überprüfen, indem Sie ein ICMP-Echo-Paket an das DNS von Google senden. Das Flag -c gibt die Anzahl der gesendeten Pakete an.

    $ ping 8.8.8.8 -c 4
    

    Die Ausgabe zeigt eine positive Antwort von Googles DNS ohne Paketverlust. Wenn Sie eine unterbrochene Verbindung haben, können Sie mit dem Befehl traceroute wie folgt überprüfen, an welchem Punkt die Pakete verworfen werden.

    $ traceroute google.com
    

    Die Sternchen zeigen den Punkt an, an dem Pakete verworfen werden oder verloren gehen.

    Der Befehl nslookup fragt das DNS ab, um die IP-Adresse abzurufen, die einer Domäne oder einem Hostnamen zugeordnet ist. Dies wird als Forward DNS-Lookup bezeichnet.

    Zum Beispiel.

    
    nslookup google.com
    

    Der Befehl zeigt die IP-Adressen an, die der google.com Domäne zugeordnet sind.

    
    Server:		127.0.0.53
    Address:	127.0.0.53#53
    
    Non-authoritative answer:
    Name:	google.com
    Address: 142.250.192.14
    Name:	google.com
    Address: 2404:6800:4009:828::200e
    

    Der Befehl dig ist ein weiterer Befehl, der zum Abfragen von DNS-Servern verwendet wird, die einem Domainnamen zugeordnet sind. Um beispielsweise die DNS-Nameserver abzufragen, führen Sie Folgendes aus:

    
    dig google.com
    

    Schicht 4: Transportschicht

    Die Transportschicht übernimmt die Datenübertragung über die Protokolle TCP und UDP. Zur Erinnerung: TCP ist ein verbindungsorientiertes Protokoll, während UDP verbindungslos ist. Ausführen von Anwendungen lauscht auf Sockets, die aus Ports und IP-Adressen bestehen.

    Häufige Probleme, die auftreten können, einschließlich blockierter TCP-Ports, die von Anwendungen benötigt werden können. Wenn Sie über einen Webserver verfügen und dessen Ausführungsstatus überprüfen möchten, verwenden Sie den Befehl netstat oder ss, um zu überprüfen, ob der Webdienst Port 80 überwacht

    $ sudo netstat -pnltu | grep 80
    OR
    ss -pnltu | grep 80
    

    Manchmal kann es vorkommen, dass ein Port von einem laufenden Dienst im System verwendet wird. Wenn Sie möchten, dass ein anderer Dienst diesen Port verwendet, sind Sie möglicherweise gezwungen, ihn so zu konfigurieren, dass er einen anderen Port verwendet.

    Wenn weiterhin Probleme auftreten, überprüfen Sie die Firewall und überprüfen Sie, ob der Port, an dem Sie interessiert sind, blockiert ist.

    Der größte Teil der Fehlerbehebung erfolgt über diese 4 Ebenen. Es wird nur sehr wenig Fehlerbehebung auf Sitzungs-, Präsentations- und Anwendungsebene durchgeführt. Dies liegt daran, dass sie eine weniger aktive Rolle für das Funktionieren eines Netzwerks spielen. Lassen Sie uns jedoch schnell einen Überblick darüber haben, was in diesen Schichten passiert.

    Schicht 5: Sitzungsschicht

    Die Sitzungsschicht öffnet Kommunikationskanäle, die als Sitzungen bezeichnet werden, und sorgt dafür, dass diese während der Datenübertragung offen bleiben. Sie schließt sich auch, sobald die Kommunikation beendet ist.

    Schicht 6: Präsentationsschicht

    Die Darstellungsschicht, die auch als Syntaxschicht bezeichnet wird, synthetisiert Daten, die von der Anwendungsschicht verwendet werden sollen. Es legt fest, wie Geräte Daten verschlüsseln, codieren und komprimieren sollten, um sicherzustellen, dass sie am anderen Ende gut ankommen.

    Schicht 7: Anwendungsschicht

    Schließlich haben wir die Anwendungsschicht, die den Endbenutzern am nächsten ist und es ihnen ermöglicht, mit der Anwendungssoftware zu interagieren. Die Anwendungsschicht ist reich an Protokollen wie HTTP, HTTPS, POP3, IMAP, DNS, RDP, SSH, SNMP und NTP, um nur einige zu nennen.

    Schlussfolgerung

    Bei der Fehlerbehebung eines Linux-Systems wird der mehrschichtige Ansatz mit dem OSI-Modell dringend empfohlen, beginnend mit der untersten Schicht. Dies gibt Ihnen Einblicke in das, was schief läuft, und hilft Ihnen, das Problem einzugrenzen.

    Verwandte Artikel: