it-swarm.com.de

Was ist Port Forwarding und wofür wird es verwendet?

Es gibt viele Fragen zu 'Portweiterleitung' , aber es scheint keine zu geben, die eindeutig angibt, was es ist und wofür es verwendet wird. So:

  1. Was ist Portweiterleitung?

  2. Wofür wird es verwendet und warum sollte ich es brauchen?

205
James Mertz

Die Grundlagen

Um die Portweiterleitung wirklich zu erklären, müssen Sie zunächst etwas mehr über die Funktionen Ihres Routers wissen. Ihr Internetdienstanbieter weist Ihrer Internetverbindung die IP-Adresse one zu. Alle Computer im Internet benötigen eine eindeutige IP-Adresse, Sie haben jedoch mehrere Computer in Ihrem Haus und nur eine Adresse. Wie funktioniert das?

Wenn Sie wissen, was es ist und nur wissen wollen, wie es geht: http://portforward.com/ hat eine Anleitung mit Screenshots für buchstäblich Hunderte von verschiedenen Routern. Die Dokumentation ist dort hinter einer Werbeseite für ihr automatisches Portconfig-Tool versteckt. (Klicken Sie einfach ein wenig herum und Sie werden es finden.)

NAT - Was ist das? Warum benutzen wir es?

In Ihrem Heimrouter ist eine Funktion namens Network Address Translation (NAT) integriert. In Ihrem Netzwerk haben Computer Adressen wie 192.168.1.100. Alle Adressen im Bereich 192.168. * (Oder im Bereich 10. *) sind " privat " oder " reserviert ". Diese Adressen werden von IANA offiziell für die Verwendung in privaten Netzwerken vergeben. Ihr Router weist jedem Computer, der über DHCP verbunden ist, automatisch eine solche Adresse zu. Über diese Adressen kommunizieren die Computer in Ihrem Netzwerk mit dem Router und untereinander.

Ihr Router verfügt über eine separate Netzwerkschnittstelle, die ihn mit dem Internet verbindet. Diese Schnittstelle hat eine ganz andere Adresse, die von Ihrem Internetdienstanbieter zugewiesen wird. Dies ist die eine Adresse, die ich zuvor erwähnt habe, und Ihr Router verwendet sie, um mit anderen Computern im Internet zu kommunizieren. Computer in Ihrem Netzwerk haben nicht routingfähig private IP-Adressen, dh, wenn sie Pakete direkt an das Internet senden, werden die Pakete automatisch verworfen (Pakete mit privaten Adressen dürfen aus Stabilitätsgründen nicht das Internet durchlaufen ). Ihr Router hat jedoch eine routingfähige Adresse. Wie der Name schon sagt, kann die Netzwerkadressübersetzung übersetzt zwischen diesen beiden Arten von Adressen wechseln, sodass mehrere Computer in Ihrem Netzwerk im Internet als ein Computer mit einer Adresse angezeigt werden.

Die Details

Obwohl dies kompliziert klingen mag, ist es eigentlich ziemlich einfach, wie Ihr Router das macht. Jedes Mal, wenn ein Computer in Ihrem Netzwerk eine Verbindung zu einem Computer im Internet herstellen möchte, sendet er die Verbindungsanforderung an den Router (er weiß, dass er sie an den Router sendet, weil sein Parameter Standard-Gateway auf den Router eingestellt ist Adresse). Der Router nimmt dann diese Verbindungsanforderung (eine "SYN-Anforderung" in TCP/IP) entgegen und ändert die Quelladresse (die "Antwortadresse" oder die Rücksprungadresse) und ändert sie von der privaten IP des Computers in die öffentliche IP der Router, damit die Antwort an den Router gesendet wird. Anschließend wird in einer Datenbank (die NAT table genannt wird) notiert, dass die Verbindung initiiert wurde, damit sie sich später daran erinnert.

Wenn die Antwort vom Remotecomputer zurückkommt (ein "SYN-ACK"), sieht der Router in seiner Tabelle NAT nach, dass eine Verbindung zu diesem Host an diesem Port zuvor von einem privaten Computer an initiiert wurde Ändern Sie in Ihrem Netzwerk die Zieladresse in die private Adresse des Computers und leiten Sie sie in Ihrem Netzwerk weiter. Auf diese Weise können Pakete weiterhin zwischen Netzwerken hin und her übertragen werden, wobei der Router die Adressen transparent ändert, damit dies funktioniert. Wenn die Verbindung beendet ist, entfernt der Router sie einfach aus der Tabelle NAT.

Oder denken Sie so darüber

Dies lässt sich möglicherweise mit einer Metapher leichter veranschaulichen. Nehmen wir an, Sie sind ein Spediteur in den USA, der mit chinesischen Kunden zusammenarbeitet. Sie müssen Pakete an viele Kunden in den USA senden, aber es ist aus Zoll-/Papiergründen einfacher, Pakete nur an einen Ort zu senden. Sie erhalten also ein Paket von einem Ihrer Kunden in China (in diesem Beispiel das private Netzwerk) mit einem tatsächlichen Ziel irgendwo in den USA (im Internet). Sie ändern das Adressetikett auf der Schachtel in die US-amerikanische (öffentliche) Adresse und die Rücksendeadresse in Ihre eigene öffentliche Adresse (da diese nicht direkt nach China zurückgesandt werden kann, ohne den Kunden zu belasten) und übergeben sie dem Postdienst . Wenn der Kunde das Produkt zurücksendet, kommt es zu Ihnen. Sie sehen in Ihren Unterlagen nach, von welcher Firma in China sie stammt, und ändern den Bestimmungsort in diese Firma (ihre Privatadresse) und die Rücksendeadresse in Ihre Privatadresse, damit sie einen Ersatz durch Sie zurücksenden können.

Das funktioniert gut, aber es gibt ein kleines Problem. Was ist, wenn ein Kunde etwas an das Unternehmen senden muss, sagen wir eine Zahlungsanweisung, um etwas zu bezahlen? Angenommen, ein Computer im Internet initiiert eine Verbindung mit dem Router (eine SYN-Anfrage), beispielsweise zu einem Webserver im Netzwerk. Der Brief/das Paket enthält nur die öffentliche Adresse des Routers, sodass der Router nicht weiß, wohin er es senden soll! Es kann für jeden Computer im privaten Netzwerk oder für keinen von ihnen bestimmt sein. Möglicherweise ist dieses Problem aufgetreten, wenn Sie bei jemandem zu Hause anrufen. Wenn er Sie anruft, ist dies kein Problem. Wenn Sie ihn jedoch anrufen, kann er nicht wissen, für wen er angerufen wird, sodass möglicherweise die falsche Person antwortet.

Während es für Menschen einfach genug ist, dies zu klären, ist es für Computer viel schwieriger, da nicht jeder Computer in Ihrem Netzwerk alle anderen Computer kennt.

Und schließlich kommen wir zum Port Forwarding

Mit der Portweiterleitung können wir dieses Problem beheben: Auf diese Weise können Sie Ihrem Router mitteilen, an welchen Computer im Netzwerk eingehende Verbindungen weitergeleitet werden sollen. Wir haben drei verschiedene Möglichkeiten, dies zu tun:

  • Faux-DMZ : Viele Router haben eine Funktion namens DMZ. Dies steht für Demilitarized Zone, eine Art Netzwerksicherheitskonfiguration. Die DMZ auf Heimroutern wird oft als Faux-DMZ bezeichnet, da sie nicht über die Funktionen einer tatsächlichen DMZ verfügt. Dies ist die einfachste Art der Bearbeitung eingehender Verbindungen: Alle eingehenden Verbindungsanfragen werden an eine in Ihrem Netzwerk angegebene Adresse gesendet. Es ist denkbar einfach: Sie geben eine IP-Adresse in die Konfiguration Ihres Routers ein und alle eingehenden Verbindungen werden dorthin geleitet. Dies funktioniert jedoch nicht immer, da möglicherweise mehrere Computer eingehende Verbindungen akzeptieren müssen. Dafür haben wir ...
  • Portweiterleitung : Alle Netzwerkverbindungsanfragen enthalten einen "Port". Der Port ist nur eine Zahl und es ist ein Teil davon, wie ein Computer weiß, was das Paket ist. IANA hat angegeben, dass Port 80 für HTTP verwendet wird. Dies bedeutet, dass ein eingehendes Paket mit der Portnummer 80 eine Anfrage für einen Webserver sein muss. Bei der Portweiterleitung auf Ihrem Router können Sie eine Portnummer (oder möglicherweise einen Bereich oder eine Kombination von Nummern, je nach Router) und eine IP-Adresse eingeben. Alle eingehenden Verbindungen mit einer übereinstimmenden Portnummer werden an den internen Computer mit dieser Adresse weitergeleitet.
  • UPnP-Portweiterleitung : Die UPnP-Weiterleitung funktioniert genauso wie die Portweiterleitung, aber anstatt sie einzurichten, leitet die Software auf einem Computer im Netzwerk automatisch den Datenverkehr eines bestimmten Ports an den Router weiter.

Ein Beispiel

Schauen wir uns ein Anwendungsbeispiel an. Bei vielen Multiplayer-Videospielen (z. B. Counter Strike) können Sie einen Spieleserver auf Ihrem Computer ausführen, mit dem andere Personen eine Verbindung herstellen können, um mit Ihnen zu spielen. Ihr Computer kennt nicht alle Personen, die spielen möchten, und kann daher keine Verbindung zu ihnen herstellen. Stattdessen müssen sie neue Verbindungsanfragen aus dem Internet an Ihren Computer senden.

Wenn Sie auf dem Router nichts eingerichtet hätten, würde er diese Verbindungsanforderungen empfangen, aber nicht wissen, auf welchem ​​Computer im Netzwerk der Spieleserver installiert ist, sodass er sie einfach ignoriert (oder, genauer gesagt, sendet) ein Paket zurücksenden, das anzeigt, dass keine Verbindung hergestellt werden kann). Zum Glück kennen Sie die Portnummer, die bei Verbindungsanfragen für den Spieleserver angezeigt wird. Auf dem Router stellen Sie also einen Port für die Weiterleitung mit der vom Spieleserver erwarteten Portnummer (z. B. 27015) und der IP-Adresse des Computers mit dem Spieleserver (z. B. 192.168.1.105) ein.
Der Router kann die eingehenden Verbindungsanfragen an 192.168.1.105 innerhalb des Netzwerks weiterleiten, und Computer außerhalb können eine Verbindung herstellen.

Ein weiteres Beispiel wäre ein lokales Netzwerk mit zwei Computern, wobei der zweite mit der IP 192.168.1.10 eine Website mit Apache hostet. Daher sollte der Router eingehende Anforderungen von Port 80 an diesen Computer weiterleiten. Bei Verwendung der Portweiterleitung können beide Computer gleichzeitig im selben Netzwerk ausgeführt werden.

 Port forwarding example graph

Videospiele sind vielleicht der häufigste Ort, an dem Benutzer im Alltag auf Portweiterleitung stoßen, obwohl die meisten modernen Spiele UPnP verwenden, sodass Sie dies nicht manuell ausführen müssen (stattdessen ist es vollautomatisch). Sie müssen dies immer dann tun, wenn Sie in der Lage sein möchten, eine direkte Verbindung zu etwas in Ihrem Netzwerk herzustellen (anstatt über einen Vermittler im Internet). Dies kann das Ausführen eines eigenen Webservers oder das Herstellen einer Verbindung über das Remotedesktopprotokoll mit einem Ihrer Computer umfassen.

Ein Hinweis zur Sicherheit

Das Schöne an NAT ist, dass es mühelos integrierte Sicherheit bietet. Viele Menschen suchen im Internet nach anfälligen Computern und versuchen dazu, Verbindungen mit verschiedenen Ports herzustellen. Dies sind eingehende Verbindungen. Wie oben erläutert, werden sie vom Router getrennt. Dies bedeutet, dass in einer NAT - Konfiguration nur der Router selbst für Angriffe mit eingehenden Verbindungen anfällig ist. Dies ist eine gute Sache, da der Router viel einfacher (und daher weniger anfällig) ist als ein Computer, auf dem ein vollständiges Betriebssystem mit viel Software ausgeführt wird. Sie sollten sich daher bewusst sein, dass Sie durch das DMZing eines Computers in Ihrem Netzwerk (indem Sie ihn als DMZ -Ziel festlegen) diese Sicherheitsebene für diesen Computer verlieren: Sie ist jetzt für eingehende Verbindungen von der vollständig offen Sie müssen es so sichern, als wäre es direkt mit dem Internet verbunden. Wenn Sie einen Port weiterleiten, ist der Computer am empfangenden Ende natürlich für diesen bestimmten Port anfällig. Stellen Sie also sicher, dass Sie eine aktuelle Software ausführen, die gut konfiguriert ist.

309
jcrawfordor