Die Grundlagen
Um die Portweiterleitung wirklich zu erklären, müssen Sie zunächst ein wenig mehr über die Funktionsweise Ihres Routers verstehen . Ihr Internet Service Provider weist Ihrer Internetverbindung eine IP-Adresse 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/ bietet eine Anleitung mit Screenshots für buchstäblich Hunderte verschiedener Router. Die Dokumentation befindet sich hinter einer Anzeigenseite für ihr automatisches Portconfig-Tool. (Klicken Sie einfach etwas herum und Sie werden es finden.)
NAT - was ist das? Warum benutzen wir es?
Ihr Heimrouter verfügt über eine integrierte Funktion namens Network Address Translation (NAT). In Ihrem Netzwerk haben Computer Adressen wie 192.168.1.100. Alle Adressen im Bereich 192.168. * (Oder 10. *) sind " private " oder " reservierte " Adressen. Diese Adressen werden von IANA offiziell für die Verwendung in privaten Netzwerken zugewiesen. Ihr Router weist jedem über DHCP verbundenen Computer automatisch eine solche Adresse zu . Diese Adressen geben an, wie Computer in Ihrem Netzwerk mit dem Router und untereinander kommunizieren.
Ihr Router verfügt über eine separate Netzwerkschnittstelle, über die er mit dem Internet verbunden wird. Diese Schnittstelle hat eine ganz andere Adresse, die von Ihrem ISP zugewiesen wird. Dies ist die eine Adresse, die ich zuvor erwähnt habe, und Ihr Router verwendet sie zur Kommunikation mit anderen Computern im Internet. Computer innerhalb Ihres Netzwerks verfügen über nicht routbare private IP-Adressen. Das heißt, wenn Pakete direkt an das Internet gesendet werden, werden die Pakete automatisch verworfen (Pakete mit privaten Adressen dürfen aus Stabilitätsgründen nicht das Internet durchqueren). Ihr Router hat jedoch eine routbare Adresse. Network Address Translation, wie der Name schon sagt, übersetzt zwischen diesen beiden Arten von Adressen, so dass mehrere Computer in Ihrem Netzwerk im Internet als ein Computer mit einer Adresse angezeigt werden.
Die Details
Obwohl dies kompliziert klingen mag, ist es 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 Verbindungsanfrage an den Router (er weiß, dass er ihn an den Router sendet, da der Parameter Default Gateway auf die Adresse des Routers eingestellt ist). Der Router nimmt dann diese Verbindungsanfrage (eine "SYN - Anforderung" in TCP / IP) und ändert die Quelladresse (die "Antwort an" oder die Rücksprungadresse) und ändert sie von der privaten IP des Computers in die öffentliche IP des Router, damit die Antwort an den Router gesendet wird. In einer Datenbank (als NAT-Tabelle bezeichnet ) wird darauf hingewiesen, dass die Verbindung initiiert wurde, sodass sie sich später daran erinnert.
Wenn die Antwort vom Remote-Computer zurückgegeben wird (ein "SYN-ACK"), sucht der Router in seiner NAT-Tabelle und stellt fest, dass eine Verbindung zu diesem Host an diesem Port zuvor von einem privaten Computer in Ihrem Netzwerk initiiert wurde und das Ziel ändert Adresse an die private Adresse des Computers und leitet sie innerhalb Ihres Netzwerks weiter. Auf diese Weise können Pakete weiterhin zwischen Netzwerken hin und her wechseln, wobei der Router die Adressen transparent ändert, damit er funktioniert. Wenn die Verbindung beendet ist, entfernt der Router sie gerade aus der NAT-Tabelle.
Oder denken Sie so darüber nach
Dies lässt sich mit einer Metapher vielleicht etwas einfacher visualisieren. 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 versenden, aber aus Gründen des Zolls oder des Schreibens ist es einfacher, Pakete nur an einen Ort zu schicken. Sie erhalten also ein Paket von einem Ihrer Kunden in China (in diesem Beispiel dem privaten Netzwerk) mit einem tatsächlichen Ziel irgendwo in den USA (dem Internet). Sie ändern das Adressetikett auf der Box in die US-amerikanische (öffentliche) Adresse und ändern die Rücksendeadresse in Ihre eigene öffentliche Adresse (da sie nicht ohne Umwege nach China direkt an China zurückgegeben werden kann), und geben Sie sie an den Postdienst weiter . Wenn der Kunde das Produkt zurücksendet, kommt es zu Ihnen. Sie finden es in Ihren Unterlagen und sehen, von welchem Unternehmen in China es kam,
Das funktioniert großartig, aber es gibt ein kleines Problem. Was ist, wenn ein Kunde etwas an das Unternehmen schicken muss, beispielsweise eine Zahlungsanweisung für etwas? Oder nehmen wir an, ein Computer im Internet initiiert eine Verbindung mit dem Router (eine SYN-Anforderung), beispielsweise zu einem Webserver, der sich im Netzwerk befindet. Der Brief / das Paket enthält nur die öffentliche Adresse des Routers, sodass der Router nicht weiß, wohin er gesendet werden soll! Es kann für jeden Computer im privaten Netzwerk oder für keinen Computer bestimmt sein. Dieses Problem ist möglicherweise aufgetreten, wenn Sie das Telefon einer anderen Person anrufen. Wenn Sie angerufen werden, ist das kein Problem. Wenn Sie jedoch anrufen, können Sie nicht wissen, wer den Anruf tätigt. Die falsche Person könnte antworten.
Für Menschen ist das zwar leicht genug, um das zu klären, aber für Computer ist das viel schwieriger, da nicht jeder Computer in Ihrem Netzwerk alle anderen Computer kennt.
Und endlich kommen wir zum Port Forwarding
Mithilfe der Portweiterleitung können Sie dieses Problem beheben: Sie können Ihrem Router mitteilen, an welchen Computer im Netzwerk eingehende Verbindungen geleitet werden sollen. Wir haben drei Möglichkeiten, dies zu tun:
- Faux-DMZ : Viele Router haben eine Funktion namens DMZ. Dies steht für Demilitarized Zone, einer Art Netzwerksicherheitskonfiguration. Die DMZ auf Heimroutern wird häufig als faux-DMZ bezeichnet, da ihnen die Merkmale einer tatsächlichen DMZ fehlen. Dies ist die einfachste Art der Verarbeitung eingehender Verbindungen: Alle eingehenden Verbindungsanforderungen werden an eine innerhalb Ihres Netzwerks angegebene Adresse gesendet. Ganz einfach: Sie geben eine IP-Adresse in die Konfiguration Ihres Routers ein und alle eingehenden Verbindungen gehen dort hin. Dies funktioniert jedoch nicht immer, da möglicherweise mehrere Computer eingehende Verbindungen akzeptieren müssen. Dafür haben wir ...
- Portweiterleitung : Alle Netzwerkverbindungsanforderungen 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 Anforderung sein muss, die für einen Webserver bestimmt ist. Über die Portweiterleitung auf Ihrem Router können Sie eine Portnummer (oder je nach Router einen Bereich oder eine Kombination von Nummern) und eine IP-Adresse eingeben. Alle eingehenden Verbindungen mit einer übereinstimmenden Portnummer werden mit dieser Adresse an den internen Computer weitergeleitet.
- UPnP-Port weiterleiten : Die UPnP-Weiterleitung funktioniert genauso wie die Port-Weiterleitung. Statt jedoch die Einrichtung auf einem Computer innerhalb des Netzwerks vorzunehmen, wird der Router automatisch so eingestellt, dass er den Verkehr an einem bestimmten Port an diesen weiterleitet.
Ein Beispiel
Schauen wir uns ein Anwendungsbeispiel an. Viele Multiplayer-Videospiele (z. B. Counter Strike) ermöglichen es Ihnen, einen Spieleserver auf Ihrem Computer zu betreiben, zu 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 haben, werden diese Verbindungsanfragen empfangen, er weiß jedoch nicht, auf welchem Computer im Netzwerk sich der Spieleserver befindet. Er würde sie also einfach ignorieren (oder genauer gesagt, er würde senden) ein Paket zurück, das anzeigt, dass es keine Verbindung herstellen kann). Glücklicherweise kennen Sie die Portnummer, die bei Verbindungsanfragen für den Spieleserver angezeigt wird. Auf dem Router legen Sie also einen Portforward mit der Portnummer fest, die der Spieleserver erwartet (zum Beispiel 27015) und der IP-Adresse des Computers mit dem Spieleserver (zum Beispiel 192.168.1.105).
Der Router weiß, dass er die eingehenden Verbindungsanforderungen an 192.168.1.105 innerhalb des Netzwerks weiterleiten muss, und Computer außerhalb können sich verbinden.
Ein anderes Beispiel wäre ein lokales Netzwerk mit zwei Maschinen, bei dem der zweite mit der IP 192.168.1.10 eine Website mit Apache hostet. Der Router sollte daher eingehende Anforderungen des Port 80 an dieses System weiterleiten. Bei der Portweiterleitung können beide Maschinen gleichzeitig im selben Netzwerk ausgeführt werden.
Videospiele sind vielleicht der häufigste Ort, an dem Benutzer im Allgemeinen auf Port-Forwarding stoßen, obwohl die meisten modernen Spiele UPnP verwenden, sodass Sie dies nicht manuell tun müssen (stattdessen ist es vollautomatisch). Sie müssen dies jedoch tun, wenn Sie eine direkte Verbindung zu etwas in Ihrem Netzwerk herstellen möchten (und nicht über einen Intermediär im Internet). Dazu können Sie beispielsweise einen eigenen Webserver ausführen oder über das Remote Desktop Protocol eine Verbindung zu einem Ihrer Computer herstellen.
Ein Hinweis zur Sicherheit
Eine der besten Eigenschaften von NAT ist, dass es einige mühelose integrierte Sicherheit bietet. Viele Leute suchen im Internet nach Maschinen, die anfällig sind ... und versuchen dies, indem sie versuchen, Verbindungen zu verschiedenen Ports herzustellen. Hierbei handelt es sich um eingehende Verbindungen. Der Router löscht diese Verbindungen, wie oben beschrieben. 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 ist (und daher weniger anfällig ist) als ein Computer, auf dem ein volles Betriebssystem mit viel Software läuft. Sie sollten bedenken, dass Sie durch das DMZ eines Computers in Ihrem Netzwerk (das Sie als DMZ-Ziel festlegen) diese Sicherheitsstufe für diesen Computer verlieren: Er ist jetzt vollständig offen für eingehende Verbindungen aus dem Internet. Sie müssen es also so sichern, als wäre es direkt verbunden. Wenn Sie einen Port weiterleiten, wird der Computer auf der empfangenden Seite natürlich an diesem Port anfällig. Stellen Sie daher sicher, dass Sie aktuelle Software ausführen, die gut konfiguriert ist.