Was genau bewirkt "NAT Mapping"

Qwerty

Neuer User
Mitglied seit
11 Feb 2005
Beiträge
41
Punkte für Reaktionen
0
Punkte
6
Mich würde interessieren, was die Einstellung "NAT Mapping" genau bewirkt.

Hintergrund: ich habe Sipura 1001 als VoIP-Adapter mit dus.net und GMX als Provider. Abgehend konnte ich sofort auf beiden Lines telefonieren. Einfach die Zugangsdaten und den STUN-Server eingetragen und es hat problemlos funktioniert. Auch im Router musste ich KEINE Ports weiterleiten. NAT Mapping blieb auf beiden Lines auf "no".

Eingehende Anrufe auf die dus.net Nummer funktionieren auch einwandfrei. Eingehende Anrufe auf die GMX-Nummer (von GMX, 1und1 oder als sip-call) kamen am Anfang aber nicht durch. Erst nachdem ich bei der GMX-Line NAT Mapping auf yes gesetzt habe, funktioniert es.

Aus dem Sipura User Guide bin ich leider nicht schlau geworden, was NAT Mapping genau bewirkt. Kann mir das jemand bitte erklären? Warum funktioniert bei dus.net alles ohne NAT Mapping und bei GMX nicht? Und wenn wir schon beim Thema sind, welche Auswirkungen hat die Einstellung bei "NAT Keep alive enable". Soll ich dort yes oder no eintragen.

Und zum Schluss noch: warum müssen viele von euch bestimmte Ports im Router weiterleiten, während es bei mir auch ohne geht? Ich vermute, dass es irgendwie eben mit NAT Mapping zusammenhängt, nur wie genau?
 
Also ich nutze dus.net und sipgate. Bei beiden sind die nat maping und nat keepalive optionen auf yes gesetzt.
Ich glaube Nat keepalive bewirkt das die ports die durch den nat gehen auch beibehalten werden.
Was nat mapping exact macht weiss ich auch nicht.

Eine portweiterleitung macht man in der regel um sicher zu sein das bestimmte externe ports auch ohne vorherige interne aktivierung von aussen nach innen durchgeschleift werden können.
Wenn irgendein internes gerät hinter dem NAT eine anfrage nach aussen schickt dann merkt sich das NAT diese anfrage und antworten auf dem gleichen port werden wieder an die ursprüngliche interne IP adresse weitergegeben. Wird aber ohne erstanfrage von innen direkt von aussen ein paket an einen port geschickt weiss das NAT nicht wohin damit und leitet es entweder an eine standart IP (meist DMZ) weiter oder ignoriert diese anfrage gänzlich.

Ohne portweiterleitung funktioniert trozdem so einiges. z.B. die dienste die nur aufeinem port laufen. wie z.B. http, pop3, smtp. oder hast du schonmal von jemanden gehört der seinen router einstellen musste um e-mails abrufen zu können ? Bei all diesen protokollen wird vom internen netz angefangen, daher weiss der NAT(router) auch wohin die antworten gehen müssen. Komplizierte anwendungen die mehr datentransfer haben benutzen meist mehrere ports, weshalb auch immer. Allerding erwarten die meisten programme zuerst eine anfrage von ausserhalb, wenn dann aber von aussen eine anfrage kommt und der router nicht weiss das an interner IP sowieso ein program scharf auf die daten ist leitet der router die daten entweder falsch weiter oder eben gar nicht. um dies zu verhindern gibt's portweiterleitungen.

Das problem ist praktisch das du vom anbieter nur eine IP adresse bekommst und jedes gerät in deinem netzwerk eine eigene braucht. Diese werden dann von einem pool vergeben die nur in internen netzen benutzt werden dürfen ( 10.x.x.x oder 192.168.x.x usw.) Diese IP adressen werden bestimmungsgemäs nicht im internet genutzt. Daher darf der nat diese auch nicht nach aussen schicken.

Das ist in etwa das was ich von und über NAT weiss. Könnte nicht ganz korrekt sein.

Ich übrigens habe keine stun einstellung im SPA da ich nicht wusste ob ich die stun einstellungen von dem einen oder anderen provider nehmen sollte. ( Beim spa gibt's ja leider nur ein feld wo ein stun server rein kann unter sip) Da habe ich einfach mal stun weggelassen und es scheint dennoch zu klappen.

Es gibt auch negative aspekte von portweiterleitung. So sind bestimmte ports (wenn die eben im router manuell eingestellt sind) nicht mehr brauchbar für andere rechner oder geräte. So musst du wenn dein rechner z.B. vom DHCP server zufällig eine neue IP bekommt alle weiterleitungen anpassen. Hier schafft das porttriggering abhilfe. Da wird dann ein oder mehrere ports angegeben, wenn dieser port an eine interne ip gebunden wird weil von dort aus eine anfrage kam, werden gleichzeitig auch andere ports an die selbe interne ip gebunden ohne das von hier aus auch eine anfrage gemacht werden müsste.

Das setzt aber voraus das der benutzer für jedes programm was er grad auf einen rechner installiert auch ein port triggering einstellt. Zudem bit's probleme wenn ein und das selbe programm auf 2 unterscheidlichen rechnern läuft, jedes mal wenn das eine program was wegschickt werden die ports auf den rechner getriggert. Das führt dazu das ein programm meist nicht 2mal im selben internen netz benutzt werden kann. Für beide nachteile gabs irgendwannmal die sporadische implemtierung von universal Plug an play, UPnP. allerdings soll dies wohl von den seltensten routern erfolgreich umgesetzt worden sein. Ausserdem muss das programm was du benutzen willst dies auch können.

Jetzt wo ich's mir so überlege könnte es sein das NAT mapping bewirkt das die ports weitergeleitet werden (also auf jedem port eine erste interne anfrage nach aussen stattfindet damit der NAT jeden port einzeln an die interne IP des adapters schickt. Ist aber nur eine vermutung. Daher kann es sein das bei dir Line 1 Alle ports klaut und Line 2 keine mehr abbekommt.

PS: "Programm" ist als client zu sehen und kann auch ein gerät sein.
---
Sorry: hab' nach und nach was dazugeschrieben, hoffentlich ist's nicht komplett durcheinander geworden.
 
chip273 schrieb:
Also ich nutze dus.net und sipgate. Bei beiden sind die nat maping und nat keepalive optionen auf yes gesetzt.
Ich glaube Nat keepalive bewirkt das die ports die durch den nat gehen auch beibehalten werden.
Was nat mapping exact macht weiss ich auch nicht.
Du meinst also, dass der Router dann nur die Source-IP ändert, nicht aber den Port, wenn Sipura irgendwas nach außen schickt? Welchen Sinn soll das haben? Bei dem Paket, das die Antwort beinhaltet muss ja sowieso die Destination-IP vom Router geändert werden, damit es auch ankommt. Es wäre also kein Problem gleichzeitig den Destination-Port zu ändern.

chip273 schrieb:
Eine portweiterleitung macht man in der regel um sicher zu sein das bestimmte externe ports auch ohne vorherige interne aktivierung von aussen nach innen durchgeschleift werden können.
Wenn irgendein internes gerät hinter dem NAT eine anfrage nach aussen schickt dann merkt sich das NAT diese anfrage und antworten auf dem gleichen port werden wieder an die ursprüngliche interne IP adresse weitergegeben. Wird aber ohne erstanfrage von innen direkt von aussen ein paket an einen port geschickt weiss das NAT nicht wohin damit und leitet es entweder an eine standart IP (meist DMZ) weiter oder ignoriert diese anfrage gänzlich.

Ohne portweiterleitung funktioniert so einiges. z.B. die dienste die nur aufeinem port laufen. wie z.B. http, pop3, smtp. oder hast du schonmal von jemanden gehört der seinen router einstellen musste um e-mails abrufen zu können ? Bei all diesen protokollen wird vom internen netz angefangen, daher weiss der NAT(router) auch wohin die antworten gehen müssen.

Das problem ist praktisch das du vom anbieter nur eine IP adresse bekommst und jedes gerät in deinem netzwerk eine eigene braucht. Diese werden dann von einem pool vergeben die nur in internen netzen benutzt werden dürfen ( 10.x.x.x oder 192.168.x.x usw.) Diese IP adressen werden bestimmungsgemäs nicht im internet genutzt. Daher darf der nat diese auch nicht nach aussen schicken.

Das ist in etwa das was ich von und über NAT weiss. Könnte nicht ganz korrekt sein.
Danke für die Erklärung, aber wie NAT an sich funktioniert und was eine Portweiteleitung ist, war mir auch vorher klar. Was mir immer noch nicht klar ist: was bewirkt denn genau die NAT Mapping Einstellung in Sipura und warum kann ich angerufen werden auch ohne die entsprechenden Ports weiterzuleiten?

chip273 schrieb:
Ich übrigens habe keine stun einstellung im SPA da ich nicht wusste ob ich die stun einstellungen von dem einen oder anderen provider nehmen sollte. ( Beim spa gibt's ja leider nur ein feld wo ein stun server rein kann unter sip) Da habe ich einfach mal stun weggelassen und es scheint dennoch zu klappen.
Das kann ich dir erklären. Der STUN-Server dient nur dazu um die richtige (extrerne) IP rauszufinden. Deswegen ist es egal welchen STUN-Server man einträgt. Du kannst sogar einen STUN-Server von einem Anbieter eintragen, bei dem du gar nicht registriert ist.
 
Naja als ich mal sipgate drinne hatte als STUN und versucht habe über dus.net zu connecten konnte ich nicht telefonieren genau deshalb habe ich es weggelassen und es klappte beides. Woher jetzt der SPA die externe bekommt weiss ich nicht.

Ich denke das keepalive schickt ab und an mal durch die ports daten an den server damit der router nicht vergisst das die ports an den SPA weitergeleitet sind (damit kein timeout passiert). Zudem verhindert dies das der "t-com 30 minuten inaktiv rauswurf" passiert.

PS: Es wäre sinnlos wenn der router nach lust und laune ports verändert da ja der server wie auch der client die daten an bestimmten ports erwartet. Wenn der server nicht erwartet das Sip daten mal von port 45128 kommen dann wird der auch kaum woanders als auf port 5060 nachsehen.
 
chip273 schrieb:
Ich denke das keepalive schickt ab und an mal durch die ports daten an den server damit der router nicht vergisst das die ports an den SPA weitergeleitet sind (damit kein timeout passiert). Zudem verhindert dies das der "t-com 30 minuten inaktiv rauswurf" passiert.
Das klingt logisch. Allerdings funktioniert bei mir die GMX-Line in beide Richtungen auch wenn NAT Keep Alive deaktiviert und nur NAT Mapping aktiviert ist. Die dus.net-Line kommt ganz ohne NAT Mapping aus. Warum?

chip273 schrieb:
PS: Es wäre sinnlos wenn der router nach lust und laune ports verändert da ja der server wie auch der client die daten an bestimmten ports erwartet. Wenn der server nicht erwartet das Sip daten mal von port 45128 kommen dann wird der auch kaum woanders als auf port 5060 nachsehen.
Dann habe ich deinen ersten Beitrag falsch verstanden. Ich meinte, dass der Router bei dem Paket, das nach außen geschickt wird, die Absender-IP-Adresse und den Absender-Port verändert. Die IP und der Port vom Empfänger dürfen natürlich nicht geändert werden.

So richtig klar ist mir die Sache mit dem NAT Mapping, STUN-Server, Port-Weiterleitungen usw. aber immer noch nicht. Weiß da jemand mehr?
 
Würde mir auch wünschen wenn mal jemand der richtig ahnung hat mal erklären würde wie das hier klappt.
Was port veränderungen betrifft, ich denke der einfachheit halber wäre es sinnvoller wenn ein router nichts an den daten ändert. Ich stelle mir vor das änderungen an den ports zu viele konflikte hervorbringen würde. Stell dir mal vor dein rechner will eine webseite haben, dein router ändert den absender port als 21 ( weshalb auch immer ) und dann versuchst du eine datei von einem ftp server runterzuladen, und der router ändert den port auf 80. Ich denke da würde so einiges durcheinander kommen.
 
Man möge mich korrigieren, wenn ich Mist erzähle.

NAT Keep alive: Schickt einfach in einem bestimmten Zeitraum eine Meldung (NAT Keep Alive Msg) automatisch an eine externe Adresse (NAT Keep Alive Dest) damit der Router/das Modem Online bleibt und nicht automatisch die Leitung auflegt.

NAT MAPPING: Der Sipura meldet sich beim Provider mit einer IP an. Wenn NAT MAPPING = NO ist, dann nimmt er die IP des Sipura, wenn YES nimmt er seine externe IP, die er über einen STUN herausbekommt.
 
Bei mir ist nat Mapping auf YES, ich nutze kein STUN und die IP des SPA ist 192.168.0.100 . Wie funktioniert dann mein system ?
 
heinb schrieb:
NAT Keep alive: Schickt einfach in einem bestimmten Zeitraum eine Meldung (NAT Keep Alive Msg) automatisch an eine externe Adresse (NAT Keep Alive Dest) damit der Router/das Modem Online bleibt und nicht automatisch die Leitung auflegt.
Ich brauche also diese Option nicht zu aktivieren, wenn mein Internet-Prodiver (Arcor) die Verbindung NICHT nach einer bestimmten Inaktivitätszeit trennt und der Router so eingestellt ist, dass er die Verbindung nach einem Disconnect (24h Disconnect) sofort wieder aufbaut. Stimmt's?
Bei mir ist unter NAT Keep Alive Dest $PROXY eingestellt. An welche Adresse würde die Meldung dann geschickt, wenn NAT Keep Alive aktiviert wäre?

heinb schrieb:
NAT MAPPING: Der Sipura meldet sich beim Provider mit einer IP an. Wenn NAT MAPPING = NO ist, dann nimmt er die IP des Sipura, wenn YES nimmt er seine externe IP, die er über einen STUN herausbekommt.
Das verstehe ich nicht ganz. Beim Provider muss ja auf jeden Fall die richtige (externe) IP angemeldet sein. Mit der internen Sipura-IP kann der Provider nichts anfangen. Diese erfährt er auch nie, da die Absender-IP ja vom Router auf die richtige externe IP gesetzt wird. Es sei denn der Sipura schickt seine interne IP als Payload im Paket mit, was für mich aber keinen Sinn ergibt.
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.