41201
netweters
|
17768
gesprekken
|
19196
vragen
|
dit is GEEN vraag, maar een oplossing voor een regelmatig voorkomend probleem
KLAAR!
Als ik het juist begrepen had trad het probleem vooral op als je twee servers gebruikt met dezelfde applicate, bijvoorbeeld http / port-80
Wat sommige gebruikers willen, en eigenlijk ook perfect mogelijk zou moeten zijn is de volgende setup:
extern-ip:80 - > intern-ip-server1:80
extern-ip:8080 -> intern-ip-server2:80
Bij het tweede voorbeeld is sprake van Port Address Translation (PAT).
In dat geval krijg je echter die foutboodschap. In geval van dit eenvoudige voorbeeld zou je misschien server2 kunnen herconfigureren om naar port 8080 te luisteren, maar het is niet mogelijk bij elke applicatie om zelf de listening-port te veranderen.
@iojo @Arnie De restricties zijn eigenlijk de poorten die Telenet blokkeert. Voor de rest kan eigenlijk bijna alles voor zover je niet overlapt. Dit is al in meerdere topics aan bod gekomen.
Je kan ook geen 2 dezelfde externe poorten naar 2 verschillende interne poorten doorverwijzen ook al zitten die op een verschillend IP adres. Bvb niet 2x poort 80 naar een interne poort. Omgekeerd wel 2 verschillende externe poorten naar eenzelfde interne poort. Bvb poort 9000 en 9001 naar poort 80 al of niet op hetzelfde IP adres.
Verschil tussen TCP en UDP komt basic hier op neer. Bij TCP is er controle van de data, bij UDP niet. Dus bij TCP wordt gecontroleerd of elke bit aankomt zoals het verstuurd is, bij UDP mag er al eens een bit verloren gaan (meestal bij muziek of video stream)
Ik kan het zelf niet uitproberen (omdat dan de patch in mijn config voor IPv6 verloren gaat), maar dacht gezien te hebben dat het voorbeeld zoals ik het hierboven vermelde niet mogelijk is in de Telenet setting, ondanks dat dit bij PAT zeker mogelijk is.
Dit resulteert in SOA (sexueel overdraagbare aandoening? 😀)
Dezelfde externe ip & port combinatie naar twee verschillende interne hosts sturen kan inderdaad niet. Dit is ook niet in de NAT/PAT definities voorzien.
@Arnie Lijkt mij nogal logisch, het zou nogal moeilijk worden om een datastroom random eens naar het ene en dan naar het andere adres te sturen. Gooi het maar ergens waar je het kwijt wil. Dat is nu eenmaal de expliciete reden waarom poortnummers meegegeven worden. Maar bij overeenkomst zijn een aantal poorten overeengekomen en die moet je niet meegeven.
In principe geeft het ip adres de destination host aan, het poort nummer de destination applicatie binnen die host. Zoiets als het netwerk de straat is, het ip-adres een specifiek huis in de straat, en de port een ruimte binnen het huis.
Port Address Translation is een truukje om in een NAT omgeving ondanks hetzelfde destination IP adres dit toch op basis van het port nummer te splitsen over verschillende hosts.
Alle post komt als het ware binnen bij huisnummer 1, waarna het verdeeld wordt. Als de post voor de keuken is, wordt het doorgestuurt naar de keuken van huisnummer 2, terwijl de post voor de garage naar huis nr 5 doorgestuurd wordt.
Dit kent natuurlijk zijn beperkingen.
@Arnie Dat is het inderdaad. In principe staan alle poorten ter beschikking maar er zijn bepaalde afspraken zoals voor HTTP, HTTPS, FTP, mail enz. dat je geen poortnummer moet opgeven. Maar bepaalde games enzo werken wel op specifieke poorten en die moet je wel opgeven om die verbinding te kunnen maken. En inderdaad bij IPv4 moet je dan opgeven waar het intern naar toe moet.
Bij IPv6 waarbij elke host een zogenaamd publiek IP heeft moet je ook de poort meegeven. Want alles komt toe op de prefix en wordt dan pas verdeeld naar het intern IPadres. Standaard wordt ook alle inkomend verkeer geblokkeerd en moet je rules instellen welke poort er open mag naar welke host.
Ik heb, zelfs bij modem only nog niet gezien dat je verschillende prefixen krijgt per aangesloten host. Het is per aansluiting dat je een /56 prefix krijgt en de beschikking over een aantal subnetten.