2011-03-19 22:41:21 +0000 2011-03-19 22:41:21 +0000
38
38
Advertisement

Zugriff auf interne IP über öffentliche IP

Advertisement

Ich habe ein DSL-Modem mit einer öffentlichen IP-Adresse (201.206.x.x), und ich habe einen Webserver in meinem internen Netzwerk (192.168.0.50).

Ich habe das Modem so eingerichtet, dass es Anfragen an Port 80 an meinen Webserver weiterleitet. Wenn ich also von außerhalb meines Netzwerks auf 201.206.x.x zugreife, zeigt es meine Webseite an, dasselbe passiert, wenn ich von einem Computer innerhalb meines Netzwerks auf 192.168.0.50 zugreife.

Wenn ich nun versuche, von meinem internen Netzwerk aus auf 201.206.x.x zuzugreifen, versucht der Browser, sich mit der Konfiguration des DSL-Modems zu verbinden, anstatt meine Anfrage an meinen Webserver weiterzuleiten.

Welche Einstellungen muss ich im Modem ändern, um diese Umleitung einzurichten?

Advertisement

Antworten (8)

20
20
20
2011-03-19 23:02:55 +0000

Das Problem ist, dass das Umschreiben der Pakete in der Regel nur beim Durchqueren der Firewall stattfinden kann. Im Allgemeinen können Router das notwendige Umschreiben nicht durchführen, wenn die Anfrage aus demselben Netzwerk kommt, in das die Anfrage umgeschrieben werden soll. Die übliche Lösung für dieses Problem besteht darin, einen Web-Proxy außerhalb des Netzwerks zu platzieren, der die Anfrage durch die Firewall zurückschleift.

Ich vermute, dass Ihr spezielles Problem darin besteht, dass Sie auf die Website über ihren DNS-Hostnamen zugreifen möchten. Das können Sie mit “Split-Horizon”-DNS bewerkstelligen, d. h. es wird darauf geachtet, woher die Anfrage kommt, und entsprechend geantwortet: Wenn die Anfrage von innerhalb Ihres Netzwerks kommt, gibt es die 192.168.0.50 an Anfragen aus Ihrem Netzwerk aus und die öffentliche IP an alle anderen.

Jeder dieser Vorschläge könnte auf einem beliebigen Host außerhalb Ihres Netzwerks implementiert werden, z. B. auf einer (kostenlosen) Amazon EC2-Mikroinstanz.

14
14
14
2011-03-20 00:32:24 +0000

Ich würde sagen, @Insyte ist etwas auf der Spur, wenn er/sie davon spricht, dass das Problem ein DNS-Auflösungsproblem ist … was dann bedeutet, dass das Problem ein Paket-Rewriting ist (lesen Sie @Insytes Beitrag noch einmal für diese Erklärung).

Angenommen, Sie haben die folgenden Einstellungen:

  1. öffentliche IP: 201.206.x.y
  2. Private IP: 192.168.0.50
  3. Portweiterleitung für alle 80 (und 443, wenn Sie SSL verwenden) auf IP 201.206.x.y192.168.0.50

Sie geben dann Folgendes in Ihren Browser ein, während Sie sich in Ihrem internen Netzwerk befinden:

http://www.yourwebsite.com

und der Fehler tritt auf. Also, Lösung: Hacken Sie Ihre hosts-Datei.

Unter Windows gehen Sie zu C:\windows\system32\drivers\etc\hosts (beachten Sie, dass diese Datei keine Erweiterung hat). Unter Linux befindet sich die Datei in /etc/hosts.

Wenn Sie diese Datei in Notepad öffnen, können Sie alle Einträge sehen, die zum Überschreiben von DNS verwendet werden. Wenn Sie diese Datei aktualisieren möchten, müssen Sie Notepad (oder welches Programm Sie auch immer zum Bearbeiten der Datei verwenden) mit Administratorrechten öffnen - sonst können Sie die Datei nicht speichern.

Fügen Sie dies zu Ihrer Hosts-Datei hinzu:

192.168.0.50 www.yourwebsite.com

Dann starten Sie Ihren Browser neu, geben die URL ein und violà! Es funktioniert. Das heißt also, Ihr Browser verlässt sich nicht auf Ihren DNS, um Ihre Domain in die IP aufzulösen. Stattdessen setzen wir dies außer Kraft und sagen: Browser, geh einfach zu meiner internen IP für diesen Domainnamen, anstatt DNS nach der IP-Adresse zu fragen.

Wenn Sie in einem Büro sind, dann können Sie alle Leute, die auf diese interne Website zugreifen müssen, dazu bringen, ihre Hosts-Datei zu hacken, oder wenn Sie einen internen DNS haben, dann können Sie einen Eintrag in diesen hinzufügen.

Eine andere Idee ist, einen internen Proxyserver (für das gesamte Websurfen usw.) einzurichten und dann die Hosts-Datei auf dem Proxyserver zu hacken. Das bedeutet, dass Ihr Browser sagt: Proxy, kannst du mir bitte die Ressource http://www.mywebsite.com besorgen, und der Proxy sagt: Sicher, und weil mir gesagt wurde, dass ich DNS für diese Domain ignorieren soll, gebe ich einfach die IP an, die in meiner hosts-Datei hartkodiert wurde.

9
Advertisement
9
9
2011-03-20 01:27:58 +0000

Dies ist ein häufiges Problem bei der Art und Weise, wie einige Router den für ihre öffentliche Adresse bestimmten Datenverkehr von einer internen Adresse aus behandeln - sie folgen nicht denselben Portweiterleitungsregeln wie Anfragen von außerhalb des Netzwerks. Worauf Sie bei Ihren Routern achten müssen, ist NAT-Reflection. Dadurch kann der Router interne Anfragen für die öffentliche IP so behandeln, dass dieselben Portweiterleitungsregeln verwendet werden, als käme die Anfrage von außerhalb des Netzwerks.

2
2
2
2011-03-19 23:00:42 +0000

Ich könnte Ihnen besser helfen, wenn Sie mir die Marke und das Modell Ihres Modems nennen könnten…

Aber was hier passiert, ist, dass normalerweise eine Router- oder Modemkonfigurationsseite nur erscheinen sollte, wenn man die interne IP (192.168.0.1) besucht

Aber was hier zu passieren scheint, ist, dass es die eingehende Anfrage (201.206.x.x) als von innen kommend identifiziert und daher beschließt, Ihnen die Konfigurationsseite zu geben, anstatt die normale Route zu Ihrem Webserver…

Wenn Sie ein Consumer-Modem verwenden, können Sie dies wahrscheinlich nicht ändern (sorry)

Aber vielleicht können Sie es: Versuchen Sie zu sehen, ob es eine ‘Listen’-Einstellung in Ihrer Admin-Konfigurationsseite gibt

Dort können Sie versuchen, entweder Ihre Administrationsseite auf einen anderen Port umzustellen oder die Adressen einzuschränken, auf die sie hört

2
Advertisement
2
2
2011-03-19 23:08:12 +0000

Vielleicht liegt das Problem darin, dass die Fernverwaltung erlaubt ist.

2
2
2
2015-03-12 03:14:55 +0000

Sie können eine Route hinzufügen, um auf die öffentliche IP des Servers direkt über seine lokale IP zuzugreifen. Unter Windows lautet der Befehl:

route add [public IP] mask 255.255.255.255 [the server's local IP]

Um eine dauerhafte Route hinzuzufügen, fügen Sie den Parameter -p zum obigen Befehl hinzu.

Dann wird der Computer jedes Mal, wenn Sie die öffentliche IP besuchen, über die lokale IP des Servers als Gateway gehen. Da der Server seine eigene öffentliche IP kennt, wird er das Paket von sich aus verarbeiten, anstatt es an das lokale Netzwerk weiterzuleiten.

Sie müssen sicherstellen, dass die lokale IP des Servers statisch ist.

0
Advertisement
0
0
2015-12-05 05:31:19 +0000

Ich habe das gleiche Problem. Ich konnte das Problem beheben, indem ich den DNS-Hostnamen zur DNS-Hostzuordnungsliste meines Routers hinzugefügt habe. Ich fand diese Einstellungen in der Liste der erweiterten Optionen meines Routers aufgeführt.

0
0
0
2016-04-09 16:37:43 +0000

Auf meinem Router musste ich die “NAT-Beschleunigung” (Cut Through Forwarding) abschalten, da dies den NAT-Loopback brach…

Advertisement
Advertisement