Jump to content

Recommended Posts

Vet ikke om dette er riktig sub for dette spørsmålet, men gjør et forsøk.

Jeg har akkurat registrert et domene på Domeneshop, men jeg er usikker på hvordan jeg skal gå frem for å "mappe" web adressen til web-servere på mitt nettverk. Jeg har en hjemmeside som går på en server og en RasberryPi med Home Assistant og ønsker at begge skal være tilgjengelige gjennom domenet. (f.eks. homeassistant.mittdomene.no og hjemmeside.mittdomene.no). Hvordan går jeg frem for å få til dette?

2020-01-06_14-25-51.thumb.png.e50738ad9fbef821c644bcbb673d22ac.png

Edited by norsemanGrey

Share this post


Link to post

Du må finne ut hvilken IP-adresse serveren og Raspberry Pi-en har, og bruke den. Om du befinner deg bak NAT (som man normalt sett gjør hjemme) så må du gjøre port forwarding på ruteren din.

Tips: http://ifconfig.io/

Share this post


Link to post
Annonse
12 minutes ago, j-- said:

Du må finne ut hvilken IP-adresse serveren og Raspberry Pi-en har, og bruke den. Om du befinner deg bak NAT (som man normalt sett gjør hjemme) så må du gjøre port forwarding på ruteren din.

Tips: http://ifconfig.io/

Jeg må vel bruke min eksterne IP adressen også på en eller annen måte? Jeg ville kanskje tro at hvis  jeg har satt opp Port Forwarding slik på ruteren min:

<hjemmeside server IP> : <source port 1> - <destination port 1>

<raspberry pi IP> : <source port 2> - <destination port 2>

Så ville oppsettet hos Domeneshop være:

hjemmeside.mittdomene.no -> <min eksterne IP>:<source port 1>

homeassistant.mittdomene.no -> <min eksterne IP>:<source port 2>

 

Edited by norsemanGrey

Share this post


Link to post

Du skal ikke bruke port i DNS oppsettet.

Men du oppretter pekere mot din eksterne IP adresse hjemme ja.

Og så må du ha åpnet opp i brannmuren for at trafikk mot utside adresse og port går mot innside adresse og port.

Share this post


Link to post
1 minute ago, nomore said:

Du skal ikke bruke port i DNS oppsettet.

Men du oppretter pekere mot din eksterne IP adresse hjemme ja.

Og så må du ha åpnet opp i brannmuren for at trafikk mot utside adresse og port går mot innside adresse og port.

Oi, nå føler jeg meg skikkelig dum her, men hvis man ikke skal spesifisere port`eller intern IP i DNS oppsettet hvordan skal man da peke en adresse mot riktig server på innsiden av nettverket?

Hvis jeg skriver inn homeassistant.mittdomene.no i en web-browser, hvordan skal denne skille mellom en server og en annen på mitt interne nettverk så lenge det eneste som er spesifisert i DNS oppsettet er min eksterne IP?

Share this post


Link to post
9 minutes ago, nomore said:

Nei DNS bryr seg ikke opp port, kun navneoppslag. Du må spesifisere port når du kobler til.

Nå spør jeg sikkert dumt. Men hva er da poenget med sub-domener så lenge man må spesifisere port uansett?

Share this post


Link to post

Du kan eventuelt benytte deg av SRV-records istedenfor A-records. Disse lar deg spesifisere port. Fungerer dessverre dårlig med http.

Edited by asdffdsa

Share this post


Link to post
14 minutes ago, norsemanGrey said:

Nå spør jeg sikkert dumt. Men hva er da poenget med sub-domener så lenge man må spesifisere port uansett?

Du kan benytte type content switcher/reverse proxy for å mappe mot korrekt nettside eller tjeneste internt med port. Men dette er igjen mer komplisert enn bare DNS.

Share this post


Link to post

Det er ikke et dumt spørsmål, men du spør "fra feil ende".

DNS er kun navneoppslag. Ikke noe annet.
- navn1.no blir x.y.z.v
- navn2.no blir y.z.x.v
- test.navn1.no blir v.z.y.x

Ikke noe mer hokus pokus enn det. Navn til IP.

Når du i et program eller tjeneste skriver inn navnet på serveren du skal nå så må du enten legge inn port, eller så vil ofte programmet anta hvilken port du skal nå. 

For eks nettleseren. Dersom du skriver www.vg.no i adressefeltet så "antar" nettleseren at du skal nå port 80 eller 443, og prøver disse. Fungerer ikke de portene får du feil. Men du kan like godt skrive www.vg.no:443 og få opp nettsiden, men da antar ikke lenger nettleseren porten - for den har du spesifisert.

På samme måte kan du ha ei webside på navn1.no:80 og ei helt annen nettside på navn1.no:81. Samme navn, men to ulike porter. Dette er dog upraktisk siden de fleste som surfer på nettet går mot port 80 eller 443. Men er en helt grei løsning for eget bruk.

Og så kan du da naturligvis ha websiden på port 80 uten å spesifisere port, og for eks en FTP server på port 21, med akkurat samme navn. Bruker du da en nettleser vil du få opp websiden(uten å spesifisere port), og bruker du en FTP klient vil du få opp FTP servere(uten å spesifisere port).

Håper det var litt mer forklarlig :)

Share this post


Link to post
5 hours ago, nomore said:

Det er ikke et dumt spørsmål, men du spør "fra feil ende".

DNS er kun navneoppslag. Ikke noe annet.
- navn1.no blir x.y.z.v
- navn2.no blir y.z.x.v
- test.navn1.no blir v.z.y.x

Ikke noe mer hokus pokus enn det. Navn til IP.

Når du i et program eller tjeneste skriver inn navnet på serveren du skal nå så må du enten legge inn port, eller så vil ofte programmet anta hvilken port du skal nå. 

For eks nettleseren. Dersom du skriver www.vg.no i adressefeltet så "antar" nettleseren at du skal nå port 80 eller 443, og prøver disse. Fungerer ikke de portene får du feil. Men du kan like godt skrive www.vg.no:443 og få opp nettsiden, men da antar ikke lenger nettleseren porten - for den har du spesifisert.

På samme måte kan du ha ei webside på navn1.no:80 og ei helt annen nettside på navn1.no:81. Samme navn, men to ulike porter. Dette er dog upraktisk siden de fleste som surfer på nettet går mot port 80 eller 443. Men er en helt grei løsning for eget bruk.

Og så kan du da naturligvis ha websiden på port 80 uten å spesifisere port, og for eks en FTP server på port 21, med akkurat samme navn. Bruker du da en nettleser vil du få opp websiden(uten å spesifisere port), og bruker du en FTP klient vil du få opp FTP servere(uten å spesifisere port).

Håper det var litt mer forklarlig :)

For så vidt riktig, men du kan også ha hoste flere websider på samme server (ip og port) og ha forskjellige domenenavn, der domenenavnet som ble brukt avgjør hvilken webside som skal vises. 

Eksempelvis www.foo.no og test.foo.no kan begge peke til ip-adressen 55.66.77.88. På 55.66.77.88 kjører det én webserver som svarer både på port 80 og 443 avhengig av http eller https-bruk. I headeren for forespørselen står det domenenavnet som ble forespurt, og avhengig av det presenterer webserveren forskjellige websider.

 

Share this post


Link to post

Et alternativ er kanskje å sette opp en webserver som redirecter deg til rett server avhengig av subdomene? Slik at feks

Homeassistant.hjemme.no -> hjemme.no:8000

Web.hjemme.no -> hjemme.no:443

Apache har vel mulighet for det?

Share this post


Link to post
NULL skrev (1 time siden):

 

Joda. Men fokuserte nå mest på å illustrere hvorfor DNS ikke tar høyde for porter, og hvorfor folk misforstår akkurat det :)

  • Like 1

Share this post


Link to post

Problemet ditt er at et domenenavn ikke i seg selv er noen adresse.

Domenenavnet slås opp i DNS, henter så en IP-adresse, og programmet du bruker, enten det er en nettleser eller noe annet, bruker IP-adressen til å finne veien til deg.

Du kan helt fint sette opp "ett.test.no" til å gå til en IP-adresse, så sette "to.test.no" til å gå til en helt annen IP-adresse, men du har trolig bare én IP-adresse.

Det vanlige er at man setter "*.test.no" til å gå til én IP-adresse, så ender alle subdomener opp på samme sted.
Så sorterer du basert på subdomene når du mottar forespørslene, og videresender for eksempel "ett.test.no" til ett sted på ditt interne nettverk, mens du kan sende "to.test.no" til et helt annet sted på nettverket, eller du kan bruke virtualhost til å videresende til to virtuelle steder, som bor på samme server.

Enkelte avanserte routere kan nok faktisk gjøre dette, jeg tror Asus med Merlin firmware klarer dette, men du kan også sette opp en egen server til dette, for eksempel med NGINX, Apache, httpd eller andre lignende program, du kan til og med route videre med ting som PHP, Java, Node.js eller lignende, for mer dynamisk routing.

Desto færre ledd, desto raskere går det åpenbart, men dersom dette er til eget bruk er neppe muligheten til å håndtere tusenvis av forespørsler samtidig særlig viktig, så det går nok mer på hva som er enklest for deg.

Jeg ville sett på Træfik, som kanskje gjør det du ønsker, men krever riktig oppsett av nettverket ellers og en del oppsett, jeg tror nok det ville være enklere for deg å sette opp en RPI med NGINX i stedet.

Edited by 0laf
  • Like 1

Share this post


Link to post

Takk for mange gode svar. Nå skjønne jeg litt mer :)

8 hours ago, 0laf said:

Problemet ditt er at et domenenavn ikke i seg selv er noen adresse.

Domenenavnet slås opp i DNS, henter så en IP-adresse, og programmet du bruker, enten det er en nettleser eller noe annet, bruker IP-adressen til å finne veien til deg.

Du kan helt fint sette opp "ett.test.no" til å gå til en IP-adresse, så sette "to.test.no" til å gå til en helt annen IP-adresse, men du har trolig bare én IP-adresse.

Det vanlige er at man setter "*.test.no" til å gå til én IP-adresse, så ender alle subdomener opp på samme sted.
Så sorterer du basert på subdomene når du mottar forespørslene, og videresender for eksempel "ett.test.no" til ett sted på ditt interne nettverk, mens du kan sende "to.test.no" til et helt annet sted på nettverket, eller du kan bruke virtualhost til å videresende til to virtuelle steder, som bor på samme server.

Enkelte avanserte routere kan nok faktisk gjøre dette, jeg tror Asus med Merlin firmware klarer dette, men du kan også sette opp en egen server til dette, for eksempel med NGINX, Apache, httpd eller andre lignende program, du kan til og med route videre med ting som PHP, Java, Node.js eller lignende, for mer dynamisk routing.

Desto færre ledd, desto raskere går det åpenbart, men dersom dette er til eget bruk er neppe muligheten til å håndtere tusenvis av forespørsler samtidig særlig viktig, så det går nok mer på hva som er enklest for deg.

Jeg ville sett på Træfik, som kanskje gjør det du ønsker, men krever riktig oppsett av nettverket ellers og en del oppsett, jeg tror nok det ville være enklere for deg å sette opp en RPI med NGINX i stedet.

Jeg har en AmpliFi HD ruter hjemme og den har ikke så avanserte funksjoner som Merlin, så jeg kunne tenkt meg å prøve å sette opp en egen Nginx server for dette. Jeg har faktisk en RPi hjemme med Pi-Hole. Ville det vært en grei sak å også sette opp en Nginx server på denne som ruter innkommende forespørsler til riktig server basert på sub-domene? Finnes det i så fall noen greie "oppskrifter" / tutorials for det? Jeg forsøkte å Google en del, men jeg er redd jeg kanskje bruker feil terminologi og finner ikke helt det jeg leter etter.

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...