Warum kann ich von außerhalb des Netzwerks nicht auf meinen Webserver zugreifen?

Warum kann ich von außerhalb des Netzwerks nicht auf meinen Webserver zugreifen?

Ich habe auf meinem Macbook einen Apache-HTTP-Server eingerichtet, damit ich beim Erlernen der Sprache auf die volle Funktionalität von PHP zugreifen kann. Ich habe weder einen registrierten Domänennamen noch einen konstanten Netzwerkzugriff, daher ist die Idee, auf diesem Server eine echte Website zu hosten, nicht realisierbar. Ich mache das nur zu Lernzwecken.

Wie dem auch sei, ich habe mich etwas gefragt. Mir ist aufgefallen, dass ich, wenn ich meine private IP-Adresse in einen Webbrowser eingebe (nicht die Loopback-Adresse, sondern die tatsächliche, von DHCP zugewiesene Adresse), auf Webseiten zugreifen kann, die von meinem Server gehostet werden, was meiner Meinung nach bedeutet, dass ich von außerhalb meines Computers darauf zugreifen kann. Wenn ich jedoch meine öffentliche IP-Adresse eingebe, erhalte ich ein Netzwerk-Timeout, was vermutlich bedeutet, dass ich von außerhalb des lokalen Netzwerks nicht auf meinen Webserver zugreifen kann (es sei denn, die Verbindung ist einfach sehr langsam).

Ich frage mich, warum das so ist. Gibt es eine Sicherheitsebene, die verhindert, dass Personen von außen auf Computer innerhalb eines LANs zugreifen?

Antwort1

Es kann sein, dass die Leitung, ausgehend von Ihrem Computer, drei blockierende Hops enthält:

  • Ihr Betriebssystem hat möglicherweise eine Firewall konfiguriert, die eingehende Anfragen blockiert. Sie können dies mit einem anderen Computer im selben/anderen Subnetz, aber immer noch hinter Ihrem Heimrouter, überprüfen. Ich kenne mich mit MAC OS nicht aus und kann Ihnen daher nicht sagen, wie Sie die Firewall konfigurieren.

  • Ihr Heimrouter (oder die meisten WLAN-Router), mit denen Sie sich verbinden, verwendetNATum das Subnetz dahinter zu „verstecken“ und Ihren mehreren Geräten die Kommunikation über die einzige globale IP-Adresse zu ermöglichen, die Sie vom ISP erhalten. Wenn Sie von einem beliebigen Gerät aus eine Anfrage an einen Remote-Server aus dem LAN stellen, erkennt das Remote-Gerät, dass die Anfrage von Ihrem Router stammt.Wenn Sie von außen eine Anfrage an Ihre öffentliche IP-Adresse stellen, adressieren Sie tatsächlich Ihren Router.Wenn Sie möchten, dass alle HTTP-Anfragen, die an Ihren Router gerichtet sind, von Ihrem Laptop dahinter bedient werden, müssen Sie einenAnschlussweiterleitungRegel im Menü Ihres Routers auf die IP-Adresse des Laptops und Port 80 (Standard-HTTP-Port) oder Port 443 für HTTPS.

  • Heutzutage kommt es immer häufiger vor, dass ISPs Ihnen nicht einmal eine öffentliche (global routbare) IP-Adresse geben. Der ISP verwendet auch NAT (um globale IPv4-Adressen zu speichern), die externe IP-Adresse Ihres Routers stammt aus dem privaten Subnetz Ihres ISPs. Dies würde erfordern, eine Portweiterleitungsregel im Router des ISPs zu registrieren, was dieser nicht für Sie tun wird. In diesem Fall können Sie nicht über das Internet auf Ihren Laptop zugreifen.

Antwort2

Der Grund hierfür liegt an NAT-Übersetzungen.

Wenn Sie eine Verbindung zum Internet herstellen, erhalten Sie von Ihrem ISP eine öffentliche IP-Adresse, damit Sie mit dem Internet kommunizieren können.

Wenn jemand im Internet auf Ihren Webserver zugreifen möchte und die öffentliche IP-Adresse eingibt, muss der Router wissen, an welchen Punkt im Netzwerk die Anfrage gesendet wird. Dies nennt man NAT-Übersetzungen. Dies geschieht durch die Einrichtung einer Portzuordnung.

Websites verwenden HTTP-Verkehr, der standardmäßig über Port 80 läuft. Sie müssen also eine Regel im Router erstellen, die besagt, dass Port 80 an die interne IP-Adresse weitergeleitet werden muss. Sobald dies erledigt ist und jemand von außerhalb Ihre öffentliche IP-Adresse in seinen Browser eingibt, weiß Ihr Router, dass er die Anfrage an Ihr MacBook weiterleiten muss.

Nun gibt es noch eine Ergänzung zu der Frage. Wenn Sie eine Portweiterleitung einrichten, erkennen die meisten Router nicht, dass Ihre öffentliche IP-Adresse Ihre eigene ist. Daher können Sie höchstwahrscheinlich weiterhin nicht von Ihrer eigenen öffentlichen IP-Adresse aus auf Ihre Website zugreifen.

Ihr MacBook sendet die Anfrage an den Router, der sie an den ISP weiterleitet. Der ISP sendet sie zurück. Da der Router sie nicht erwartet, ignoriert er die Anfrage. Dies führt zu einer Zeitüberschreitung, weil er keine Verbindung zu sich selbst herstellen kann.

verwandte Informationen