Springen naar inhoud

Nat en webserves.


  • Log in om te kunnen reageren

#1

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 12:23

Is het waar dat een server die web en eventueel andere dienstverleningen levert moet kijken op al zijn poorten om ook mensen die achter een NAT zitten toegang te bieden? Dus niet enkel op poort 80. Groeten.

Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 05 januari 2009 - 13:05

Nee, voor een normale web (http) server hoef je alleen op port 80 te luisteren. Eventueel ook 443 als je ook http over ssl (https) wil.

Als men een http request naar jou stuurt komt dat bij jou binnen op port 80. En zij gebruiken aan hun kant sowieso een andere (random) port, ongeacht of mensen achter een NAT server zitten of niet.
In theory, there's no difference between theory and practice. In practice, there is.

#3

gouwepeer

    gouwepeer


  • >250 berichten
  • 299 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 13:38

Ik meen dat mailservers gebruik maken van poort 25 en 110.
Wil je een server opstellen en zo ja, welke diensten wil je aanbieden?
login: yes
password: I don't know, please tell me
password is incorrect
login: yes
password: incorrect

#4

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 13:40

Dan begrijp ik de werking van een nat verkeerd.
Stel je hebt 4pc noem ze A,B,C en D laat we zeggen dat dit ook hun ip adressen zijn.
Stel nu dat je een bericht wil versturen naar een server vanuit pc A, dan vertrekt daar een ip packet met zijn adress A en de bestemmeling met poort 80.
De nat server gaat nu ip adres A veranderen in zijn eigen adres en in zijn geheugen opslaan het adres van de bestemmeling noem dit Z en port nummer 80.
Op het moment dat er een reactie komt van de server dus van ip Z zal de nat kijken naar het poort nummer dit is 80 en alles terug veranderen en doorsturen naar A.
Stel nu dat een tweede bericht ook naar Z verstuurd word dan gaat de nat opnieuw (en dit op moment het eerste antwoord nog niet ontvangen is) Z onthouden en het poort nummer gelijk maken aan 81 zodat op het moment dat hij een antwoord krijgt van Z hij weet dat, dat antwoord bestemd is voor B.

Maar, en dat is nu het probleem het tweede bericht werd op poort 81 verstuurd en dus zal de server toch ook naar die poort moeten luisteren? Of niet? Waar zit ik fout? Groeten.

Edit nee gewoon begrijpen hoe een nat werkt.

Veranderd door Bert F, 05 januari 2009 - 13:40


#5

gouwepeer

    gouwepeer


  • >250 berichten
  • 299 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 13:48

NAT is Network Address Translation. Als jij een pakketje naar buiten stuurt dan veranderd de router het herkomst adres van het adres uit het interne netwerk naar jouw externe internet adres. Anders weten de ontvangers niet waar het pakketje naar toe terug moet.
Zodra er een antwoord weer wordt terug gestuurd wordt het bestemmings adres weer veranderd naar het adres van de interne netwerk PC.
Als computers met elkaar willen praten, hebben ze een "telefoonnummer" nodig. Dat is dus het IP-adres. Bij een internetaansluiting krijg je er meestal één. Als je nu thuis meerdere computers hebt, dan kan je die natuurlijk niet hetzelfde telefoonnummer geven, want dan weet de tegenpartij niet aan welke interne computer het antwoord terug moet.

Nu is dat niet helemaal waar. Want op één computer kan je meerdere dingen tegelijk doen. Browsen, e-mail ophalen etc. Om die antwoorden uit elkaar te houden, gebruikt een computer poorten. De eerste verbinding naar buiten krijgt dan poort 1024, de tweede 1025 etc. Zodra de limiet gebruikt is, begint de computer weer op 1024, want die is tegen die tijd hoogst waarschijnlijk al lang weer vrij. Uiteraard wordt diet wel even gecontroleerd.
login: yes
password: I don't know, please tell me
password is incorrect
login: yes
password: incorrect

#6

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 05 januari 2009 - 14:03

Stel nu dat een tweede bericht ook naar Z verstuurd word dan gaat de nat opnieuw (en dit op moment het eerste antwoord nog niet ontvangen is) Z onthouden en het poort nummer gelijk maken aan 81 zodat op het moment dat hij een antwoord krijgt van Z hij weet dat, dat antwoord bestemd is voor B.

Maar, en dat is nu het probleem het tweede bericht werd op poort 81 verstuurd en dus zal de server toch ook naar die poort moeten luisteren?

Let op: als computer X iets stuurt naar server Z:80 (met "Z:80" bedoel ik naar port 80 op server Z), gebruikt X daar aan zijn eigen kant een heel ander port nr voor, bijvoorbeeld 1057. Je kunt dus zeggen dat er bijvoorbeeld data van X:1057 naar Z:80 gaat. Het antwoord van Z naar X gaat dan ook weer naar X:1057.

Stel, nu zitten A en B achter een NAT server. Als A en B allebei iets sturen naar Z:80, gaat de NAT server die requests vanaf verschillende ports sturen, en onthoudt welke lokale port bij welke achterliggende computer hoort. Bijvoorbeeld 1065 voor A en 1071 voor B. Merk op dat de NAT server deze porten zelf "verzint", en niet die van A en B overneemt, want die zouden mogelijk hetzelfde kunnen zijn (ik heb het alleen over lokale port nr's, de destination port (80) blijft natuurlijk onveranderd, dat is immers de enige port waar Z naar luistert).

Als er nou antwoord komt van Z voor port 1065 stuurt de NAT server dat door naar A, en alles voor 1071 stuurt hij door naar B.
In theory, there's no difference between theory and practice. In practice, there is.

#7

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 16:00

Zijn er dan twee verschillende port velden?
Je zegt dat hij het doorstuurt op poort 80 kan hij een tweede ontvangst poort meegeven?

#8

Cycloon

    Cycloon


  • >1k berichten
  • 4810 berichten
  • VIP

Geplaatst op 05 januari 2009 - 17:21

Enkel de poort die wordt aangesproken op de webserver wordt meegegeven, de webserver zelf krijgt nooit te zien vanaf welke poort een gebruiker een bericht heeft verzonden. Dit blijft allemaal beperkt binnen het netwerk waarmee de NAT is verbonden. De buitenwereld zal enkel de NAT zien en niet meer dan dat.

#9

Rogier

    Rogier


  • >5k berichten
  • 5679 berichten
  • VIP

Geplaatst op 05 januari 2009 - 17:24

Zijn er dan twee verschillende port velden?
Je zegt dat hij het doorstuurt op poort 80 kan hij een tweede ontvangst poort meegeven?

Ja, in zowel TCP als UDP packets zit een source IP adres + port en een destination IP adres + port.

(edit) Of eh, wat bedoel je met "tweede ontvangst poort"? Er zitten twee poortnummers in: één voor waar de data heen moet (destination) en één voor waar het antwoord heen moet (source).

Veranderd door Rogier, 05 januari 2009 - 17:25

In theory, there's no difference between theory and practice. In practice, there is.

#10

Bert F

    Bert F


  • >1k berichten
  • 2588 berichten
  • Ervaren gebruiker

Geplaatst op 05 januari 2009 - 18:14

(edit) Of eh, wat bedoel je met "tweede ontvangst poort"? Er zitten twee poortnummers in: één voor waar de data heen moet (destination) en één voor waar het antwoord heen moet (source).


Ja dat bedoel ik in totaal zitten er twee in ééntje op en ééntje terug, ik dacht eerst dat er maar één instak. Groeten.





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures