Windows 2000: Problem mit NAT und Portforwarding

#0
15.07.2003, 17:40
...neu hier

Beiträge: 6
#1 Hallo,

ich habe ein kniffliges Problem mit einer Einstellungsmöglichkeit der Network Address Translation (oder ein DNS-Problem) und hoffe, daß mir hier jemand helfen kann.

Ausgangslage: Computer mit Windows 2000 AS, Routing und RAS ist aktiviert, IIS ist installiert. Da der Computer für das lokale Netz die Verbindung zum Internet herstellt, ist im Routing und RAS das NAT aktiviert, was auch problemlos funktioniert. Das Socketpooling des IIS habe ich abgestellt und den IIS an eine interne Adresse (10.0.0.1) sowie an einen nicht-standard-Port gebunden.

Ich möchte, daß die Website aus dem Internet erreichbar ist. Dazu habe ich im Routing and RAS das Portmapping aktiviert, dort sind 2 Schnittstellen sichtbar (das LAN und das Internet). In den Einstellungen der Internetschnittstelle habe ich das Portmapping so konfiguriert, daß Anfragen vom Internet auf die 10.0.0.1 und den Port des IIS weitergeleitet werden.

Das funktioniert problemlos, wenn ich von einem beliebigen Rechner zugreifen will. Es funktioniert nicht, wenn ich von demselben Rechner, auf dem der IIS läuft, zugreifen will.

Wer hat eine Idee, woran das liegen kann?

docprantl

P.S. Bei Bedarf poste ich Screenshots oder die Routingtabelle.
__________
visit http://www.rokop-security.de
Seitenanfang Seitenende
15.07.2003, 22:50
Member
Avatar Emba

Beiträge: 907
#2 moment...

du willst auf den rechner, auf dem der IIS läuft, den IIS ansprechen?

dann einfach mit localhost:port oder?
das routing fällt doch hier flach, da die anfrage ja direkt an den rechner selbst gerichtet wird und nicht erst ins internet geht und von da wieda auf den IIS gemappt wird

greez
Seitenanfang Seitenende
15.07.2003, 23:08
...neu hier

Themenstarter

Beiträge: 6
#3 Zunächst mal danke für die Antwort. Nein, ich gebe nicht http://localhost:port/ ein, sondern http://dnsname:port/ oder http://öffentliche-ip-adresse:port/ . Ich vermute selbst, daß hier in diesem Fall gar kein Routing stattfindet. Die Routingtabelle sieht auch entsprechend aus. Das Blöde dabei ist, daß ich nicht einfach über http://interne-ip:port/ zugreifen *kann*, da für den IIS Hostheader definiert sind. Gibt es eine Möglichkeit, das zu umgehen?

docprantl
__________
visit http://www.rokop-security.de
Dieser Beitrag wurde am 15.07.2003 um 23:09 Uhr von DrPrantl editiert.
Seitenanfang Seitenende
15.07.2003, 23:17
Member
Avatar Emba

Beiträge: 907
#4 aso

nunja, du erreichst ja vom IIS rechner jeden webserver im internet.
d.h. die routingtabelle stimmt!

ich vermute, dass das mapping (port forwarding) hier nicht stattfindet, da dein rechner nicht über das gateway, was die verbindungen mappt, rausgeht, dein router also nicht die anfrage an den IIS weiterleitet, der ja nur auf dem internen int lauscht

kann mich auch irren

eine lösung für das prob unter windows hab ich hier nich, da ich mich auf dem MS gebiet nicht so auskenn

evtl. hab ich dir einen denkanstoss gegeben

greez
Seitenanfang Seitenende
16.07.2003, 06:46
Ehrenmitglied
Avatar Robert

Beiträge: 2283
#5 ok, also der Webserver lauscht auf 10.0.0.1:port - das ist soweit ok

nun kommt von außen eine Anfrage, das NAT behandelt die Pakete wie konfiguriert und schon funtioniert es.

Wenn Du nun auf dem Server öffentliche-ip:port eingibst schaut der Rechner in seine Routingtabelle und stellt fest, daß er eine Hostroute zu der IP hat, da diese ja auf Deinem externen Interface gebunden ist, somit erreicht er sie direkt UND er hat wahrscheinlich als Absender die interne IP des Rechners und umgeht somit das NAT

Somit funktioniert auf Deinem Rechner alles so, wie es sein sollte.

R.
__________
powered by http://different-thinking.de - Netze, Protokolle, Sicherheit, ...
Seitenanfang Seitenende
16.07.2003, 07:23
Member
Avatar Emba

Beiträge: 907
#6 >>Absender die interne IP
geht nicht, denn lokale pakete, die den rechner verlassen und "ins internet sollen", werden direkt durch das $ext-int versendet und tragen somit die ip des $ext-int

oder versteh ich dich hier falsch robert?

>>daß Anfragen vom Internet
wie genau schaut denn das aus?
eine art

0.0.0.0/0 mit destination $ext-int und zielport xy leite weiter zu 10.0.0.1:xy ???

dann sollte das doch auch funzen, weil deine anfrage wie eine x-biliebige aus dem internet gehandelt wird

du kannst ja mal mit einem sniffer checken, wie die pakete denn überhaupt behandelt werden

greez
Seitenanfang Seitenende
16.07.2003, 11:51
...neu hier

Themenstarter

Beiträge: 6
#7

Zitat

Robert postete
Hostroute zu der IP hat, da diese ja auf Deinem externen Interface gebunden ist, somit erreicht er sie direkt UND er hat wahrscheinlich als Absender die interne IP des Rechners und umgeht somit das NAT

Hier der Teil der Routingtabelle, der relevant sein dürfte:

Active Routes:
Network Destination Netmask Gateway Interface Metric
...
80.136.46.xxx 255.255.255.255 127.0.0.1 127.0.0.1 1
...

Es sieht tatsächlich so aus, als ob die Pakete den Rechner nie verlassen, und demnach auch nicht geroutet werden.

Danke für den Denkanstoß.

docprantl
__________
visit http://www.rokop-security.de
Dieser Beitrag wurde am 16.07.2003 um 11:52 Uhr von DrPrantl editiert.
Seitenanfang Seitenende
16.07.2003, 14:05
Ehrenmitglied
Avatar Robert

Beiträge: 2283
#8 genau - so sollte es aussehen ;)

Man kann das antürlich verbiegen, aber ob das sinn macht?

R.
__________
powered by http://different-thinking.de - Netze, Protokolle, Sicherheit, ...
Seitenanfang Seitenende
16.07.2003, 18:52
...neu hier

Themenstarter

Beiträge: 6
#9 Wahrscheinlich nicht. ;) Ich werde vorerst den Hostheader im IIS weglassen.

docprantl
__________
visit http://www.rokop-security.de
Seitenanfang Seitenende
28.08.2003, 10:51
...neu hier

Beiträge: 1
#10 ... das Problem, denke ich auch kann natürlich nicht am Routing liegen, da ja "intern" auf den IIS zugegriffen werden soll.
Wenn Du auf deinem IIS einen Hostheader (bsp.: www.power.de) aktiviert hast, kannst Du Ihn auch nur so erreichen (egal welcher Port)
wenn also dein Lokaler DNS "ihreFirma.local" heist und du nun eingibts:

http://iis.ihrefirma.local:<port> passiert nix.

Gibst Du zusätzlich seine eigene IP als Hostheader ein, bzw. den Internen DNS, dann sollte er erreichbar sein.

Fazit: Er kann mit deiner angabe (aufgrund des Hostheaders) http://<ip-adresse>:<port> nichts anfangen

Grüsse aus Kassel
Seitenanfang Seitenende