Portweiterleitung: Unterschied zwischen den Versionen

Aus Foxwiki
Markierungen: Neue Weiterleitung Zurückgesetzt Visuelle Bearbeitung
Zeile 1: Zeile 1:
'''Portweiterleitung''' -  Weiterleitung einer Verbindung, die über ein [[Rechnernetz]] auf einem bestimmten [[Port (Protokoll)|Port]] eingeht, zu einem anderen [[Computer]]
#WEITERLEITUNG [[Network Address Translation#Portweiterleitung]]
 
== Beschreibung ==
Eine '''Portweiterleitung''' (englisch ''port forwarding'') ist die Weiterleitung einer Verbindung, die über ein [[Rechnernetz]] auf einem bestimmten [[Port (Protokoll)|Port]] eingeht, zu einem anderen [[Computer]].
* Da der entsprechende [[Netzwerkdienst]] nicht von dem weiterleitenden Computer selbst geleistet wird, ist die Bezeichnung ''virtueller Server'' irreführend.
 
; Die eingehenden [[Datenpaket]]e werden hierbei per [[Destination NAT]] und die ausgehenden Pakete per [[Source NAT]] maskiert
* die Ziel- und Quelladressen ersetzt
* um die Anfrage an den tatsächlichen Server und dessen Antwort an den ursprünglichen Client weiterzuleiten
* Für Server und Client entsteht so der Anschein, die eingehenden Pakete stammten von dem Computer, der die Portweiterleitung betreibt.
 
; Port Forwarding wird oft dazu benutzt, [[File Transfer Protocol|FTP]], [[Web-Server]] oder andere [[Server (Software)|Server]]-basierende Anwendungen hinter einem [[Network Address Translation|NAT]]-Gateway zu betreiben
 
== Portweiterleitung durch Router ==
* Ein [[Router]], der beispielsweise mit einem [[Private IP-Adresse|privaten]] [[Local Area Network|lokalen Netz]] und dem [[Internet]] verbunden ist, wartet dabei an einem bestimmten Port auf Datenpakete.
* Wenn Pakete an diesem Port eintreffen, werden sie an einen bestimmten Computer und gegebenenfalls einen anderen Port im internen Netzwerk weitergeleitet.
* Alle Datenpakete von diesem Computer und Port werden, wenn sie zu einer eingehenden Verbindung gehören, per [[Network Address Translation]] (NAT) so verändert, dass es im externen Netz den Anschein hat, der Router würde die Pakete versenden.
Portweiterleitung wird es Rechnern innerhalb eines LAN – welche von einem externen Netz nicht direkt erreichbar sind – somit möglich, auch außerhalb dieses [[Rechnernetz|Netzes]], insbesondere auch im [[Internet]] als [[Server]] zu fungieren, da diese somit über einen festgelegten Port (und mittels [[Network Address Translation|NAT]]) eindeutig ansprechbar gemacht werden.
 
; Für alle Rechner im externen Netz sieht es so aus, als ob der Router den Serverdienst anbietet.
* Dass dem nicht so ist, lässt sich anhand von [[Header]]-Zeilen oder Paketlaufzeitanalysen erkennen.
 
; Beispiel
Eine größere Firma besitzt ein lokales Netzwerk, wobei mehrere Server nach außen (Internet) per ADSL-Router unter einer [[IP-Adresse]] (z. B. 205.0.0.1) auftreten.
Jetzt möchte ein Client aus dem externen Netz (Internet) einen Dienst (z. B. HTTP/TCP Port 80) auf einem Server der Firma nutzen.
* Er kann jedoch nur den ADSL-Router der Firma für den Dienst (HTTP/TCP Port 80) unter der ihm bekannten IP-Adresse (205.0.0.1) ansprechen.
* Der ADSL-Router der Firma leitet die Anfrage für den Dienst (HTTP/TCP Port 80) an den entsprechenden Server im lokalen Netzwerk weiter.
 
; Eine Portweiterleitung wird also benötigt, wenn keine [[Port Address Translation]] (PAT) möglich ist, da die erste Anfrage von außen (z. B. Internet) kommt und mehrere Server nur unter einer IP-Adresse von außen ansprechbar sind.
 
== Verbesserung der Sicherheit ==
; Ein anderes Anwendungsbeispiel für eine Portweiterleitung ist die Sicherung eines Kanals für die Übertragung vertraulicher Daten.
* Dabei wird Port A auf Rechner 1 mit Port B auf Rechner 2 verknüpft durch eine im Hintergrund aufrechterhaltene Verbindung zwischen zwei anderen Ports der beiden Rechner.
* Dies bezeichnet man auch als [[Tunnel (Rechnernetz)|Tunneling]].
 
; So kann beispielsweise eine unsichere [[POP3]]-Verbindung (Nutzername und Passwort werden in der Regel im Klartext übertragen) durch den Transport in einem [[Secure Shell|SSH]]-Kanal abgesichert werden: Der Port 113 auf dem POP-Server wird per SSH an den Port 113 des lokalen Rechners des Anwenders weitergeleitet.
* Das lokale E-Mail-Programm kommuniziert nun mit dem lokalen Port ([[localhost]]:113) statt mit dem Port des Servers (pop.example.org:113).
* Der SSH-Kanal transportiert dabei die Daten verschlüsselt über die  parallel bestehende SSH-Verbindung zwischen den zwei Adressen.
* Das Abgreifen des Passworts durch einen mithörenden Dritten wird dadurch nahezu unmöglich.
* Voraussetzung für einen SSH-Tunnel ist ein zumindest eingeschränkter SSH-Zugang auf dem Server (pop.example.org), was Privatanwendern üblicherweise nicht gestattet wird.
 
== Port Triggering ==
; Beim ''Port Triggering'' werden sowohl die Ports festgelegt, über die die Daten des Programms nach außen gesendet werden, als auch über welche Ports die Antworten wieder eingehen.
* Port Triggering erweitert damit die Technik der einfachen Portweiterleitung.
* Wenn ein Rechner über eine Anwendung, deren Ports im Port Triggering festgelegt wurden, Daten ins Internet sendet, speichert der Router die IP-Adresse dieses Rechners und leitet die eingehenden Antwortpakete, entsprechend an diese IP-Adresse weiter (zurück).
* Die Weiterleitung erfolgt hierbei jeweils an die IP-Adresse, von welcher die Anforderung kam, ohne dass diese in der Konfiguration hinterlegt ist.
* Allerdings ist es auch mit dieser Technik nicht möglich, auf einem Port eingehende Verbindungen gleichzeitig an mehrere Rechner weiterzuleiten.
 
; Bei Port Forwarding ist der Port immer offen, auch wenn der Dienst nicht benutzt wird.
* Im Gegensatz dazu erlaubt Port Triggering den eingehenden Datenverkehr erst, nachdem ein Rechner aus dem lokalen Netz einen entsprechenden Request in Richtung Internet gesendet hat, und schließt den Port nach einer gewissen Zeitspanne der Inaktivität automatisch wieder.
* Hieraus ergeben sich zwei Vorteile:
 
; Erhöhte Sicherheit: Die eingehenden Ports sind nicht dauerhaft geöffnet.
* Das Forwarding braucht nicht mehr konfiguriert zu werden: Es ist nicht mehr nötig, feste interne IP-Adressen für das Forwarding der Ports anzugeben, da diese IP-Adresse durch den ausgehenden Datenverkehr auf dem Trigger-Port ermittelt werden kann.
 
; Wird Port Triggering auf einen Port gelegt, auf dem [[VoIP]] betrieben wird, ist es möglich, dass der VoIP-Dienst nur noch erreichbar ist, wenn vorher ein ausgehender Anruf getätigt wurde.
* Sobald der Port wieder geschlossen wird (siehe oben) ist es wieder nicht möglich, eingehende Anrufe zu empfangen.
* Einige VoIP-Endgeräte unterstützen daher die Aufrechterhaltung der Weiterleitung durch den Versand von Pseudo-Datenpaketen.
 
== Sicherheit ==
 
== Siehe auch ==
* [[NAT]]
* [[IGD-Protokoll]]
* [[Hole Punching (Rechnernetz)]]
 
=== Dokumentation ===
==== RFC ====
==== Man-Pages ====
==== Info-Pages ====
=== Links ===
 
==== Einzelnachweise ====
<references />
 
==== Projekt ====
 
==== Weblinks ====
* https://de.wikipedia.org/wiki/Portweiterleitung
* https://portforward.com/help/porttriggering.htm (englisch)
 
== Testfragen ==
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 1''
<div class="mw-collapsible-content">'''Antwort1'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 2''
<div class="mw-collapsible-content">'''Antwort2'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 3''
<div class="mw-collapsible-content">'''Antwort3'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 4''
<div class="mw-collapsible-content">'''Antwort4'''</div>
</div>
<div class="toccolours mw-collapsible mw-collapsed">
''Testfrage 5''
<div class="mw-collapsible-content">'''Antwort5'''</div>
</div>
 
[[Kategorie:TCP/IP]]

Version vom 19. März 2023, 12:47 Uhr