Skip to main content

Hoi ik heb een domeinnaam geregistreerd bij Network Solution (yyy.zzz)

Ik heb een DNS A-record toegevoegd FQDN cluster1.yyy.zzzz naar IP 86.85.143.xyz waardoor alle http requests vanaf internet gerouteerd worden naar mijn bovengenoemde WAN (fixed) IP adres. Hierna dien ik het binnenkomende request (http op poort 80 en https op 443) te forwarden naar het juiste (fixed) IP (192.168.1.16 en poort 5601 waarop een elasticsearch webservice is gehost.

Dit doe ik door de IP forwarding op de Experia V10 in te stellen. Ik verwacht IP 196.168.1.16 (port forwarding) met Application (TCP 80~80 | 5601~5601) in te moeten stellen. Vanuit mijn browser zou ik dan direct via http://xxx.yyy.zzz  moeten worden gerouteerd naar mijn elastic cluster. Helaas dit werkt niet…

Als ik een willekeurig ander poortnr invul bijv TCP 81~81 | 5601~5601 werkt het wel waardoor ik altijd poortnr  81 moet toevoegen aan mijn url.  Ik wil geen poortnrs opgeven. 

Wat gaat hier fout in mij redenatie? (ip adressen en poortnrs zijn correct ingevuld - niet xyz uiteraard)

Je word mogelijk automatich doorgestuurd naar https wat dus op poort 443 werkt. Kijk goed wat er in je adresbalk gebeurt.


Als ik het goed begrijp draai je een web-server thuis?

Maar waarom poortnummer 5601~5601 ??

Als je  http  (poort 80) automatisch wilt laten omzetten naar  https  (poort 443)
Zonder allerlei achterliggend moeilijke php web-opbouw code.

Zou je in het  index.htm  bestand van de website met html-code een redirect kunnen opnemen naar bijv. een  index2.htm  In die redirect neem je gelijk de verwijzing inclusief  https

Daarmee heb je op eenvoudige wijze een omzetting gemaakt van http  naar  https

(Als domein gebruik ik in het voorbeeld xyz.nl  als domein voor je WAN IP-adres).

<html>
<meta http-equiv="refresh" content="0;url=https://xyz.nl/index2.htm" />
</html>

Realiseer je verder wel dat je met het gebruik van  httpvoor je domein, wel een SSL certificaat voor de domeinnaam moet inzetten om geen vervelende beveiliging-meldingen van een browser te genereren. Dat kan een Let's Encrypt certificaat zijn, of een commercieel aangekocht SSL certificaat.
Dat certificaat moet je in de web-server software importeren.


Bedankt voor de antwoorden...

1 - Chrome F12 (Network - Header request en waar nodig even aangepast :-) 

  1. Request URL: http://cluster1.yyy.zzz:5601/  => http default poort 80

  2. Request Method: GET

  3. Status Code: 302 Found

  4. Remote Address: 10.196.yyy.zzz

  5. Referrer Policy: strict-origin-when-cross-origin

2 - Nee, ik draai geen eigen webserver maar een Elasticsearch cluster. Die heeft zijn eigen webinterface nl. Kibana (dit is een nodejs webservice default luisterend op port 5601). 

3 - Ja, als ik een SSL/TLS 1.x verbinding op wil zetten dien ik inderdaad een certificaat te hebben maar dat is nu even niet aan de orde.

 

Nog andere suggesties?


En die poort 5601 is dat alleen http en een andere voor https  bijv. poort 5602 ??

Anders zou je “publiek” poort 80 kunnen doorzetten naar poort 5601 van die Elasticsearch cluster
en “publiek” poort 443 naar poort 5602  ??

En heeft die Elasticsearch cluster niet een automatische omzetting naar https ??

Heb hier bijv. een NAS (Synology) die standaard poort 5000 gebruikt voor http,
maar zet dat automatisch om naar poort 5001


nee. beide clusters bestaan uit 3 VM's met CentOS (zie foto) alleen met hun eigen fixed IP. Doet nu even niet terzake of ik wel/niet SSL/TLS gebruik Port 80 of 443 wordt door NAT geforward naar poort 5601 danwel 5602

Bij mijn domein provider heb ik 2 A records gedefinieerd:

cluster1.yyy.zzz => 86.85.143.xxx (extern fixed IP)

cluster2.yyy.zzz => 86.85.143.xxx

Om te zorgendat het verkeer naar de juiste poort wordt gerouteerd 2 SRV records toegevoegd

_kibana1._tcp. yyy.zzz  5601 cluster1.yyy.zzz

_kibana2._tcp. yyy.zzz  5602 cluster2.yyy.zzz

Dan in de router 2 rules opgenomen

Cluster1 => 192.168.1.16  (App Kibana2 (TCP 5601 => 5601)

Cluster2 => 192.168.1.26 (App Kibana2  (TCP 5602 => 5602)

Dit werkt alleen als ik het poortnr aan de url toevoeg. Ik wil met cluster1.yyy.zzz direct op mijn login scherm kunnen uitkomen

 


nee. beide clusters bestaan uit 3 VM's met CentOS (zie foto) alleen met hun eigen fixed IP. Doet nu even niet terzake of ik wel/niet SSL/TLS gebruik Port 80 of 443 wordt door NAT geforward naar poort 5601 danwel 5602

Bij mijn domein provider heb ik 2 A records gedefinieerd:

cluster1.yyy.zzz => 86.85.143.xxx (extern fixed IP)

cluster2.yyy.zzz => 86.85.143.xxx

Om te zorgendat het verkeer naar de juiste poort wordt gerouteerd 2 SRV records toegevoegd

_kibana1._tcp. yyy.zzz  5601 cluster1.yyy.zzz

_kibana2._tcp. yyy.zzz  5602 cluster2.yyy.zzz

Dan in de router 2 rules opgenomen

Cluster1 => 192.168.1.16  (App Kibana2 (TCP 5601 => 5601)

Cluster2 => 192.168.1.26 (App Kibana2  (TCP 5602 => 5602)

Dit werkt alleen als ik het poortnr aan de url toevoeg. Ik wil met cluster1.yyy.zzz direct op mijn login scherm kunnen uitkomen

Ik heb heb het vermoeden dat er iets omtrent die 2 SRV records mis gaat.

Hoe test je de port-forwards ? Is er sprake van NAT loopback? Anders eens met netcat een losse TCP connectie met de hand opzetten richting WAN_IP:80 en ook WAN_IP:443,  (even de servers op de betreffende IPs/ports uitzetten) zou ik zeggen.

 

192.168.1.16 : netcat -lp 5601

internet : echo helloworld | netcat 86.85.143.xxx 80

 

192.168.1.26 : netcat -lp 5602

internet : echo helloworld | netcat 86.85.143.xxx 443

 


Poorten zijn open en firewall rules werken (poorten op de VM's zijn ook open). Heb inderdaad het idee dat de SRV records niet correct zijn. Heb een ticket uitstaan bij Network Solutions. Wordt vervolgd...

 

 


Portforwardings ansich werken dus wel zo te lezen.

In een eerder bericht:     Remote Address: 10.196.yyy.zzz

waar komt dat vandaan ?


Portforwardings ansich werken dus wel zo te lezen.

In een eerder bericht:     Remote Address: 10.196.yyy.zzz

waar komt dat vandaan ?

Ahh dat was een testje van kantoor (A class network 10.x)

Aangezien mijn cluster uit 2x3 VM's bestaan en daar ook nog NGINX config  bij  zit heb ik dit maar even laten liggen. Daarnaast gaat dit waarschijnlijk niet werken en heb daarom een simpeler test case gemaakt met 2 minecraft servers. Zie ook:

Ook die werkt gewoon niet. Beide subdomeinen wijzen naar de eerste instance. 


Aangezien mijn cluster uit 2x3 VM's bestaan en daar ook nog NGINX config  bij  zit heb ik dit maar even laten liggen. Daarnaast gaat dit waarschijnlijk niet werken en heb daarom een simpeler test case gemaakt met 2 minecraft servers.

Wat mij bij nader inzien opvalt, is dat je 2x 2 paden (4 portforwards) door 1 en dezelfde router hebt (1 niet redundante telefoonlijn/glasvezel). Kan allemaal nodig zijn voor re-directs o.i.d., heb geen idee wat betreft de VMs. Ook je foto is 1 kast. Misschien is je hoofddoel om zo makkelijk mogelijke namen te hebben van buitenaf gezien, alleen het domein, dus geen domainnameA:portnumberX  domainnameB:portnumberY of domainnameA/objectX domainnameB/objectY maar dus alleen domainnameA domainnameB

Ik kan verder weinig zeggen over SRV records, heb het nooit gebruikt. Maar meer redundantie is dit niet echt, als dat je doel zou zijn. Het levert hoofdzakelijk problemen op lijkt me, ook al heb je b.v. een UPS, de afhankelijk en complexiteit zit misschien in de router/ExperiaBox? en/of je domainprovider. Als je die beide van de hand doet, kun je met nginx, hoewel leercurve, middels principe domainname/object URL, zaken makkelijk werkend krijgen. Heb ik in ieder geval al tijden zo en het leent zich ook voor redundatie op netwerkdrager niveau. Loadbalancing kwa processing kan ook met nginx, als dat het doel zou zijn.


... en heb daarom een simpeler test case gemaakt met 2 minecraft servers.

Om achter hetzelfde IP-adres twee verschillende servers te kunnen benaderen, zou je een “reverse proxy” kunnen gebruiken. Zelf geen ervaring mee, maar wordt o.a. daarvoor ingezet.

https://kinsta.com/blog/reverse-proxy/

https://www.cloudflare.com/learning/cdn/glossary/reverse-proxy/


Ja, dat kan. INGINX kan dat heel goed maar als het goed is moet dit ook met een SRV record kunnen. Ik heb mijn domein bij een heel grote zitten die ook tot de DNS Root servers behoort. Heb een mailbevestiging dat mijn srv records correct zijn. Kan ik zelf controleren met nslookup. Dus nu nog de traversal van wan-ip naar mijn juiste server en poort. Leest het artikel op Stack-Overflow In mijn andere artikel er maar op na. Dan zou het moeten kunnen werken. Proxy moet je gebruiken als je meerdere web services 80 of 443  op 1 server draait. Ook Apache doet dit prima. Echter minecraft zijn GEEN webservices.


Ja, dat kan. INGINX kan dat heel goed maar als het goed is moet dit ook met een SRV record kunnen. Ik heb mijn domein bij een heel grote zitten die ook tot de DNS Root servers behoort. Heb een mailbevestiging dat mijn srv records correct zijn. Kan ik zelf controleren met nslookup. Dus nu nog de traversal van wan-ip naar mijn juiste server en poort. Leest het artikel op Stack-Overflow In mijn andere artikel er maar op na. Dan zou het moeten kunnen werken. Proxy moet je gebruiken als je meerdere web services 80 of 443  op 1 server draait. Ook Apache doet dit prima. Echter minecraft zijn GEEN webservices.

nginx heeft plugins, anders dan web kan ook, maar klopt dat het primair webproxy doet.

Maar je zal het probleem veel grondiger te lijf moeten gaan. Om te beginnen eigen router. Dan kan je aan de serverkant zelf debuggen. Ik bedoel dan niet zozeer een ander commercieel kastje i.p.v. ExperiaBox, maar gewoon een Linux doos (e.v.t. VM) die PPPoE/routing doet, dan kun je gewoon zien in detail wat er binnen komt.

Dan een client omgeving waar je ook volle controle over hebt; niet je op je werk achter NAT en/of bedrijfsfirewall. En ook niet vanaf je LAN waar NAT loopback kan interfereren. De client zal iets met SRV records moeten doen i.p.v. alleen standaard DNS. Dat moet je kunnen monitoren. Vandaar ook mijn eerdere vraag hoe test je.


Hoi tmoesel. alles kan maar het zou simpel moeten werken volgens de theorie.  2 subdomeinen laten wijzen naar verschillende poorten. Toch moet ik het poortnr achter mijn subdomein blijven vermelden.

Heb hier al een aantal artikelen over gelezen.  Lees deze maar eens…. https://stackoverflow.com/questions/16138264/nginx-proxy-pass-to-minecraft-server Zou gewoon moeten kunnen werken met A-records en SRV records (en die heb ik heeel nauwkeurig gecheckt) en werken ook .  


Het stackoverflow topic had ik al gezien en even doorgebladerd, maar ten eerste is het 9 jaar geleden gestart en zie ook niet dat het een gerelateerd is aan een KPN klant. Wat je wil zou wel moeten werken, maar het werkt niet, dus stel je een vraag op dit forum. Meelezers op dit forum kunnen je niet helpen. Om je te kunnen helpen, moet je ze hulp bieden in de vorm van veel meer detail inzicht in wat er over de lijnen gaat op diverse punten en wat voor stappen je neemt enz. Daan nog moet je het uiteindelijk zelf oplossen (of omzeilen). Maar dat kun je niet of doe je niet of wil je niet of heb je geen tijd voor kennelijk.

Daarnaast is het tussen de regels door ook een kwestie van geld. KPN, met nu XS4ALL ingelijfd, kan linksom of rechtsom je ook via zakelijk of legacy XS4ALL ( kreeg je 4 WAN IP’s als ik het wel heb) ook van meerdere WAN IPv4 adressen voorzien. Kost natuurlijk meer. Een beetje sluwe interne (technical) sales persoon zal geen energie steken in jouw te helpen met het probleem op te lossen, maar gewoon niks doen of wachten totdat je zelf b.v. je abo omzet.


Tja, dan eindigt deze thread hier en ga ik verdere puzzelen. in ieder geval wel bedankt om de moeite te nemen.