Einleitung zu IPsec

Wer als Linux- oder Windows-Administrator in Firmen Netzwerke verwaltet, der muss meistens unterschiedliche Netzwerke miteinander verbinden. Etwa mehrere Außenstellen oder Filialen an eine Zentrale (der Firma) .  Um dies zu eralisieren, kommt heute sehr oft IPSec als Basis für ein VPN (virtual private network) zum Einsatz. In diesem Tutorial im Rahmen unserer Reihe zur Linux-Administration lernen Sie:

  • Wie Verschlüsselung grundsätzlich funktioniert
  • Wie ein Verbindungsaufbau für ein IPSec-VPN  prinzipiell abläuft
  • Wie IPsec auf der Opensource Firewall pfsense implementiert ist.

IPsec (Internet Protocol Security) ist heute ein de-fakto Standard für die Verschlüsselung von Datenverkehr im Internet. IPSec ist auf allen gängigen Betriebssystem-Plattformen sowie in den allermeisten Firewalls vorhanden. IPsec wird heute vor allem zur Koppelung von unterschiedlichen IP-Netzwerken – etwa hinter Firewalls – verwendet.

Hinweis: Für das Verständnis der Implementierung von IPSec auf einer pfsense-Firewall sollten, Sie die Grundlagen der Netzwerk-Technik verstehen und die Basics der pfsense-Firewall verstanden haben. Über beide Themen haben wir hier im Blog der Biteno GmbH ausführliche Tutorials.

Lesetipps dazu:

Technische Komponenten für ein VPN

Damit ein VPN mit IPsec einwandfrei funktioniert, benötigen wir auf der Firewall mehrere Elemente:

  • Eine Hash-Funktion,
  • Eine Schlüsselverwaltung
  • Einen Verschlüsselungsalgorithmus

Hashes / Prüfwerte

Ein Hash-Wert dient zur Berechnung eines eindeutigen Prüfwerts für beliebige digitale Daten (Nachrichten). Hashes sind außerdem  Grundlage zur Erstellung einer digitalen Signatur.

Der Prüfwert wird verwendet, um die Integrität einer Nachricht bzw. einer beliebigen Zeichenkette zu sichern.

Wenn zwei Nachrichten den gleichen Prüfwert ergeben, soll die Gleichheit der Nachrichten nach normalem Ermessen garantiert sein. Darum fordert man von einer kryptologischen Hashfunktion die Eigenschaft der Kollisionssicherheit: es soll praktisch unmöglich sein, zwei verschiedene Nachrichten mit dem gleichen Prüfwert zu erzeugen.

(Quelle: Wikipedia: https://de.wikipedia.org/wiki/Secure_Hash_Algorithm)

Die Eigenschaften eines Hash-Wertes:

  • Jeder Hashwert einer identischen Zeichenkette muss immer denselben Output (=Hashwert) ergeben.
  • Eine Rückrechnung – also ein Knacken des Hashes soll möglichst unmöglich sein

Anwendung für Prüfsummen:

Hashwerte werden immer dann verwendet, um etwa Passwörter zu vergleichen. So werden in modernen Anwendungen nicht die Passwörter gespeichert, sondern deren Hash-Werte.

Nach der Eingabe eines Passworts durch den Anwender wird der Hash-Wert ermittelt und mit dem gespeicherten Hash-Wert verglichen. Sind beide gleich, dann stimmten die Passwörter überein.

MD5

Der Message-Digest Algorithm 5 (MD5) ist eine weit verbreitete kryptographische Hashfunktion, die aus einer beliebigen Nachricht einen 128-Bit-Hashwert erzeugt. Dies erlaubt beispielsweise die leichte Überprüfung eines Downloads auf Korrektheit. Der MD5 wurde 1991 von entwickelt.

Bsp. Zu MD5

1
„Hallo mein Name ist Franz“ -&gt; <strong>53fd70b0411e0822625bbb08cd8d941b</strong>

MD5 Hash-Wert online erstellen: https://www.md5-generator.de/

Der MD5  gilt heute (2017/2018) als Hash-Wert nicht mehr als wirklich sicher, da es mit überschaubarem Aufwand möglich ist, unterschiedliche Nachrichten zu erzeugen, die den gleichen MD5-Hashwert aufweisen.

Dennoch findet sich der MD5 noch immer in vielen Software-Anwendungen bzw. Firewalls.

Weiterführende Informationen: https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5

SHA-1 und Nachfolger

Der Secure Hash Algorithm (SHA bzw SHA-1) wurde 1993 entwickelt und galt bis Ende der 1990er sicher. Die Funktion ermittelt für jede beliebige Zeichenkette einen eineindeutigen Wert

Bsp. Zu SHA-1:

„Hallo mein Name ist Franz“ -> 9dcd46848cbb177296693eaa3de4f59ff603ae5f

Online selbst ausprobieren: http://www.sha1generator.de/

Da der SHA-1 in zwischen 2000 und 2010 mit sehr viel Aufwand mehrfach gebrochen werden konnte, empfiehlt man heute statt SHA-1 die Weiterentwicklungen der SHA-2-Familie (SHA-224, SHA-256, SHA-384, SHA-512) zu verwenden.

Sie unterscheiden sich von SHA-1 dadurch, daß die Berechnung komplexer und die Bitfolgen länger werden.

Bsp. Zu SHA-3

„Hallo mein Name ist Franz“ -> f83a982bbd010930076555a20dcf311c7cc89737736a3f48a0cd3de3001219b3ca18b721ed58ddd63955818da341ca56cfcb033dbc0b945ad03ca9221842b9b0

SHA-3 unterscheidet sich also sowohl von SHA-1 als auch MD5 von der deutlich längeren Zeichenkette.

Online checken: https://emn178.github.io/online-tools/sha3_512.html

Weitere Informationen zu SHA https://de.wikipedia.org/wiki/Secure_Hash_Algorithm

Schlüsselverwaltung

Damit zwei Gesprächspartner (Firewalls) in einem ungesicherten Raum (Internet) sicher miteinander kommunizieren können, müssen Sie sich zunächst gegeneinander mit Schlüsseln absichern.

Manuelle Schlüsselverwaltung

Prinzipiell können alle Schlüssel zwischen zwei Firewalls vorab über einen gesicherten Weg manuell (!) ausgetauscht werden. In der Praxis ist das aber meist nicht praktikabel.

Automatischer Schlüsselaustausch mit IKE

Das Internet-Key-Exchange-Protokoll (IKE) dient der automatischen Schlüsselverwaltung für IPsec. Es verwendet den Diffie-Hellman-Schlüsselaustausch für einen sicheren Austausch von Schlüsseln über ein unsicheres Netzwerk (z.B. Internet).

IKE definiert, wie Sicherheitsparameter vereinbart und gemeinsame Schlüssel (shared keys) ausgetauscht werden.

Beide Gesprächspartner benötigen also für den Aufbau ein gemeinsam und vorher bekanntes „Shared Secret“.

Weitere Informationen zu IKE: https://en.wikipedia.org/wiki/Internet_Key_Exchange

Diffie Hellmann Schlüsselaustausch

Die beiden Namensgeber Whitfield Diffie und Martin Hellman haben im Jahr 1976 den nach Ihnen bekannten Schlüsselaustausch beschrieben, auf dem heute ein Teil des Algorithmus für den Schlüsselaustausch bei IPsec erfolgt.

Im Wesentlichen beschreiben Sie dabei u.a. eine mathematische Einwegfunktion.

https://de.wikipedia.org/wiki/Diffie-Hellman-Schl%C3%BCsselaustausch

Verschlüsselungs-Algorithmen

Damit zwei Parteien (Menschen oder Firewalls) geheime Informationen sicher austauschen können, benötigen Sie einen gemeinsamen Ablauf (Algorithmus), um damit Nachrichten zu verschlüsseln. Dieser Algorithmus muss auf beiden Seiten eindeutig sein und gleich ablaufen.

DES & 3DES

Der Data Encryption Standard (DES) ist ein weit verbreiteter symmetrischer Verschlüsselungsalgorithmus.  Der DES-Algorithmus wurde als offizieller Standard für die US-Regierung   im Jahr 1977 bestätigt und wird seither international vielfach eingesetzt.  Heute wird DES aufgrund der verwendeten Schlüssellänge von nur 56 Bits für viele Anwendungen als nicht ausreichend sicher erachtet.

Weiterentwicklungen von DES sind 3DES oder Tripple-DES sowie AES (siehe unten)

AES (Rijndael)

Der Advanced Encryption Standard (AES) ist eine Blockchiffre, die als Nachfolger für DES im Oktober 2000 vom National Institute of Standards and Technology (NIST) als Standard bekanntgegeben wurde. Nach seinen Entwicklern Joan Daemen und Vincent Rijmen wird AES auch Rijndael-Algorithmus genannt.

Es handelt sich um ein symmetrisches Verschlüsselungsverfahren, d. h. der Schlüssel zum Ver- und Entschlüsseln ist identisch. Der Rijndael-Algorithmus besitzt variable, voneinander unabhängige Block- und Schlüssellängen von 128, 160, 192, 224 oder 256 Bit. Rijndael bietet ein sehr hohes Maß an Sicherheit; erst mehr als zehn Jahre nach seiner Standardisierung wurde der erste theoretisch interessante, praktisch aber nicht relevante Angriff gefunden.

Blowfish

Blowfish (deutsch Kugelfisch) ist ein symmetrischer Blockverschlüsselungsalgorithmus, der 1993 von Bruce Schneier entworfen und erstmals im April 1994 publiziert wurde. Er wurde als public domain veröffentlicht und kann frei verwendet werden.  Blowfish hat als Blockchiffre eine feste Blocklänge von 64 Bit, basiert auf einem Feistelnetzwerk, welches die Umkehrbarkeit zwischen Verschlüsselung und Entschlüsselung garantiert.

Mehr dazu. https://de.wikipedia.org/wiki/Blowfish

Weitere Begriffe

Encapsulating Security Payload (ESP) stellt Mechanismen zur Sicherstellung der Authentizität, Integrität und Vertraulichkeit der übertragenen IP-Pakete bereit. Im Unterschied zum AH wird der Kopf des IP-Paketes vom ICV (Integrity check value) nicht berücksichtigt, jedoch werden die Nutzdaten verschlüsselt übertragen. ESP basiert direkt auf IP und verwendet die Internet-Protokoll Nummer 50.

Quelle:  https://de.wikipedia.org/wiki/IPsec#Encapsulating_Security_Payload_(ESP)

Funktionsweise von IPsec

IPsec (kurz für Internet Protocol Security) ist eine Protokoll-Suite, die eine gesicherte Kommunikation über potentiell unsichere IP-Netze wie etwa das Internet ermöglichen soll.

IPsec arbeitet direkt auf der Internetschicht (Internet Layer) und ist eine Weiterentwicklung der IP-Protokolle. Das Ziel ist es, eine verschlüsselungsbasierte Sicherheit auf Netzwerkebene bereitzustellen.

IPsec bietet durch die verbindungslose Integrität sowie die Zugangskontrolle und Authentifikation der Daten diese Möglichkeit an. Zudem wird durch IPsec die Vertraulichkeit sowie Authentizität der Paketreihenfolge durch Verschlüsselung gewährleistet.

Weitere Informationen zu IPsec:

 

IPsec verwendet zwei Phasen, um eine VPN-Verbindung sicher aufzubauen. Diese heißen Phase 1 und Phase2.

Phase 1 von IPsec

Der erste Teil (Phase 1) eines IPsec ist der technisch komplexere Teil von IPsec. In der echten Welt ist das in etwa so, also würden sich ein Telefonanrufer und ein Angerufener, die sich beide nicht kennen und die nicht wissen ob der andere die eigene Sprache versteht, versuchen zu verständigen.

Die Phase 1 beginnt mit dem so genannten „Main Mode“. Er wird in der ersten Phase der Verschlüsselungsvereinbarung und Authentisierung (Internet Key Exchange) genutzt.

Im Main Mode handeln der Initiator (derjenige, der die Verbindung aufnehmen will) und der Antwortende (der Responder) miteinander eine ISAKMP-SA (kurz für Internet Security Association and Key Management Protocol – Security Association ; mehr: https://de.wikipedia.org/wiki/Internet_Security_Association_and_Key_Management_Protocol   ) aus.

 

Die Verhandlung geschieht in folgenden Schritten:

  1. Der Initiator sendet einen oder mehrere Vorschläge (engl. Proposal) mit Authentisierungs- und Verschlüsselungsalgorithmen.
  2. Der Responder wählt aus der Schnittmenge der angebotenen und der von ihm unterstützten Algorithmen den sichersten aus und sendet das Auswahlergebnis an den Initiator.
  3. Der Initiator sendet seinen öffentlichen Teil vom Diffie-Hellman-Schlüsselaustausch und einen zufälligen Wert (die Nonce).
  4. Der Responder sendet ebenfalls seinen öffentlichen Teil vom Diffie-Hellman-Schlüsselaustausch und einen zufälligen Wert.
    Dieser Wert dient weiter unten zur Authentisierung.

Da nun beide Firewalls (der Responder und der Initiator) die öffentlichen Bestandteile für den Diffie-Hellman-Schlüsselaustausch kennen, wird dieses Verfahren genutzt, um den geheimen Schlüssel zu berechnen.

Dieser wird dann für die Verschlüsselung nach dem vereinbarten Schlüsselverfahren für die folgenden Schritte verwendet. Der berechnete (Diffie-Hellman-)Schlüssel wird auch für die Erzeugung eines weiteren Schlüssels genutzt, der für die Authentifikation verwendet wird.

Der letzte Schritt hier  ist die Authentisierung. Dabei müssen sich beide Beteiligten als zugriffsberechtigt ausweisen. Hierbei kommen zwei unterschiedliche Verfahren zum Einsatz:

  1. die Authentisierung mittels vereinbartem Geheimnis (im englischen Pre-Shared-Keys, PSK) oder
  2. zertifikatsbasiert.

Phase 2 von IPsec

In der zweiten Phase von IKE wird der Quick Mode verwendet (Schutz durch die IKE SA). Die gesamte Kommunikation in Phase 2 erfolgt dabei bereits verschlüsselt.

Wie in der ersten Phase wird zunächst ein Vorschlag (Proposal) gemacht und zusammen mit einem Hashwert übertragen. Später werden die Schlüssel neu berechnet, und es fließen keinerlei Informationen aus den zuvor generierten SAs ein. Dies stellt sicher, dass niemand von den zuvor generierten Schlüsseln auf die neuen schließen kann (Perfect Forward Secrecy). Dies wird erreicht, indem ein zusätzlicher Diffie-Hellman-Austausch stattfindet. Die Geheimnisse zur Schlüsselbildung werden verworfen, sobald der Austausch abgeschlossen ist.

Mehrere „Quick Modes“ können zur gleichen Zeit stattfinden und durch die gleiche IKE SA geschützt sein. Um die verschiedenen Wechsel unterscheiden zu können, wird das Message-ID-Feld des ISAKMP-Headers herangezogen. Der Status eines solchen Austausches wird durch die Cookies identifiziert.

Quelle: https://de.wikipedia.org/wiki/IPsec

 

Implementierung von IPsec in der pfsense Firewall

Die Implementierung von IPsec lehnt sich an den Standard von IPsec mit Phase1 und Phase2 an. Es gibt je eine Maske für die Phase1 von IPsec und eine weitere für die Phase2.

Hinweis: Ein Ipsec-Tunnel kann mehrere Phase2 Einträge pro Verbindung haben. Das ist dort sinnvoll wo etwa mehrere Netze hinter einer Firewall über ein IPSec VPN gleitet werden.

Übersicht der Verbindungen auf der pfsense

Abbildung: Ein Tunnel mit IPsec auf der pfsense mit zwei Netzen und zwei Phase2 Einträgen

In der obigen Abbildung ist ein VPN-Tunnel (1) mit Phase 1 definiert. Dazu gehören zwei unterschiedliche Phase 2 Einträge (2) für jeweils ein Netzwerk.

Übersicht der Verbindungen mit IPSec auf einer pfsense

Übersicht der Verbindungen mit IPSec auf einer pfsense

Zur Übersicht der VPN-Tunnel auf einer pfsense gelangen Sie über

VPN -> IPsec -> Tunnel.

Um einen neuen VPN-Tunnel zu erstellen klicken Sie unten in der Übersicht auf „Add P1“. Sie beginnen anschließend mit den Einstellungen zu Phase1 von IPsec für ihren neuen Tunnel.

Einstellung von Phase 1 auf der pfsense

Die Einstellungen für die Phase 1 im Detail:

Einstellungen der Phase einer IPSec Verbindung

Einstellungen der Phase einer IPSec Verbindung

Als Authentication Method für die Phase 1 wählen Sie unter (1) entweder „Mutual PSK“ (PSK -> Preshared Key ) oder ein Zertifikat. In der Praxis ist das meistens ein PSK.

Unter (2) wählen Sie den Negatiation Mode. Das ist meistens „Main“. Die seltener verwendete Alternative heißt „Aggressive“.

Sofern Sie bei (1) „Mutual PSK“ gewählt haben, tragen Sie bei (3) ihren geheimen Schlüssel ein. Diesen Schlüssel müssen Sie exakt identisch auf der entfernten Firewall hinterlegen. Außerdem müssen sie sicherstellen, daß dieser Schlüssel niemals in falsche Hände gelangt

Tipp:

Unter https://www.gaijin.at/olspwgen.php können Sie online ein sicheres Passwort wählen. Nutzen Sie dort bitte die Einstellung mit min. 16 Zeichen oder länger.

Im zweiten Abschnitt wählen Sie unter (4) den eigentlichen Verschlüsselungs-Algorithmus (engl. Encryption Algorithm) aus. Dies wird in der Regel AES oder 3DES sein. Sofern Sie AES auswählen, müssen Sie (rechts daneben) die richtige Bit-Länge des Schlüssels auswählen. Auch diese muss auf der entfernten Firewall identisch sein.

Unter (5) wählen Sie den Hash-Algorithmus aus. Dies sollte SHA-1 oder höher (z.B. SHA-256 oder SHA-512) sein.

In der Auswahl bei (6) wählen Sie nun noch die für Sie passende Diffie-Hellman-Gruppe aus (also den Algorithmus für den Schlüsselaustausch).

Ebenso wichtig: Die Ablaufzeit (Lifetime) für die Phase 1 in Sekunden. Nach Ablauf dieser Zeitspanne verhandeln beide Firewalls wieder neu. Auch dieser Wert muss auf beiden Firewalls identisch sein.

Die Auswahl für die DH-Group unter (6) ist relativ groß. Je höher die Gruppe, desto höher die Bitlänge und damit die Stärke der Verschlüsselung. Beginnen Sie im Zweifel eher mit einer niedrigeren Schlüssellänge, bis Sie auf beiden Seiten eine stabile Verbindung haben. Danach können Sie (gemeinsam mit der Gegenstelle) die Schlüssellänge erhöhen.

Abbildung: Diffie Hellmann Gruppen auf der pfsense

Die diffie-hellmann-group Einstellungen in der Phase1 der IPSec VPN Verbindung

Die diffie-hellmann-group Einstellungen in der Phase1 der IPSec VPN Verbindung

 

 

Einstellung von Phase 2 auf der pfsense

In Phase 2 werden zwei wesentliche Einstellungen gemacht:

  • Die Definitionen der unterschiedlichen Netzwerke, die übertragen werden sollen.
  • Der Verschlüsselungs- und Sicherungsmechanismus

 

Phase 2: Netzwerk-Einstellungen

Phase2 IPsec Einstellungen auf der pfsense

Phase2 IPsec Einstellungen auf der pfsense

Unter „Mode“ (1) stellen Sie zunächst ein, on IPV4 oder IPv6 übertragen werden soll.

Unter (2) wählen Sie welches ihrer lokalen Netzwerke auf ihrer Seite des VPN später erreichbar sein wird.

Unter (3) legen Sie das entfernte Netzwerk bzw. eine Adresse fest. Sofern Sie bei (3) ein Netzwerk gewälht haben, definieren Sie bei (4) die Netz-Adresse sowie die Netzmaske.

Hinweis: Sofern Sie mehrere Netzwerke über ein VPN mit einer pfsense übertragen möchten, so müssen Sie mehrere Phase-2 Einträge für ein IPsec Tunnel erstellen. (wohl aber nur einen Eintrag für die Phase1)

 

Phase 2: Verschlüsselungs-Einstellungen

Im unteren Teil der Phase 2 finden Sie alle Einstellungen zum Schlüsselaustausch der Phase 2 sowie die Verschlüsselungs-Algorithmen:

Phase2 bei IPSec auf der pfsense: Verschlüsselungs-Einstellungen

Phase2 bei IPSec auf der pfsense: Verschlüsselungs-Einstellungen

Unter (1) wählen Sie entweder ESP (siehe Einleitung) oder AH (steht für Authentication Header). Am häufigsten wird ESP verwendet.

Unter (2) werden nun die zur Auswahl stehenden Verschlüsselungs-Mechanismen angewählt. Wichtig ist hier: Sie geben der Firewall eine Liste bzw. Auswahl mit. Mit dieser Liste verhandeln die beiden betroffenen Firewalls den passenden Verschlüsselungsmechanismus und dessen Schlüssellänge.

In der Praxis sollten Sie hier mit einem (in Worten: eins) Wert zur Auswahl beginnen, der bei beiden betroffenen Firewalls enthalten ist.

Unter (3) wählen Sie einen Hash-Algorithmus aus, der in Phase 2 zum Einsatz kommt. Vermeiden Sie dabei möglichst MD5. Besser ist ein (hoher) SHA-Algorithmus.

Bei (5) erhalten Sie die Auswahl für die Perfect Forward Secrecy. Das ist nichts anderes als der Schlüsselaustausch-Mechanismus. Sie haben im Wesentlichen die gleiche Auswahl wie bei der Diffie-Hellmann-Gruppe in Phase 1.

Wenn Sie auf Nummer sicher gehen wollen, wählen Sie hier wieder dieselbe Gruppe wie die DH-Group in Phase 1.

Unter (6) legen Sie wieder eine maximale Lebensdauer der verhandelten Schlüssel fest. Dieser Wert muss ebenfalls bei beiden Firewalls identisch sein. Nach Ablauf dieser Zeit in Sekunden fangen die Firewalls wieder neu an zu verhandeln.

Empfehlung für die Praxis:

IPsec VPN-Tunnel funktionieren in der Regel nur dann dauerhaft und vor allem stabil, wenn Sie auf beiden Seiten

  • Für die Einstellungen der relevanten Parameter die gleichen Werte verwenden
  • Kompatible Geräte auf beiden Seiten haben.

Kritik an IPsec

In ihrer Untersuchung über Ipsec von 1999 schrieben Niels Ferguson und Bruce Schneier “IPsec was a great disappointment to us. Given the quality of the people that worked on it and the time that was spent on it, we expected a much better result. We are not alone in this opinion; (…) Even with all the serious critisisms that we have on IPsec, it is probably the best IP security protocol available at the moment.”

An dieser Einschätzung hat sich vermutlich in den vergangenen Jahrzehnten wenig geändert. IPsec ist weiterhin ein sehr komplexer Mechanismus. Er ist aber offenbar selbst fast 20 Jahre nach dieser Kritik immer noch der de-facto Standard, der durch fast alle Hersteller von Security Software  und Hardware durchgängig unterstützt wird.

Verwendete Begriffe

AES: Symmetrischer Verschlüsselungs-Mechanismus mit variabler Bitlänge

DES / 3DES: Symmetrischer Verschlüsselungs-Mechanismus

IKE: Internet Key Exchange – Schlüsselaustausch über ein unsicheres Netz

MD5: Hash-Funktion, die mittlerweile als unsicher gilt

PFS: Perfect Forward Secrecy https://de.wikipedia.org/wiki/Perfect_Forward_Secrecy

SHA: Hash-Funktion, die mit unterschiedlicher Schlüssellänge eindeutige Hash-Werte erzeugt.

Shared Secret: Ein nur zwei Parteien bekannte, geheime Zeichenfolge.

ISO-OSI-7-Schichten-Modell

Einführung: Netzwerke mit TCP/IP

Wer heute als Linux-Administrator oder Windows-Profi Server oder ganze Netzwerke verwaltet, der benötigt gute bis sehr gute Netzwerk-Kenntnisse. Dabei spielt TCP/IP  als meistgenutztes Netzwerkprotokoll eine herausragende Rolle.

Im Rahmen unserer Reihe zum Thema Linux-Administration bzw. Windows-Administration geben wir Ihnen einen kurzen Überblick über die wichtigen Facetten von TCP/IP. Das nachfolgende Tutorial richtet sich in erster Linie an Einsteiger. Aber auch fortgeschrittene Netzwerk-Administratoren finden sicher noch das eine oder andere Detail, das Ihnen bei der täglichen IT-Administration hilft

Im ersten Abschnitt erläutern wir die Grundlagen des wichtigsten Netzwerk-Protokolls (TCP/IP). Danach lernen Sie die wichtigsten Hilfsmittel und Tools zum Troubleshooting im Netz kennen.

TCP/IP

Grundlagen:

Eine TCP/IP Adresse (TCP/IP = transport control protocol/ internet protocol) in der Version 4 (meist IPV4 genannt) ist eine Nummerierung mit 4 binären Adressblöcken von maximal 2^8 (=256) Adressen

Es können also 256*256*256*256 = 2^32 = 4.294.967.296 Adressen weltweit verwendet werden.

Da dies schon lange nicht mehr ausreicht, wurde schon vor langer Zeit der IPV6 Standard definiert, der aber immer noch nicht flächendeckend eingesetzt wird.

Format einer IP-Adresse: 10.51.136.5

Generell gilt: Die End-Adresse „0“ (null)  kann nicht verwendet werden, ebenso ist die Nr. 255 tabu. Sie wird als Broadcast-Adresse verwendet.

MAC Adresse

Herstellercodes von MAC-Adressen (Auswahl)
00-07-E9-xx-xx-xxIntel
00-60-2F-xx-xx-xxCisco
00-15-F2-xx-xx-xxAsus

Jedes Internet-fähige Gerät hat auf seiner Netzwerkschnittstelle eine ein-eindeutige MAC-Adresse. Sofern ein Gerät (PC, Server, Switch) mehr als ein physisches Interface hat, so besitzt jedes Netzwerk-Interface eine eigene MAC-Adresse.

Bei Microsoft heißt diese „physikalische Adresse“.

Fomat: 00-11-22-33-44-55.

Es können alle hexadezimalen Zeichen vorkommen (0..9, A..F).

Einzelne Hersteller haben feste Adress-Bereiche reserviert, die sie bei der Produktion vergeben. (siehe Tabelle)

Wichtig: Wenn Sie virtuelle Maschinen anlegen (egal ob VMWare, Hyper-V oder KVM) so achten Sie bitte darauf, daß Sie unterschiedliche MAC-Adressen für ihre VMs verwenden.

 

 

TCP/IP im OSI-Schichtenmodell

Das OSI-Schichtenmodell (engl. OSI Layer) beschreibt 7 Schichten, die für das Zustandekommen von Daten-Kommunikation notwendig sind.

Layer 1: physische Schicht (-> Kabel)
Layer 2: Sicherungs-Schicht; Ethernet
Layer 3: Vermittlung, IP-Protokoll
Layer 4: Transport, TCP

ISO-OSI-7-Schichten-Modell

ISO-OSI-7-Schichten-Modell

Für das Nachfolgende gehen wir davon aus, daß an das Netzwerk anzuschließende Geräte entweder über Kupferkabel (Cat 5 bis Cat7 Ethernet-Kabel, sftp) oder Glasfaser-Kabel über Switches untereinander verbunden sind.

Switches arbeiten auf Layer 2 und können je nach Funktionsumfang auch Aufgaben auf Layer 3 übernehmen.

Mehr Informationen dazu: https://de.wikipedia.org/wiki/OSI-Modell

Reservierte IP-Adress-Bereiche

127.0.0.x -> die Adresse 127.0.0.1 ist als Loopback auf jedem Gerät vorhanden und wird nicht weiter geleitet (geroutet)

Damit größere Firmen ihre internen Geräte durchgängig mit IP-Adressen versehen können, werden die folgenden IP-Adressbereiche nicht im Internet geroutet.

10.x.x.x
172.10.x.x
192.168.x.x

Diese Adressbereiche können von jedermann intern (d.h. hinter der eigenen Firewall) genutzt und nach persönlichen Präferenzen in Subnetze unterteilt werden.

Subnetze

Damit TCP/IP vernünftig funktioniert, wird es in so genannte Subnetze unterteilt. Dabei werden größere Adressbereiche in kleinere Adressbereiche unterteilt. Diese Segmentierung erfolgt mit Hilfe von Subnetzmasken.

Das (frei verwendbare) IP-Subnetz 10.x.x.x kann bspw. Mit der Subnetzmaske „255.255.255.0“ etwa werden daraus mehrere Subnetze mit jeweils 256 Adressen. Etwa das Subnetz 10.42.136.0.

Die Netzwerkmaske:

(S. Wikipedia) Die Netzmaske, Netzwerkmaske oder Subnetzmaske ist eine binäre Maske, die im Netzwerkprotokoll IPv4 bei der Beschreibung von IP-Netzen angibt, welche Bit-Position innerhalb der IP-Adresse für die Adressierung des Netz- bzw. Host-Anteils genutzt werden soll. Der Netzanteil erstreckt sich innerhalb der IP-Adresse lückenlos von links nach rechts; der Hostanteil von rechts nach links. Der für die Adressierung des Netzanteils innerhalb der IP-Adresse genutzte Bereich wird auch Präfix genannt. Anstelle einer Subnetzmaske kann dieser für IPv4 und IPv6 auch mit der Angabe einer Präfixlänge spezifiziert werden. (bspw. /24)

In Verbindung mit der IP-Adresse eines Gerätes legt die Netzmaske fest, welche IP-Adressen dieses Gerät im eigenen Netz ohne die Zuhilfenahme eines Routers erreichen kann und für welche Ziel-Netze das Gerät Pakete an einen Router zwecks weiterer Vermittlung in andere Netzen zustellen muss. Der Netzwerkteil muss bei allen Geräten des jeweiligen Netzes gleich sein und damit verwenden alle Kommunikationsteilnehmer dieses IP-Netzes in der Regel auch dieselbe Subnetzmaske (bzw. Präfixlänge). Der Geräteteil der IP-Adresse wird für jedes Gerät innerhalb des Netzes individuell vergeben.

 

 

Übliche Netzmasken bei TCP/IP

NetzmaskeAnzahl nutzbarer IPv4-AdressenMaske als Bit-Muster
/8255.0.0.0max. 16.777.2141111’1111.0000’0000.0000’0000.0000’0000
/12255.240.0.0max. 1.048.5741111’1111.1111’0000.0000’0000.0000’0000
/16255.255.0.0max. 65.5341111’1111.1111’1111.0000’0000.0000’0000
/20255.255.240.0max. 40941111’1111.1111’1111.1111’0000.0000’0000
/21255.255.248.0max. 20461111’1111.1111’1111.1111’1000.0000’0000
/22255.255.252.0max. 10221111’1111.1111’1111.1111’1100.0000’0000
/23255.255.254.0max. 5101111’1111.1111’1111.1111’1110.0000’0000
/24255.255.255.0max. 2541111’1111.1111’1111.1111’1111.0000’0000
/25255.255.255.128max. 1261111’1111.1111’1111.1111’1111.1000’0000
/26255.255.255.192max. 621111’1111.1111’1111.1111’1111.1100’0000
/27255.255.255.224max. 301111’1111.1111’1111.1111’1111.1110’0000
/28255.255.255.240max. 141111’1111.1111’1111.1111’1111.1111’0000
/29255.255.255.248max. 61111’1111.1111’1111.1111’1111.1111’1000
/30255.255.255.252max. 21111’1111.1111’1111.1111’1111.1111’1100
/31255.255.255.254Keine1111’1111.1111’1111.1111’1111.1111’1110
/32255.255.255.255Keine1111’1111.1111’1111.1111’1111.1111’1111

Darstellung der Netzmaske

Eine Netzmaske ist genau so lang wie eine IPv4-Adresse, also 32 Bit. Eine 1 in der Netzwerkmaske kennzeichnet die Verwendung des Bits an derselben Position in der IP-Adresse für die Adressierung von Netzen. Eine 0 an derselben Position in der IP-Adresse kennzeichnet Adressinformationen für den Geräteanteil.

Der Netzwerkteil einer IPv4-Adresse ergibt sich damit aus ihrer bitweisen logischen AND-Verknüpfung mit der Netzmaske. Nach der bitweisen Negation der Netzmaske wird der Geräteteil ebenso abgetrennt.

Beispiel

IPv4-Adresse11000000 10101000 00000001 10000001192.168.1.129
UNDNetzmaske11111111 11111111 11111111 00000000255.255.255.0
=Netzwerkteil11000000 10101000 00000001 00000000192.168.1.0

 

IPv4-Adresse11000000 10101000 00000001 10000001
UNDNOT Netzmaske00000000 00000000 00000000 11111111
=Geräteteil00000000 00000000 00000000 10000001

Quelle: https://de.wikipedia.org/wiki/Netzmaske

 

Geräte im TCP/IP Netz

Damit Geräte miteinander zu einem Netzwerk verbunden werden können, benötigt man Switche bzw. Hubs.

Damit Netzwerkverkehr in die richtige Richtung geleitet wird, benötigt man pro Subnetz einen Router. Sie haben in Netzwerken die Aufgabe zu wissen, über welchen Weg welche entfernten IP-Adressen zu erreichen sind. Wenn man so will, sind das erweiterte Telefonbücher des Internets auf IP-Adressen-Basis.

Firewalls sind Router, die zusätzlich zur Vermittlung auf Layer 4 die Aufgabe übernehmen, bestimmten Datenverkehr zu erlauben und unerwünschten Datenverkehr zu unterbinden.

Ein Vergleich zum Straßenverkehr: Ein Router ist eine Ansammlung von Hinweisschildern welche die Richtung weisen. Ein Firewall ist ein Polizist, der bestimmte Regeln durchsetzt.

Router

Ein Router ist ein Gerät, das Netzwerkverkehr weiter leitet und das weiß welche Datenpakete wohin müssen.

Damit TCP/IP funktioniert, muss es in jedem Subnetz einen Router geben. Der Router ist mit einem Netzwerkinterface in eben diesem Subnetz und hat mindestens ein weiteres Interface in einem weiteren Subnetz, in das er die Netzwerkpakete weiter leitet.

Der Router ist das einzige Gerät bzw. die einzige TCP/IP-Netzwerk-Adresse, die zwingend im eigenen Subnetz liegen muss. Alle anderen für TCP/IP notwendigen Dienste wie DNS, NTP können in einem entfernten Subnetz liegen.

Hinweis: Router haben in der Regel mehrere Netzwerk-Anschlüsse oder können pro NIC (Netzwerkkarte) mehrere IP-Adressen bedienen. Daher kann ein und derselbe Router durchaus mehrere Subnetze bedienen.

Hub

Ein Hub verbindet (genauso wie ein Switch) Geräte miteinander. Im Gegensatz zum Switch hat er aber praktisch keine eigene „Intelligenz“. Faktisch kommen heute kaum noch Hubs zum Einsatz.

Switches

Switches verbinden Server und PCs/Clients per RJ-45 Kabel über eine Kupferleitung miteinander. Die übliche Geschwindigkeit beträgt meist 1Gbit/Sekunde.  Sehr einfache und in der Regel billige Switches sind un-managed. Bei Ihnen sind einfach alle Ports miteinander verbunden. Jeder Port kann mit jedem „reden“ d.h. Daten austauschen.

Verwaltbare Switche sind in der Regel für den Rack-Einbau gedacht und bieten meist mehr Features. Je nachdem ob der Switch auf Layer 2 oder Layer 3 arbeitet, hat er meist auch die für die OSI-Schicht notwendigen Features mit an Bord.

 

VLANs (virtuelle LANs)

Das wichtigste Feature von verwaltbaren Switches ist meist die Möglichkeit, den Switch bzw. mehrere Switche in logische so genannte VLANs zu unterteilen. Ein VLAN (virtual LAN) kann man sich wie einen Switch im Switch vorstellen.

Kurz gesagt: Alle Ports, die einem VLAN zugeordnet sind, können Daten miteinander austauschen. Ports, die nicht ihrem eigenen VLAN zugeordnet sind, sind für Sie nicht erreichbar.

Anwendungszwecke von VLANs

Durch VLANs lassen sich logische Netze erstellen und über ein und dieselbe physische Infrastruktur verwalten.

  • Trennung von Daten-Netzen von Voice-Over-IP (VoIP)
  • Trennung von unterschiedlichen Netzen (internes LAN, Internet, DMZ) in Firmen bzw. Rechenzentren

 

Dienste im TCP/IP Netz

Damit TCP/IP richtig funktioniert, benötigt man mindestens die Auflösung von IP-Adressen zu Namen und umgekehrt. Diese Aufgabe übernimmt das DNS (Domain Name System).

Daneben gibt es noch eine Reihe weiterer sinnvoller Dienste wie DHCP (dynamic host configuration protocol) oder das Netzwerk-Protokoll, welches die korrekte aktuelle Zeit liefert (ntp)

DNS (Domain Name System)

DNS ist ein zentraler Dienst, der die Zuordnung  von  Host- bzw. Domain-Namen zu einer oder mehrerer IP-Adressen vornimmt.

DNS kann man sich wie eine Telefonauskunft vorstellen: Ich weiß mit wem ich sprechen möchte (=Name), kenne aber seine Telefon-Nummer (=IP-Adresse) nicht.

Weiterführende Lektüre: https://de.wikipedia.org/wiki/Domain_Name_System

Im Internet existieren einige, wenige so genannte Root-Server. Diese stellen die oberste Ebene des weltweiten Internets dar. In Ihnen ist in der Regel nur der Verweis auf bestimmte Domain-Teile (etwa die .de-Domains) oder einzelne untergeordnete DNS-Server vorhanden.

Die Funktion und Aufrechterhaltung dieser Root-Server ist für das Funktionieren des Datenverkehrs im gesamten Internet unglaublich wichtig. An einen Root-Server wendet sich praktisch jeder untergeordnete DNS-Server, der eine Anfrage nicht selbst beantworten kann.

DHCP

Über DHCP ist es möglich, Endgeräten dynamisch eine gültige IP-Adresse zuzuweisen. D.h. das Endgerät meldet sich beim Booten per Broadcast (… „hallo ist da jemand…“) mit seiner MAC-Adresse und erhält vom dhcp-Dienst eine gültige IP-Adresse für einen bestimmten Zeitraum (meist 1-3 Tage).

Die IP-Adresse enthält:

  • Die eigene IP-Adresse
  • Die Netzmaske
  • Den Gateway

Optional – aber extrem sinnvoll – wird noch ein DNS Server mit übergeben.

Ein DHCP Dienst sollte idealerweise im gleichen Subnetz vorhanden sein, wie die Clients die der dhcp-Dienst bedient.

 

ARP (Adress Resolution Protocol)

Das Address Resolution Protocol (ARP) ist ein Netzwerkprotokoll, das zu einer Netzwerkadresse der Internetschicht die physikalische Adresse (Hardwareadresse) der Netzzugangsschicht ermittelt und diese Zuordnung gegebenenfalls in den so genannten ARP-Tabellen der beteiligten Rechner hinterlegt. Es wird fast ausschließlich im Zusammenhang mit IPv4-Adressierung auf EthernetNetzen, also zur Ermittlung von MAC-Adressen zu gegebenen IP-Adressen verwendet, obwohl es nicht darauf beschränkt ist. Für IPv6 wird diese Funktionalität nicht von ARP, sondern durch das Neighbor Discovery Protocol (NDP) bereitgestellt.

Quelle: https://de.wikipedia.org/wiki/Address_Resolution_Protocol

NTP (Network Time Protocol)

Über das Time Protocol kann die exakte Uhrzeit über das TCP/IP Netzwerk angefragt werden. Die Server für Deutschland lauten:

server 0.de.pool.ntp.org

server 1.de.pool.ntp.org

server 2.de.pool.ntp.org

server 3.de.pool.ntp.org

 

WOL (Wake on LAN)

Wake on LAN (WOL) ist die Möglichkeit, ausgeschaltete Endgeräte per Broadcast an ihre MAC-Adresse „aufzuwecken“ und booten zu lassen.

Beispiel: Wake on LAN

Beispiel: Wake on LAN

Voraussetzung: Das Bios des Geräts unterstützt das und die Funktion ist im Bios eingeschaltet.

Zur Nutzung benötigen Sie dann noch eine Software, die die Endgeräte „aufweckt“.

 

Bsp.: WOL von Aquilatech

https://wol.aquilatech.com/

 

 

Ports in TCP

(Wikipedia) Ein Port ist der Teil einer NetzwerkAdresse, der die Zuordnung von TCP– und UDP-Verbindungen und -Datenpaketen zu Server– und Client-Programmen durch Betriebssysteme bewirkt. Zu jeder Verbindung dieser beiden Protokolle gehören zwei Ports, je einer auf Seiten des Clients und des Servers.

Zur Einordnung: Wenn die TCP/IP-Adresse das virtuelle Nummernschild eines jeden Servers ist, dann sind die Ports die Eingänge zum System. Ähnlich wie dieTüren oder die Heckklappe bzw. der Kofferraumdeckel eines Autos steuern Ports, wo und wie Anwender auf ein Computer-System von außen zugreifen können.

Gültige Portnummern sind 0 bis 65535.

System Ports (0 – 1023)

Die System Ports oder auch „well known ports“ sind für bestimmte Dienste reserviert wie DNS, Mail oder NTP. Jeder Dienst in TCP/IP hat faktisch eine ihm zugewiesene Port-Nummer. Die Zuweisung erfolgt dauerhaft durch die IETF. (Internet Engineering Task Force)

Ports, die sie kennen sollten:

7TCPUDPEchooffiziell
20TCPFTP – Datenübertragungoffiziell
21TCPFTP – Verbindungsaufbau und Steuerungoffiziell
22TCPUDPSecure Shell (SSH) wird für verschlüsselte Fernwartung und Dateiübertragung genutzt (scp, sftp) sowie für getunnelte Portweiterleitungoffiziell
23TCPTelnet – unverschlüsseltes Textprotokoll, z. B. für Fernwartung (ähnlich SSH, mit telnetd) oder manuelle Kommunikation über Textprotokolle wie HTTPoffiziell
25TCPSimple Mail Transfer Protocol (SMTP) wird für die E-Mail-Übermittlung zwischen E-Mail-Servern genutzt und findet sehr breite Unterstützung.offiziell
53TCPUDPDomain Name System (DNS), meist über UDPoffiziell
67UDPBootstrap Protocol (BOOTP) Server; auch genutzt von DHCPoffiziell
68UDPBootstrap Protocol (BOOTP) Client; auch genutzt von DHCPoffiziell
69UDPTrivial File Transfer Protocol (TFTP)offiziell
80TCPHypertext Transfer Protocol (HTTP)offiziell

 

PortTCPUDPBeschreibungStatus
109TCPPost Office Protocol v2 (POP2)offiziell
110TCPPost Office Protocol v3 (POP3)offiziell
118TCPUDPSQL-(Structured Query Language)-Diensteoffiziell
123UDPNetwork Time Protocol (NTP) zur (hoch)genauen Zeitsynchronisierung zwischen mehreren Computernoffiziell
137TCPUDPNetBIOS NetBIOS Name Serviceoffiziell
138TCPUDPNetBIOS NetBIOS Datagram Serviceoffiziell
139TCPUDPNetBIOS NetBIOS Session Serviceoffiziell
143TCPUDPInternet Message Access Protocol (IMAP) – Mail-Managementoffiziell
161UDPSimple Network Management Protocol (SNMP)offiziell
162TCPUDPSimple Network Management Protocol Trap (SNMPTRAP)[13]offiziell
179TCPBGP (Border Gateway Protocol)offiziell
220TCPUDPInternet Message Access Protocol (IMAP), version 3offiziell
264TCPUDPBGMP, Border Gateway Multicast Protocoloffiziell

 

Registered Ports

Ports 1024 bis 49151 (400hex bis BFFFhex) – sie werden z.B. für Datenbanken oder Client-Programme verwendet. Die Zuweisung erfolgt in der Regel durch die IETF.

Bsp.: mySQL: Port 3306

Dynamic Ports

Ports 49152 bis 65535 (C000hex bis FFFFhex). Diese Ports werden in der Regel durch das Betriebssystem dynamisch an die nutzende Software vergeben.

 

 

Netzwerk Trouble-Shooting

Um ein Netzwerk zu testen bzw. Fehler zu identifizieren, benötigt man eigentlich wenige Tools. Viel wichtiger noch als Tools ist das Vorhandensein einer Dokumentation bzw. eines Netzwerk-Planes.

Grundsätzliches zur Fehlersuche im Netzwerk

Bei kaum einer anderen IT-Disziplin ist ein strukturiertes Testen und Dokumentieren so wichtig wie in einer Netzwerk-Topologie.

Anders herum: willkürliches Rumprobieren oder gar „Raten“ führt in Netzwerken meistens ins Nichts oder zu grauen Haaren.

Mein Rat daher: Erstellen Sie einen schriftlichen Plan ihres Netzwerkes. Dazu eignet sich Visio sehr gut. Eine ordentlich beschriftete und vollständige handschriftliche Skizze ist aber ebenso eine ausreichende Dokumentation bei der Fehlersuche.

Für alles weitere: Schreiben Sie jeden einzelnen Test, jeden Schritt auf. Dokumentieren Sie jede Funktion und jede Fehlfunktion.

Bspw.:

  • Ping von A nach B geht.
  • Ping von B nach C geht nicht
  • Traceroute von A nach X ergibt folgende Ausgabe

Änderungen: Um Fehler im Netz zu finden und abzustellen  müssen sie Änderungen vornehmen. Das ist an sich logisch. Widerstehen Sie aber bitte unbedingt der Versuchung, mehr als eine Veränderung auf einmal vorzunehmen. Immer nur eine Veränderung (etwa in der Konfiguration eines Switches oder Routers) auf einmal. Danach testen sie wieder und dokumentieren sie die Test-Ergebnisse

Netzwerk-Troubleshooting ist ein bisschen wie ein Versuchsaufbau im Physikunterricht: Sie ordnen ihre Versuchs-Elemente (Switch, Kabel, Router). Sie stellen ihre Parameter ein und messen anschließend ob das gewünschte Ergebnis heraus kommt.

Wenn Sie den Versuch ändern, dann ändern Sie immer nur einen Parameter auf einmal und messen wieder (und dokumentieren das Ganze). Wenn Sie das nicht tun, ist hinterher ihr gesamter Mess-Versuch für die Katz, weil Sie das Gesamtverhalten nicht re-produzieren können.

 

 

Tools im Netzwerk

Ipconfig (Windows)

Mit ipconfig können sie die folgenden Fragen beantworten:

  • Welche IP-Adresse habe ich. ?
  • Wie lautet mein Gateway / DHCP Server?
  • Welche DNS Server nutze ich?

Befehle:

ipconfig /all – listet alle Interfaces und IP-Einstellungen

Ipconfig /release  – gibt dhcp Adresse frei

Ipconfig /renew  – holt eine neue IP-Adresse vom dhcp Dienst

ipconfig an einem Windows Rechner

ipconfig an einem Windows Rechner

 

Ifconfig / ip addr (Linux)

Unter Linux können Sie die genutzten IP Adressen mit ifconfig (alt) oder mit „ip addr“ identifizieren.

Beispiel für ipconfig:

Beispiel für "ifconfig" unter Linux

Beispiel für „ifconfig“ unter Linux

Beispiel für „ip addr“

Beispiel für "ip addr" unter Linux

Beispiel für „ip addr“ unter Linux

Ping

Ein Ping sendet ein einfaches Datenpaket von Host A nach Host B. Der Ping kann vom Host B erwidert werden. Im positiven Fall erkennen sie folgendes:

  • Der Host B antwortet
  • Wie lange das Netzwerk-Paket für die zurückgelegte Strecke benötigt hat. (Laufzeit)

Achtung: Damit ein Ping funktioniert, muss der Empfänger auf Port 7 antworten. Tut er das nicht, heißt das nicht, daß er nicht da ist. Vielmehr kann

  • Der Empfänger absichtlich nicht antworten
  • Etwa ein Firewall diese Form der Kommunikation unterbinden.

Bsp.:

Laufzeiten und Latenz messen mit "ping"

Laufzeiten und Latenz messen mit „ping“

Ping nach Hong-Kong (mit ca 300 ms eher lang)

 

Traceroute

Traceroute oder Tracepath ist die Ablaufverfolgung im Internet zwischen zwei Knoten. Dabei wird jeder einzelne Router aufgeführt, über den ein Datenpaket zwischen wandert.

Bsp:

traceroute to www.bild.de (92.123.92.75), 30 hops max, 60 byte packets

 (…)

10  a92-123-92-75.deploy.akamaitechnologies.com (92.123.92.75)  4.178 ms  4.301 ms  4.291 ms

Dabei werden nicht nur die Knoten-Namen bzw. deren IPs aufgeführt, sondern auch die Paketlaufzeit gemessen.

Beispiel unter Windows:

Traceroute unter Windows

Traceroute unter Windows

Wichtig: Traceroute zeigt nur den jeweiligen Weg auf. Ob ein bestimmter Netzwerk-Verkehr auf einem bestimmten Port auch wirklich funktioniert, beantwortet traceroute nicht.

Hinweis: Der Befehl heißt unter Windows „tracert“ und unter Linux „traceroute“

Traceroute Befehl unter Linux

Traceroute Befehl unter Linux

 

 

Nslookup

Nslookup beantwortet die Frage ob ein DNS-Name (bspw. www.bild.de) zu einer oder mehrerer IP-Adressen aufgelöst werden kann.

Bsp: nslookup www.bild.de

Beispiel für nslookup

Beispiel für nslookup

(1): der DNS Server der antwortet

(2) Nicht aurorisierende Antwort bedeutet: Der DNS_Dienst (1) hat selbst woanders nachgefragt

(3) Das Ergebnis: Die IP 92.122.30.140 ist die IP-Adresse von www.bild.de

Hinweis: Sie können mit dem Befehl nslookup auch andere DNS-Server als ihren gerade genutzten abfragen.

Syntax: nslookup <domain.tld> <anderer DNS>

Bsp.: nslookup bild.de 8.8.4.4

 

 

Dig (Linux)

Mit dig sind deutlich präzisere Abfragen als mit nslookup möglich. Allerdings nur unter Linux.

Syntax: dig <host/domain> Optionen

Bsp.: dig www.bild.de (s.o.)

Beispiel für "dig"

Beispiel für „dig“

Bsp 2.: dig bild.de MX

Damit wird erfragt, welche Hosts der Domain bild.de für den Mail-Versand verantwortlich sind.

MX = Mail Exchanger

MX Records erfragen mit "dig"

MX Records erfragen mit „dig“

  • Die Abfrage: dig bild.de MX
  • Die Antwort: mxa.asv.de. mit Prio 100 und mxb.asv.de mit Prio 200
  • Der antwortende DNS Server (hier 8.8.8.8)

Wenn Sie absichtlich einen anderen DNS-Server abfragen möchten:

Dig <query> @andererDNS

Bsp.: dig bild.de MX @8.8.4.4

Iperf – Performance im Netz

Um tatsächliche Bandbreiten und Performance im Netzwerk zu messen, eignet sich das Linux-Paket iperf.

Installation:

Centos: yum install iperf

Debian: apt install iperf

Auf System1 wird mit “iperf –s” ein Server-Dienst gestartet. Auf der Linux-Gegenstelle wird mit „iperf –c <system1>“ der Standard-Test ausgeführt. Dieser läuft im default 10 Sekunden und gibt Auskunft über die tatsächliche Bandbreite.

Standardmässig läuft der Test als tcp-Test. Optional kann auch mit UDP-Paketen getestet werden.

Iperf mit „iperf –s“ starten. Auf der Gegenstelle anschließend den tatsächlichen Test starten:

Bsp. (Labor): Es wurden 10 Sekunden lang Pakete übertragen. Insgesamt 7,45 GByte mit einer Geschwindigkeit von 6,4 Gbit/Sekunde.

Hinweis: Beide Geräte waren an einem 10GBit/s Switch angeschlossen.

Iperf - auch im heimischen LAN gut zu nutzen

Iperf – auch im heimischen LAN gut zu nutzen

Reales Performance-Beispiel im Internet:

Schritt1: Auf dem Server, der den iperf-Dienst startet, müssen zuerst alle blockierenden Dienste (fail2ban, iptables) deaktiviert werden:

/etc/init.d/monit stop;
/etc/init.d/fail2ban stop;
/etc/init.d/iptables stop;

Anschließend wird mit iperf –s der Dienst gestartet. Die Gegenstelle startet dann den Test:

Im konkreten Beispiel wurden in 10 Sekunden 16,6 MByte übertragen. Das entspricht denn einer Bandbreite von 13 Mbit/Ssekunde.

Mit "iperf" können Sie unter Linux die Geschwindigkeit im Netz messen

Mit „iperf“ können Sie unter Linux die Geschwindigkeit im Netz messen

 

Netzwerk-Scanner

Ein Netzwerkscanner identifiziert die gerade aktiven IP-Adressen in einem Netzwerk. Dies erfolgt in der Regel über einen Ping.

Achtung: Nur wenn der Host einen Ping auch erwidert – also auf dem Port auch Kommunikation zulässt – sehen Sie mit einem IP-Scanner ein Resultat.

Beispiele:

 

Portscanner

Mit einem Portscanner können Sie herausfinden, welche Ports bei einem Host überhaupt offen für eine Kommunikation sind.

Bsp.:

 

Wichtig: Sie können damit noch keinen Rückschluss daraus ziehen, wer ggf. die Kommunikation zum Host kontrolliert.

Das kann der Host selbst regeln oder eine Firewall dazwischen sein.