Rechnernetz: Unterschied zwischen den Versionen

Aus Mikiwiki
Wechseln zu: Navigation, Suche
(Fehlersuche)
(Weblinks)
 
Zeile 161: Zeile 161:
 
{{Weblinks}}
 
{{Weblinks}}
 
{{url_dewikipedia|Rechnernetz|Rechnernetz}}
 
{{url_dewikipedia|Rechnernetz|Rechnernetz}}
{{url|DE|Linux User|ger|http://www.linux-user.de/ausgabe/2002/03/030-konsole/konsole.html|Netzwerk in der Shell}}
+
{{url|DE|Linux User|ger|http://www.linux-user.de/ausgabe/2002/03/030-konsole/konsole.html|Netzwerk in der Shell|icon=https://www.linux-community.de/wp-content/uploads/2020/01/Favicon_32x32.png}}
 
{{Fuss}}
 
{{Fuss}}
  

Aktuelle Version vom 19. November 2022, 20:00 Uhr

Ein Rechnernetz (auch: Netzwerk, Rechnernetzwerk) ist ein Zusammenschluss von verschiedenen technischen, primär selbstständigen elektronischen Systemen (insbesondere Rechnern, aber auch Sensoren, Aktoren, funktechnologischen Komponenten usw.), der die Kommunikation der einzelnen Systeme untereinander über ihre Netzwerkschnittstellen ermöglicht.

Die Kommunikation erfolgt über verschiedene Netzwerkprotokolle, die mittels des OSI-Modells strukturiert werden können. In der Praxis bildet zwar kein Rechnernetz das OSI-Modell vollständig ab, dennoch ist für das Verständnis von Rechnernetzen von entscheidender Bedeutung, da hierbei aus kleinen grundlegenden Strukturen durch Verknüpfung grössere und komplexere Strukturen gebildet werden. Dabei greifen höhere (komplexere) Protokollschichten auf die Funktionalitäten von einfacheren darunter liegenden Protokollschichten zu.

Ein wichtiger Grundsatz dabei ist, dass den meisten Protokollschichten jeweils (Nutz-) Daten (Payload) zum Transport übergeben werden können. Die Protokollschicht fügt zu diesen Nutzdaten (deren Inhalt sie weitgehend ignoriert) vorne und teilweise hinten weitere Daten an, die für die Abwicklung des Transportes durch die Protokollschicht wichtig sind. Allerdings gibt es auch hiervon Ausnahmen, da einige Protokolle nicht dazu gedacht sind, fremde Nutzdaten zu transportieren, sondern ausschliesslich als eigenständige Informationssysteme für bestimmte Aufgaben fungieren.

Die allgemein bekannteste Netzstruktur ist das Internet und die bekanntesten Protokolle sind das Transmission Control Protocol / TCP und das Internet Protocol / IP, jedoch spielen auch im Internet eine Reihe weiterer Protokolle wichtige Rollen. Auch das Internet selbst ist kein homogenes Netz, sondern besteht aus einer Vielzahl teils recht unterschiedlich konzipierter Teilnetze, die nur die oberen Protokollschichten gemeinsam haben und die Nutzdatenübertragung auf den unteren Protokollschichten teilweise sehr unterschiedlich handhaben.

Rechnernetze können unter anderem anhand der folgenden Kriterien klassifiziert werden:

  • organisatorische Abdeckung,
  • Übertragungsweg bzw. Übertragungstechnologie.

Topologie

Unter der Topologie wird die Art verstanden, wie die verschiedenen beteiligten Komponenten (also zumeist Rechner) im Netz durch physische oder logische Leitungswege verbunden sind. Um mehrere Rechner in einem Rechnernetz einzubinden, wird eine gute Planung benötigt, welche durch die Einteilung der Topologie vereinfacht wird. So bilden sich Rechnernetze, in denen es Verbindungen und Knoten gibt, über die man gegebenenfalls über mehrere Zwischenpunkte von jedem Bereich des Netzes zu jedem anderen Bereich des Netzes kommen kann.

Es gibt eine Reihe von Grundstereotypen, die so in dieser klaren Form jedoch selten in der Praxis auftreten.

Bezeichnung Beschreibung Nachteile
Stern-Topologie Es gibt es einen zentralen Verteilpunkt, der alles kontrollieren kann, aber ohne den nichts funktioniert.

Der Verteilpunkt (Hub oder Switching Hub) besitzt vier bis 16 Anschlüsse und ist kaskadierbar. Die Verkabelung erfolgt über Twisted-Pair-Kabel und ermöglicht einen Datendurchsatz von 10-100 Mbit/s. Diese Topologie wird eigentlich nur in Kleinstnetzen (häufig bei LAN-Partys) verwendet. Eine Verbindung mehrerer Sterntopologien an ihren Konzentrationspunkten wird auch als Erweiterte Stern-Topologie bezeichnet. ||

  • Datenkollision
Baum-Topologie Ein ähnlicher Ansatz wie bei der Stern-Topologie, der allerdings hierarchisch gestaffelt wird. Der "oberste" Rechner hat die Kontrolle über alle anderen, die Macht schrumpft, je weiter unten man im Baum sitzt.
Ring-Topologie Jeder Rechner hat eine Position in einem Ring und ist nur mit seinen Nachbarn verbunden. Die Verkabelung ist dabei sehr einfach. Diese Topologie wurde zuletzt meist als Token-Ring-Rechnernetz ausgeführt.
  • Der Ausfall eines Rechners legt das ganze Rechnernetz lahm.
  • Nur für grosse Firmen geeignet.
Bus-Topologie Alle beteiligten Rechner greifen auf ein gemeinsam und von allen genutztes Medium zu, wodurch es darauf zu Kollisionen kommen kann. Alle Rechner sind über ein BNC-Kabel (meist RG58) mit maximal 10 Mbit/s über das Ethernet-Protokoll miteinander verbunden.
  • Geringer Datendurchsatz
  • Anfälligkeit für Kabeldefekte
  • Datenkollision
vermaschtes Netz Jeder Rechner ist mit mehreren Nachbarn verbunden. Es existieren damit redundante Wege, sodass selbst beim Ausfall einer Leitung das Netz noch über eine andere Leitung verbunden bleibt.
Zell-Topologie Diese Topologie spielt bei Funknetzen mit ihren speziellen Zugriffseigenschaften eine besondere Rolle.

In der Praxis treten fast immer Mischformen dieser Stereotype auf, ausserdem gibt es eine Reihe von Bezeichnungen für bestimmte Spezialformen. Als "Smart Network" oder "Smart Grid" wird beispielsweise die spontane, selbstorganisierte Vernetzung beliebiger Geräte bezeichnet.

Netwhistler visualisiert die Topologie eines Rechnernetzes.

Konfiguration

route fügt neue Routen hinzu, ändert und löscht sie.

Die Datei "/etc/resolv.conf" enthält die Informationen zum Finden von Hostnamen mittels DNS. Normalerweise sind hier einige Standarddomains eingetragen, die als optionale Suffixe in Suchen verwendet werden. Ausserdem die IP-Adresse von einem oder bis zu drei DNS-Servern.

Die Datei "/etc/nsswitch.conf" entscheidet, in welcher Reihenfolge ein Hostname aufgelöst werden soll:

  • "files" durchsucht zuerst die Datei "/etc/hosts"
  • "dns" befragt die in der Datei "/etc/resolv.conf" eingetragenen DNS-Server

Die Datei "/etc/services" enthält Zuordnungen der bekanntesten Dienste zu den verwendeten Ports.

Die Rechnernertzumgebung wird je nach Distribution in verschiedenen Verzeichnissen konfiguriert.

Distribution Konfigurationsdatei
Debian /etc/network
Fedora, Manriva /etc/networking
SUSE /etc/sysconfig/network

Ändern der Rechnernetzkonfiguration

Für die erste Netzwerkschnittstelle ("eth0") wird die IP-Adresse "10.0.5.1" mit der Netzmaske "255.255.255.0" gesetzt.

# ifconfig eth0 10.0.5.1 netmask 255.255.255.0

Löschen des vorhandenen Standardgateways "10.0.5.120".

# route del default gw 10.0.5.120

Setzen des neuen Standardgateways "10.0.5.6".

# route add default gw 10.0.5.6

Wegsichern der bestehenden Datei "/etc/resolv.conf" und Erstellung einer neuen Datei mit dem Eintrag "nameserver 10.0.1.201".

# cp /etc/resolv.conf /home/mik/resolv.backup && echo "nameserver 10.0.1.201" > /etc/resolv.conf

Beobachtung der Netzwerktätigkeit

Anzeige detaillierter Informationen zu den Sockets.

$ netstat -pa

Anzeige der Anzahl von Sockets und in welchem Status sie sich befinden.

$ netstat -a -n | grep "^tcp" | cut -c 68- | sort | uniq -c | sort -n

Anzeige der Anzahl der aktuell geöffneten Sockets.

$ cat /proc/net/sockstat

Anzeige, welche Prozess-IDs einen bestimmten TCP-Socket verwenden.

$ fuser -n tcp 5006 | sed -e 's/.*: *//'

Fehlersuche

Nützliche Shell-Befehle zur Fehlerbehebung in einem Rechnernetz:

  • arp
  • ifconfig (aus dem Paket "net-tools") für die Konfiguration von Netzwerkschnittstellen
  • ip (aus dem Paket "iproute") bewältigt vielfältige Aufgaben in einem Rechnernetz
  • ping
  • route
  • traceroute

Vorgehen bei der Fehlersuche.

1. Überprüfung des physikalischen Kontakts. Ob eine Verbindung besteht, wird von den meisten NICs durch eine grüne Leuchtdiode neben dem Stecker angezeigt.

2. Überprüfung mit ifconfig, ob die Netzwerkschnittstelle korrekt ins Betriebssystem integriert ist und allenfalls Aktivierung der NIC mit dem Aufruf "ifconfig [Schnittstelle] [IP-Adresse] up" - der Aufruf "ifconfig [Schnittstelle] down" schaltet die Netzwerkschnittstelle wieder ab. Wird die Netzwerkschnittstelle ohne IP-Adresse angezeigt, so kann mit "ps -ax | grep dhcpd" überprüft werden, ob der DHCP-Client läuft. Sollte die Schnittstelle nach Starten des DHCP-Clients noch immer keine IP-Adresse besitzen, so kann sie wie beschrieben aus- und wieder angeschaltet werden.

3. Überprüfung mit lsmod, ob das für die Netzwerkschnittstelle benötigte Kernelmodul geladen ist, falls sich die Schnittstelle weigert zu starten. Der Typ der am PCI-Slot angeschlossenen Karte kann mit "lspci | grep Ethernet" herausgefunden werden. Sollte das Modul nicht geladen sein, kann wie folgt geprüft werden, ob ein Kernelmodul für die Karte verfügbar ist:

  • Eingabe des Befehls lspci | grep Ethernet . Die erste Zahlenkolonne (z. B. "02:08.0") repräsentiert die physikalische Schnittstelle auf der Hauptplatine.
  • Eingabe des Befehls lspci | grep 02:08.0 , um die numerische ID des Geräts zu erfahren, die dann z. B. "02:08.0 Class 0200:8086:1050 (rev 02)" lautet, wobei "8086" die Vendor-ID und "0150" die Device-ID darstellt.
  • Öffnen der Datei /lib/modules/<Kernel-Version>/modules.pcimap und vergleichen der zweiten und dritten Zeichenkolonne mit dem zuvor ermittelten Eintrag für Vendor- und Device-ID. Am einfachsten begibt man sich ins entsprechende Verzeichnis und sucht mit cat modules.pcimap | grep '<VendorID> 0x0000<Device-ID>' in der Datei. Die gefundene Zeile beginnt mit dem Namen des passenden Moduls, z. B. "e100".
  • Zum Laden des Moduls wird modprobe e100 eingegeben. Im Notfall kann auch die Brachialmethode insmod e100 verwendet werden.

Bei funktionierender Hardware kann nun mit ping Verbindung zu anderen Rechnern im lokalen Netzwerk oder auch im Internet aufgenommen werden. Klappt die Verbindung trotz aktivierter Karte und zugewiesener IP-Adresse nicht, liegt das oft an einem falschen Eintrag in der Routing-Tabelle. Diese gibt an, wohin sich der Rechner bei Kontaktversuchen ins Netz wenden soll. Über das Default-Gateway schickt das System alle Kontaktversuche, die keine andere Route beschreibt. Als Default-Gateway dient im Heimnetz oft die IP-Adresse 192.168.0.1; die Fritzbox verwendet als Standard 192.168.178.1. route zeigt die Einstellungen der Routing-Tabelle.

Wenn andere Rechner im LAN nicht erreicht werden können, kann das auch an falschen Netzwerksegmenten liegen. Besitzt beispielsweise Rechner 1 die IP-Adresse 192.168.1.50 und Rechner 2 die IP-Adresse 192.168.2.53, so befinden sich beide in verschiedenen Netzwerksegmenten und können nur über einen Router miteinander kommunizieren. Solche und andere Probleme können am besten durch Einsatz eines DHCP-Dienstes vermieden werden. er wird dem PC nach dem Booten automatisch sowohl eine gültige IP-Adresse liefern sowie das Standardgateway und einen Nameservereintrag einrichten.

Eine Fehlkonfiguration des Nameservereintrags zeigt sich etwa dadurch, dass zwar die Kommunikation zu Rechnern im Internet über die IP-Adresse problemlos klappt, aber der Seitenaufruf über den Domainnamen mit der Fehlermeldung "Seite konnte nicht angezeigt werden" endet. Eine korrekte Nameserverkonfiguration kann mit dem Befehl nslookup überprüft werden.

Kann ein Rechner zwar angepingt, ein dort laufender Dienst aber nicht erreicht werden, so kann das daran liegen, dass die eigene Firewall den Zugriff verhindert. Mit dem Befehl iptables kann der Status des Paketfilters überprüft werden.

Zum Überprüfen, ob der eigene oder der Zielrechner einen bestimmten Dienst überhaupt anbietet, eignen sich ein Portscanner.

Falls im selben Netz zweimal dieselbe IP-Adresse vergeben wurde, kann dies das gesamte Rechnernetz lahmlegen. Mit den Befehlen arp, arping und arpwatch kann eine solche Doppelvergabe aufgedeckt werden. Manchmal liegt der Fehler nicht in der eigenen Konfiguration, sondern am Übertragungsweg, was mit dem Befehl traceroute herauszufinden ist.

Zur Anzeige offener Rechnernetzverbindungen eignet sich der Befehl netstat. Deutlich informativer gibt sich iptraf.

Oft ist es auch hilfreich, sich nicht nur die Verbindungen sondern mit einem Sniffer (z. B. tcpdump) auch die Paketinhalte anzusehen.

Sicherheit

Einige recht einfache Massnahmen erhöhen die Sicherheit eines Rechnernetzes ganz erheblich:

  • Ein Rechnernetz ist nur so sicher wie das unsicherste Passwort, das darin zum Einsatz kommt. Es sollten also nur Passwörter mit ausreichender Länge und genügend Vielfalt in Bezug auf Sonderzeichen und Gross-/Kleinschreibung verwendet werden. Zusätzliche Sicherheit kann gewonnen werden, wenn die Passwörter durch ein Public-Key-Verfahren ersetzt werden.
  • Verwendung aktueller Software sowie das Einspielen aktueller Sicherheitspatches. Informationen über Sicherheitslücken finden sich beispielsweise über Mailinglisten wie Buqtraq bei Securityfocus. Gängige Linux-Distributionen informieren über sogenannte Security Advisories über Sicherheitslücken in den Paketen der Distribution:
  • Der Rechner sollte nach dem "KISS-Prinzip" (Keep it small and simple) eingerichtet werden, es sollten also nur die für den Betrieb des Rechners wirklich notwendigen Netzwerkdienste angeboten werden. Die ausschliesslich lokal verwendeten Netzwerkdienste sollten auch wirklich nur für Anfragen aus dem lokalen Rechnernetz erlaubt sein und angeboten werden. Wird etwa auf einem Notebook zu Testzwecken ein Webserver eingesetzt, so sollte dieser so konfiguriert werden, dass er nur auf Anfragen über die Loopback-Schnittstelle antwortet.
  • Es sollten nur verschlüsselte Netzwerkdienste wie SSH, HTTPS, SFTP und IMAP zum Einsatz kommen.
  • In älteren Rechnernetzen wird oft noch ein Hub zum Anschluss der Rechner verwendet. Der Datenverkehr eines Rechners erreicht in diesem Fall automatisch auch die anderen angeschlossenen Rechner, die sich alle innerhalb derselben "Kollisionsdomäne" befinden. Befindet sich eine der Netzwerkschnittstelle im Promiscuous Mode, so empfängt der Rechner alle Informationen, z. B. unverschlüsselte Login-Daten für FTP, SMTP oder Telnet. Besondere Sniffer (z. B. Phoss) verfeinern diese Technik und liefern nach dem Start sogar ausschliesslich die übers Rechnernetz versandten Anmeldedaten. Abhilfe schafft hier ein Switch, der den Datenstrom direkt vom Absender zum Empfänger leitet. Über Methoden wie ARP-Poisoning kann sich ein Angreifer aber auch in ein geswitchtes Rechnernetz einschalten. Über MAC-Flooding lässt sich ein Switch ausserdem recht leicht in den Repeat-Modus versetzen, worauf er die Daten gewissermassen wie beim Hub im ganzen Rechnernetz verteilt. Entsprechende Manipulationen fallen dem Systemverwalter beispielsweise mit Hilfe von Arpwatch auf.

Erst wenn diese Punkte erledigt sind, macht es Sinn, den Einsatz einer Firewall zu erwägen.

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
country DE.gif Wikipedia ger Rechnernetzwbm Enzyklopädischer Artikel
country DE.gif Linux User ger Netzwerk in der Shellwbm