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

Toegang tot intern IP via publiek IP

Advertisement

Ik heb een DSL-modem met een openbaar IP-adres (201.206.x.x), en ik heb een webserver in mijn interne netwerk (192.168.0.50).

Ik heb de modem ingesteld om verzoeken naar poort 80 door te sturen naar mijn webserver, dus als ik 201.206.x.x van buiten mijn netwerk benader, toont hij mijn webpagina, hetzelfde gebeurt als ik 192.168.0.50 benader vanaf een computer binnen mijn netwerk.

Nu, het probleem is dat als ik 201.206.x.x probeer te benaderen vanaf mijn interne netwerk, de browser probeert te verbinden met de DSL modem configuratie, in plaats van mijn verzoek om te leiden naar mijn webserver.

Welke instellingen moet ik in het modem veranderen om deze omleiding in te stellen?

Advertisement

Antwoorden (8)

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

Het probleem is dat het herschrijven van pakketten over het algemeen alleen kan plaatsvinden wanneer de firewall wordt gepasseerd. Over het algemeen kunnen routers het nodige herschrijven niet uitvoeren wanneer het verzoek aankomt van hetzelfde netwerk waarnaar het verzoek herschreven zou worden. De gebruikelijke oplossing voor dit probleem is het plaatsen van een web proxy buiten het netwerk die het verzoek terug door de firewall leidt.

Ik vermoed dat je specifieke probleem is dat je de website wilt benaderen via zijn DNS hostnaam. Je kunt dat oplossen door “split-horizon” DNS te gebruiken, zodat het let op waar het verzoek vandaan komt en op de juiste manier antwoordt: Als het verzoek van binnen je netwerk komt, geeft het 192.168.0.50 aan verzoeken die van jouw netwerk komen en het publieke IP aan alle anderen.

Elk van deze suggesties zou op elke host buiten je netwerk geïmplementeerd kunnen worden, zoals een (gratis) Amazon EC2 micro instance.

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

Ik zou zeggen dat @Insyte iets op het spoor is als hij/zij zegt dat het probleem een DNS resolutie probleem is … wat dan betekent dat het probleem packet rewriting is (lees @Insyte post opnieuw voor die uitleg).

Ervan uitgaande dat je de volgende setup hebt:

  1. Openbaar IP: 201.206.x.y
  2. Privé IP: 192.168.0.50
  3. Port forwarding voor alle 80 (en 443 als je SSL doet) op IP 201.206.x.y192.168.0.50

Je typt dan het volgende in je browser, terwijl je in je interne netwerk zit:

http://www.yourwebsite.com

en de fout treedt op. Dus, oplossing: hack je hosts file.

Op Windows, ga naar C:\windows\system32\drivers\etc\hosts (merk op, er staat geen extensie op dat bestand). Op Linux, bevindt het bestand zich in /etc/hosts.

Als je dat bestand opent in Notepad, kun je zien welke regels gebruikt zijn om DNS te overschrijven. Als je dat bestand wilt updaten, dan moet je Kladblok (of welk programma je ook gebruikt om het bestand te bewerken) openen met Administrator rechten - anders kun je het bestand niet opslaan.

Voeg dit toe aan je hosts file:

192.168.0.50 www.yourwebsite.com

Start dan je browser opnieuw op, voer de URL in en violà! Het werkt. Dus dit betekent dat je browser niet vertrouwt op je DNS om je domein om te zetten naar een IP. In plaats daarvan, overschrijven we dit en zeggen: Browser, ga gewoon naar mijn interne IP voor die domeinnaam, in plaats van DNS om het IP adres te vragen.

Als je in een kantoor zit, dan kun je alle mensen die toegang moeten hebben tot deze interne website, hun hosts file laten hacken, of als je een interne DNS hebt, dan kun je daar een entry aan toevoegen.

Een ander idee is om een interne proxy server te hebben (voor al het surfen op het web, etc) en dan het hosts bestand op de proxy server te hacken. Dit betekent dat je browser zegt, Proxy, can you please get me the resource http://www.mywebsite.com en de proxy zegt Zeker, en omdat mij verteld is DNS te negeren voor dat domein, geef ik gewoon het IP dat hard gecodeerd is in mijn hosts file.

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

Dit is een veel voorkomend probleem met de manier waarop sommige routers verkeer afhandelen dat bedoeld is voor hun publieke adres vanaf een intern adres - ze volgen niet dezelfde regels voor poort forwarding als verzoeken van buiten het netwerk. Waar je naar moet zoeken in je routers is NAT reflection. Hierdoor kan de router interne verzoeken voor het publieke IP afhandelen om dezelfde port forwarding regels te gebruiken als wanneer het verzoek van buiten het netwerk komt.

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

Ik zou je beter kunnen helpen als je me je modem merk en model zou geven…

Maar wat hier gebeurt is dat normaal gesproken een router of modem configuratie pagina alleen zou moeten verschijnen als je hun interne IP (192.168.0.1) bezoekt

Maar wat hier lijkt te gebeuren is dat het de inkomende aanvraag (201.206.x.x) identificeert als komende van binnenuit, dus besluit om je de configuratie pagina te geven in plaats van de normale route naar je web server…

Als je een modem van consumenten niveau gebruikt, kun je dit waarschijnlijk niet veranderen (sorry)

Maar misschien kun je dat wel: Probeer te kijken of er ‘listen’ instellingen zijn in je admin config pagina

Daar kun je proberen om ofwel je administration pagina naar een andere poort te veranderen, ofwel het aantal adressen waarnaar hij luistert te beperken

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

Misschien is het probleem dat beheer op afstand is toegestaan.

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

Je kunt een route toevoegen om direct toegang te krijgen tot het publieke IP van de server via zijn lokale IP. Op Windows is het commando als

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

Om een persistente route toe te voegen, voeg je -p parameter toe aan bovenstaand commando.

Dan zal elke keer wanneer je het publieke IP bezoekt, de computer via het lokale IP van de server gaan als gateway. Omdat de server zijn eigen publieke IP kent, zal hij het pakket vanaf zichzelf verwerken, in plaats van het door te sturen naar het lokale netwerk.

Je moet ervoor zorgen dat het lokale IP van de server statisch is.

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

Ik heb hetzelfde probleem. Ik was in staat om dit op te lossen door de DNS hostnaam toe te voegen aan de DNS Host Mapping lijst van mijn router. Ik vond deze instellingen in de lijst met geavanceerde opties van mijn router.

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

Op mijn router moest ik “NAT acceleration” (Cut Through Forwarding) uitschakelen omdat dit NAT loopback verbrak…

Advertisement