Toon posts:

mail&webserver achter NAT, met clients in intern

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik wil mn config veranderen ivm met voip. De huidige situatie is:

Internet > adslmodem/router (als bridge) > server (router, dhcp, web, mail, e.d.) > switch > clients.

Nieuw zou zo moeten:

Internet > adslmodem/router (als router/server) > switch > web&mailsever en clients.

Maar volgens mij zou ik daartoe poorten 25 voor mail en 80 voor web moeten forwarden naar de server. Consequentie is dan m.i. dat mail sturen naar externe mailservers onmogelijk wordt en, erger, web op de clients niet meer werkt.

Zie ik dat goed zo en hoe zou ik dat anders kunnen oplossen (2e modem achter server in huidige config zou kunnen, geschakeld als client met voip poorten open op server)

Dank alvast!

  • GraveR
  • Registratie: Januari 2000
  • Laatst online: 22-08-2025
Blijft gewoon werken, je haalt 2 dingen door elkaar nu.

Dat forwarden betekent dat alleen inkomende verbindingen naar de poorten 25 en 80 worden omgeleid. De clients zullen hiervan geen hinder ondervinden bij hun uitgaande verbindingen naar anderen.

  • Kokkers
  • Registratie: Oktober 2000
  • Laatst online: 16-03 21:20
GraveR heeft gelijk. Port forwards hebben logischerwijs alleen effect op inkomende verbindingen op je externe adres..

Wel kun je tegen het probleem aanlopen dat je router/server niet aan NAT loopback doet.
Dit betekent dat je externe adres voor je NAT clients niet meer bereikbaar is.

Meer hierover op onderstaand adres:
http://www.adslforum.nl/topic.asp?TOPIC_ID=12286

Verwijderd

Topicstarter
Dat wil ik best geloven, maar voordat ik alles om ga bouwen:

Als ik 25 en 80 forward dan kan de volgende situatie onstaan, m.i.:

Inkomende request voor webserver aan de 'buitenkant' (dus extern op modem/router):
extern ip adres/portnummer

Maar als een client een webpagina vraagt en er komt een reply van een webserver, ziet dat er zo uit:
extern ip adres/portnummer.

Hoe weet die router voor welke computer dat bestemd is? Houdt dat ding een tabel bij voor gemaakte connecties zodat alleen nieuwe connecties worden geroute naar de server (bij NAT) ?

  • ChaserBoZ_
  • Registratie: September 2005
  • Laatst online: 04-01 10:58
Met 99% van de modems/routers kun je niet vanaf je clients via het publieke IP adres geforward worden naar je server.

Wat je daar tegen kunt doen; in je hosts file www.jouwdomein.nl koppelen aan het INterne IP adres van je webserver.

'Maar het heeft altijd zo gewerkt . . . . . . '


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op maandag 03 september 2007 @ 11:28:
Dat wil ik best geloven, maar voordat ik alles om ga bouwen:

Als ik 25 en 80 forward dan kan de volgende situatie onstaan, m.i.:

Inkomende request voor webserver aan de 'buitenkant' (dus extern op modem/router):
extern ip adres/portnummer

Maar als een client een webpagina vraagt en er komt een reply van een webserver, ziet dat er zo uit:
extern ip adres/portnummer.

Hoe weet die router voor welke computer dat bestemd is? Houdt dat ding een tabel bij voor gemaakte connecties zodat alleen nieuwe connecties worden geroute naar de server (bij NAT) ?
De reply van de externe webserver zal als originating-poort 80 hebben. De destination-poort is dan weer de originating-poort van de interne client. (Stiekum een andere, waarbij je NAT-device het originele poortnummertje vervangen heeft door een nieuwe en het steeds netjes bijhoudt en weer terugzet enzo.)

Stel je de volgende situatie voor: Client met IP 192.168.1.2 maakt een verbinding met webserver 123.45.67.89 op poort 80. Je client stuurt het door naar je webrouter op 192.168.1.1 en met extern IP 213.89.67.45.

Het OS van de client zal uit een hoge range poorten een willekeurige vrije poort kiezen, bijvoorbeeld 4023. Vervolgens verzent ie een TCP SYN-pakketje naar 123.45.67.89 met als destination-TCP-poort 80 en als originating poort 4023 en die komt aan bij je router.
Op dat moment zal je router die 4023 in z'n NAT-table zetten, een poortnummertje verzinnen die in zijn ogen nog vrij is, bijvoorbeeld 23004. Hij vervangt het originating IP-adres in de IP-header van 192.168.1.2 naar 213.89.67.45 en in de TCP-header de originating poort naar 23004.
De webserver ziet dus een TCP/IP-pakketje van 213.89.67.45 van poort 23004 naar zichzelf op poort 80 komen.
Hij zal een SYN/ACK-TCP-pakketje terugsturen naar 213.89.67.45 met als destination-poort 23004. En dus géén 80.
Vervolgens kijkt je router in z'n NAT-table en ziet, oh, dat pakketje moet naar 192.168.1.2 op poort 4023. Hij zet alle IP's en poorten weer anders en voila, je client ziet het SYN/ACK-pakketje en zal weer een ACK terugsturen :+ En dan gaat 't weer vanaf 't begin.
ChaserBoZ_ schreef op maandag 03 september 2007 @ 14:15:
Met 99% van de modems/routers kun je niet vanaf je clients via het publieke IP adres geforward worden naar je server.

Wat je daar tegen kunt doen; in je hosts file www.jouwdomein.nl koppelen aan het INterne IP adres van je webserver.
Tegenwoordig doen veel routers wel aan nat loopback hoor. Volgens mij zelfs m'n huidige geleende SpeedTouch 546. Nu heb ik geen hoge pet op van SpeedTouches, maar nat loopback doet ie suf genoeg wel :P Overigens heeft het ook niets te maken met het "probleem" (meer: ongegronde angst vanwege te weinig kennis van zaken).

[ Voor 52% gewijzigd door Osiris op 03-09-2007 14:27 ]


Verwijderd

Topicstarter
Ik had al geantwoord en je was nog bezig denk ik.

Uh, ok.. dus dat ding houdt een tabel bij. Dat vermoedde ik ook, maar ja... zekerheid is wel fijn voordat je alles gaat ombouwen.

Dus ik kan gewoon port 80 forwarden naar de webserver en 25 naar de mailserver.... en dan zou web voor clients nog moeten werken en mail verzenden vanaf clients naar externe mailservers ook?

Overigens: Doen clients dat altijd, het als originating port een hoge vrije port kiezen? Dus ook voor mail, ftp, enz? Dan zitten alleen servers vast aan die poort dus?

En ik vraag me nu ook af, als je een groot netwerk hebt, veel traffic... gaat dat dan wel es mis? Als 2 computers op t zelfde moment gaan broadcasten met t zelfde hoge poortnummer en dest. ip?

[ Voor 116% gewijzigd door Verwijderd op 03-09-2007 14:51 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op maandag 03 september 2007 @ 14:34:
Uh, ok.. dus dat ding houdt een tabel bij. Dat vermoedde ik ook, maar ja... zekerheid is wel fijn voordat je alles gaat ombouwen.

Dus ik kan gewoon port 80 forwarden naar de webserver en 25 naar de mailserver.... en dan zou web voor clients nog moeten werken en mail verzenden vanaf clients naar externe mailservers ook?
Jep.
someonelse schreef:
Overigens: Doen clients dat altijd, het als originating port een hoge vrije port kiezen? Dus ook voor mail, ftp, enz? Dan zitten alleen servers vast aan die poort dus?
Hoe bedoel je 'alleen servers vast'? Servers zitten helemaal niet per see vast aan een poort, je kunt prima op poort 60000 een webserver draaien. 't Is alleen geen 'standaard'-poort, dus de webclient moet wel expliciet dat poortnummer opgeven dmv http://website:60000. Wat wél zo is onder bijv. Linux (en ongetwijfeld alle *nixen) dat een non-superuser-user (een normale gebruiker, zoals ik op dit moment) géén poorten mag gebruiken onder de 1024. En als ik met `netstat` (dat zit ook gewoon in Windows: Start - Uitvoeren/Run - 'cmd' - 'netstat -n') kijk welke poorten ik voor een simpele website gebruik, dan zie ik enkele poorten tussen de 36430 en 36450 voorbij komen.
someonelse schreef:
En ik vraag me nu ook af, als je een groot netwerk hebt, veel traffic... gaat dat dan wel es mis? Als 2 computers op t zelfde moment gaan broadcasten met t zelfde hoge poortnummer en dest. ip?
Nee, want dan weet je router altijd nog onderscheid te maken met de IP's. Hij ziet heus wel dat IP 192.168.1.2 met originating poort 12345 naar de server anders is dan IP 192.168.1.3 met originating poort 12345. Wat je router dan wél doet, is dus een ánder 'virtuele' poort verzinnen (zie m'n verhaaltje eerder), want stel dat hij dat níet zou doen, dan zou de webserver van hetzelfde (externe) IP twee TCP-streams te zien krijgen met dezelfde originating poort. Daarom verandert je router dat zelf nog eventjes.

Verwijderd

Topicstarter
ah.
Nu snap ik het. Toch mooi als iemand dat es goed uitlegt.

Nee ik weet dat ik mn server(s) kan laten luisteren op een andere poort, maar ja, ok.. standaardpoorten op de server, clients kiezen hogere poorten, routers vertalen poortnummers, tabel... komt allemaal goed.
Ik snap t!
Thanx!
Pagina: 1