Beantwoorden
iojo
Freshman Beetjesweter
Berichten: 1
Primeur! En we zijn vertrokken! Hi there!

Oplosisng voor "error.soa.ConstraintViolationException"

dit is GEEN vraag, maar een oplossing voor een regelmatig voorkomend probleem

  • dit heeft betrekking op: Mijn thuisnetwerk/modem details/Geavanceerde instellingen/IPv4 Firewall & Port forwarding
  • probleembeschrijving:
    • als je een port-fowarding wenst in te stellen, kan je de foutmelding "error.soa.ConstraintViolationException" krijgen bij het bewaren van de nieuwe settings
  • oplossing:
    • de externe en interne poorten hoeven niet gelijk te zijn!
    • je kan dus een "fictieve" externe poort kiezen (bijv. uit deze lijst); dit poortnummer ga je dan gebruiken wanneer je toegang tot je applicatie zoekt;
    • het interne poortnummer moet echter wel voldoen aan de vereisten van je applicatie
  • een voorbeeld:
    • stel je hebt een applicatie A (bijv; confluence) draaien op een eigen server
      • deze server heeft (of geef je) een VAST lokaal IP adres eindigend op (bijv.) 10 (dit kan je uiteraard zelf kiezen)
      • op deze server kan je applicatie A bereiken op poort 1020
    • kies zelf voor een extern te gebruiken poort: 30000 (vrije keuze, zolang als je maar checkt of deze poort niet potentieel een conflict kan veroorzaken; check die ook hier)
    • voeg dan een nieuwe regel toe met de volgende kenmerken:
      • Lokaal IP-adres: 10
      • Beginpoort (extern): 30000
      • Eindpoort (extern): 30000
      • Beginpoort (intern): 1020
      • Eindpoort (intern): (wordt automatisch ingevuld)
      • Protocol: (kies voor) TCP (ik heb het niet geprobeerd voor udp)
      • Status: (zet op) Actief
    • klik dan op "wijzigingen opslaan"
    • om nu je applicatie A te bereiken, type je:(ip adres in van je server):(extern poortnummer)
      • gebaseerd op het voorbeeld: aaa.bbb.ccc.10:30000 (aaa.bbb.ccc is de cijferreeks die van telenet komt)

KLAAR!

 

6 reacties
Arnie
Professional Allesweter
Berichten: 1748
Krak 2021 Krak 2022 Krak Hallo zeg! Wat weet jij niet?

Oplosisng voor "error.soa.ConstraintViolationException"

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.


   Arnie | Krak
   Meten is weten. Gissen is missen.
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
igvfer
Professional Superweter
Berichten: 7765
Dat verdient een trofee! PhD in problem solving! Organisatietalent! Topic held(in)!

Oplosisng voor "error.soa.ConstraintViolationException"

@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)



  Ignace (igvfer) | Krak
  Niets is mooi of lelijk, het is enkel wij die het mooi of lelijk vinden.
  Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
Arnie
Professional Allesweter
Berichten: 1748
Krak 2021 Krak 2022 Krak Hallo zeg! Wat weet jij niet?

Oplosisng voor "error.soa.ConstraintViolationException"

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 | Krak
   Meten is weten. Gissen is missen.
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
igvfer
Professional Superweter
Berichten: 7765
Dat verdient een trofee! PhD in problem solving! Organisatietalent! Topic held(in)!

Oplosisng voor "error.soa.ConstraintViolationException"

@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.

 



  Ignace (igvfer) | Krak
  Niets is mooi of lelijk, het is enkel wij die het mooi of lelijk vinden.
  Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
Arnie
Professional Allesweter
Berichten: 1748
Krak 2021 Krak 2022 Krak Hallo zeg! Wat weet jij niet?

Oplosisng voor "error.soa.ConstraintViolationException"

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 | Krak
   Meten is weten. Gissen is missen.
    Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes
igvfer
Professional Superweter
Berichten: 7765
Dat verdient een trofee! PhD in problem solving! Organisatietalent! Topic held(in)!

Oplosisng voor "error.soa.ConstraintViolationException"

@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.

 



  Ignace (igvfer) | Krak
  Niets is mooi of lelijk, het is enkel wij die het mooi of lelijk vinden.
  Vergeet niet om likes te geven en/of als oplossing te markeren.
0 Likes