Premiär! Fyndchans i SweClockers Månadens Drop

Köpt domän, hur får jag subdomains att peka till olika adersser på mitt LAN?

Permalänk

Köpt domän, hur får jag subdomains att peka till olika adersser på mitt LAN?

"Äger" en domän, och har alltid nöjt mig med att forwarda olika portar till olika klienter på mitt LAN, men nu för enkelhets skull så vill jag börja använda "subdomains".
Med andra ord så vill jag att dator1.mindomän.se på specifik port skall peka mot klient 192.168.1.100 på mitt LAN och dator2.mindomän.se på samma port skall peka på 192.168.1.200 på mitt LAN.

Hur skall jag gå tillväga för att lyckas med detta?

Permalänk
Medlem

Beror på vilket protokoll/app som ska skickas vidare rätt. Vissa klarar ju av att läsa av DNS SRV records ,https://en.wikipedia.org/wiki/SRV_record
Är det HTTP(S) så får du köra proxy/redirect.

Permalänk
Medlem
Skrivet av Nebudchanezzer:

"Äger" en domän, och har alltid nöjt mig med att forwarda olika portar till olika klienter på mitt LAN, men nu för enkelhets skull så vill jag börja använda "subdomains".
Med andra ord så vill jag att dator1.mindomän.se på specifik port skall peka mot klient 192.168.1.100 på mitt LAN och dator2.mindomän.se på samma port skall peka på 192.168.1.200 på mitt LAN.

Hur skall jag gå tillväga för att lyckas med detta?

Logga in på din kontrollpanels dns-sidor och ange ip för respektive subdomän.

Skickades från m.sweclockers.com

Permalänk
Medlem

Det går inte, subdomänerna måste peka till ett routebart ip, 192.168.0.0/16 är inte ett sådant kluster.
Du får använda en proxy som iXam säger, dvs. du pekar till WAN ip och kör portforward, sen får den värden ta hand om "det interna"

stavning
Permalänk
Skrivet av guermantes:

Logga in på din kontrollpanels dns-sidor och ange ip för respektive subdomän.

Skickades från m.sweclockers.com

Det lär ju definitivt inte fungera eftersom jag bara har ett IP. (Och som jag skrev, det måste peka på mitt LAN 192.168.XXX.XXX)

Permalänk
Medlem

DNS-records kan peka på vilken IP som helst, inklusive dom i 192.168.0.0/16. Om klienten sen kan nå adressen är en helt annan fråga. @Nebudchanezzer vill du att det ska fungera bara internt, eller även från internet?

Permalänk
Medlem

Hur trafik till olika portar ska vidarebefordras till enheter inom LAN:et har inget med din domän eller DNS att göra.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Skrivet av iXam:

Beror på vilket protokoll/app som ska skickas vidare rätt. Vissa klarar ju av att läsa av DNS SRV records ,https://en.wikipedia.org/wiki/SRV_record
Är det HTTP(S) så får du köra proxy/redirect.

OK, säger mig inte supermycket, är lekman vad det gäller nätverk.

Ett bättre exempel må vara att jag på mitt LAN bara har windowsklienter och jag vill nå fjärrskrivbordet "utifrån" på dessa klienter genom att bara ange dator1.mindomän.se eller dator2.mindomän.se.

Permalänk
Medlem
Skrivet av Nebudchanezzer:

OK, säger mig inte supermycket, är lekman vad det gäller nätverk.

Ett bättre exempel må vara att jag på mitt LAN bara har windowsklienter och jag vill nå fjärrskrivbordet "utifrån" på dessa klienter genom att bara ange dator1.mindomän.se eller dator2.mindomän.se.

På samma port? Då behöver du en RDP-gateway som vidarebefordrar baserat på namn. Alla dina DNS-poster kommer fortfarande bara peka på din externa IP-adress.

EDIT: Eller använda SRV records och olika portar. Vet inte om RDP har stöd för det.

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Skrivet av Xcorp:

DNS-records kan peka på vilken IP som helst, inklusive dom i 192.168.0.0/16. Om klienten sen kan nå adressen är en helt annan fråga. @Nebudchanezzer vill du att det ska fungera bara internt, eller även från internet?

Jag får väl be lite om ursäkt här.
Internt är det ju givetvis inget problem, bara tala om för DNS-servern i min router (pfSense) vart det skall peka, men hur gör jag för att få det att fungera "sömnlöst", både utanför och innanför mitt LAN?

Permalänk
Inaktiv

Det går väl om du kan tänka dig att använda olika portar för dem olika anslutningarna? Alla subdomäner pekar på ditt externa IP, och routern har en portforward för varje dator, kanske port 5001 för dator ett, port 5002 för dator 2 osv..

Permalänk
Medlem

Det du efterfrågar löses enkelt med en s.k. Reverse Proxy
En välkänd sådan är Nginx, vilket är en webbserver du portforwardar till och sedan definierar vilka LAN adresser som ska tillhöra vilka subdomäner. Finns grymma guider, bara googla.

Visa signatur

PSU: Seasonic FOCUS Plus 750W Gold | MOBO: ASUS ROG STRIX X570-E | CPU: AMD Ryzen 9 5900X w/ NZXT Kraken x72 | GPU: EVGA GeForce GTX 1070 Ti FTW ULTRA SILENT GAMING | RAM:Corsair Vengeance DDR4 3200MHz CL16 (2X32GB) | SSD(s): 2X NVMe M.2 Samsung 970 EVO PLUS 1TB
AKA:FakeNinja

Permalänk
Medlem
Skrivet av Nebudchanezzer:

Det lär ju definitivt inte fungera eftersom jag bara har ett IP. (Och som jag skrev, det måste peka på mitt LAN 192.168.XXX.XXX)

Då finns det inget enkelt sätt att göra vad du vill.

Vad DNS gör (något förenklat) är att översätta namn (t.ex. dator1.mindomän.se) tlll en IP address.
När det väl är gjort så är det enbart IP addressen som används under kommunikationen.

Med andra ord, har du bara en IP address så måste alla existerande subdomäner peka på den addressen, och det finns inget generellt sätt att ta reda på vilken subdomän som användes.

För vissa protokoll så kan information om domänen skickas med internt, och då kan man göra en lösning för just det protokollet, men det är mer undantag är regel.

Permalänk
Skrivet av LemonIllusion:

På samma port? Då behöver du en RDP-gateway som vidarebefordrar baserat på namn. Alla dina DNS-poster kommer fortfarande bara peka på din externa IP-adress.

OK, frågan är lite mer generell än så, visst fungerar RDP så löser det ju en del, men det kan ju även gälla om jag vill köra min egen webmail och min egen websida/site på samma IP.
Med andra ord så skall mail.mindomän.se och mindomän.se peka till samma IP men ändå gå till olika maskiner på mitt IP.

Permalänk
Skrivet av anon265474:

Det går väl om du kan tänka dig att använda olika portar för dem olika anslutningarna? Alla subdomäner pekar på ditt externa IP, och routern har en portforward för varje dator, kanske port 5001 för dator ett, port 5002 för dator 2 osv..

Som sagt, detta är ju lite vad jag har gjort tidigare, och skulle tänka mig att kunna fortsätta med, om det vore så att t.ex. freeDNS skulle erbjuda något sådant som port-forwarding/översättning, t.ex mail.mindomän.se pekar mot mindomän.se:4000.
Men mig veterligen så finns inga dylika tjänster.

Permalänk
Medlem

Krasst så fungerar det såhär

Hos din registrar så lägger du upp en DNS pekare som går till din IP-adress. I det fallet så ska man skapa en A-pekare till din WAN-adress (whatsmyip.org)

Exempel rdp.dindomän.se pekar till din WAN-adress
Om du skulle vilja köra RDP till en dator bakom din brandvägg så måste du
1. Lägga upp en branväggsregel i din router som tillåter Port 3389 (std rdp port) på inkommande WAN
2. Portfortward/NAT all trafik som går över port 3389 till din dators lokala IP

OBS! Jag rekommenderar INTE att öppna brandväggen för 3389 på WAN. Det är inte någon vidare säker anslutning och MASSVIS med botar scannar nätet efter öppna RDP portar.

Visa signatur

| CPU: AMD Ryzen 5600x | RAM: G.Skill 16GB 3200 MHz Ripjaws V | GPU: Powercolor RX 6800 | Mobo:ASUS ROG STRIX B550-F Gaming | SSD: Kingston SSD V300 240GB | Nätagg: Fractal Design Ion+ Platinum 660W | Kylare: Arctic Liquid Freezer II 120mm | Chassi: Cooltek W2 | OS: Windows 10

Permalänk
Medlem
Skrivet av Nebudchanezzer:

OK, frågan är lite mer generell än så, visst fungerar RDP så löser det ju en del, men det kan ju även gälla om jag vill köra min egen webmail och min egen websida/site på samma IP.
Med andra ord så skall mail.mindomän.se och mindomän.se peka till samma IP men ändå gå till olika maskiner på mitt IP.

Skrivet av Nebudchanezzer:

Som sagt, detta är ju lite vad jag har gjort tidigare, och skulle tänka mig att kunna fortsätta med, om det vore så att t.ex. freeDNS skulle erbjuda något sådant som port-forwarding/översättning, t.ex mail.mindomän.se pekar mot mindomän.se:4000.
Men mig veterligen så finns inga dylika tjänster.

Det du efterfrågar går inte att göra. IP-trafik har bara en destination address och vet inte vilket hostname den är på väg till. Antingen får du ta bort NAT ur hela situationen (vilket i praktiken innebär att gå över till IPv6) eller använda de workarounds som finns, dvs portvidarebefordran, SRV records (vilket kräver stöd i programvaran och kanske även protokollet?) och reverse proxys (vilket bara fungerar med protokoll som skickar med hostnames, ex HTTP).

Visa signatur

Spela Swemantle! Du vet att du vill.

Ibland har jag fel, men då är det någon annans fel.

Permalänk
Skrivet av Erik_T:

Då finns det inget enkelt sätt att göra vad du vill.

Vad DNS gör (något förenklat) är att översätta namn (t.ex. dator1.mindomän.se) tlll en IP address.
När det väl är gjort så är det enbart IP addressen som används under kommunikationen.

Stämmer det till 100%?, hur gör företag i detta läget som inte har IP-dresser som räcker till sub-domänerna de vill använda..?

Skrivet av Erik_T:

Med andra ord, har du bara en IP address så måste alla existerande subdomäner peka på den addressen, och det finns inget generellt sätt att ta reda på vilken subdomän som användes.

Med den bristande tillgången på IP-adresser så kan ju inte jag vara den enda med detta problemet, jag har vid tidigare sonderingar/googlingar hört talas om "reverse proxy" är det kanske något jag söker, och är det svårt att få till?

Skrivet av Erik_T:

För vissa protokoll så kan information om domänen skickas med internt, och då kan man göra en lösning för just det protokollet, men det är mer undantag är regel.

OK, du vet helt klart mycket mer än mig om den saken, men se senaste svaret ovan, bristen på IP kan ju inte göra mig till den enda som försöker få till det såhär?

Permalänk
Hedersmedlem
Skrivet av Nebudchanezzer:

Stämmer det till 100%?, hur gör företag i detta läget som inte har IP-dresser som räcker till sub-domänerna de vill använda..?

Med den bristande tillgången på IP-adresser så kan ju inte jag vara den enda med detta problemet, jag har vid tidigare sonderingar/googlingar hört talas om "reverse proxy" är det kanske något jag söker, och är det svårt att få till?

OK, du vet helt klart mycket mer än mig om den saken, men se senaste svaret ovan, bristen på IP kan ju inte göra mig till den enda som försöker få till det såhär?

Det finns olika tekniker för att kringgå bristen på IP-adresser. Det beror helt på vad det är för protokoll man vill använda.

Om det är webb är det förhållandevis enkelt att sätta upp en Reverse Proxy som du själv är inne på. Man gör då att alla subdomänerna pekar på samma IP-adress. Proxyn i fråga kollar då Host-headern (och även SNI om det är HTTPS) för att kolla vilket hostnamn anropet sker till, och styr sedan anropet till rätt backendserver baserat på det. Det är dock inte alla protokoll som går att göra så här med. Med samma teknik kan man även styra olika URL:er, så att t.ex. http://www.example.com/app1 går till en server och http://www.example.com/app2 går till en annan... det är så här webbhotell gör för att kunna hosta hundratals olika hemsidor med olika adresser på en IP-adress.

Annars brukar det faktiskt gå att få tag på fler adresser. Man får hushålla, men det är inte så att det inte går att få tag på adresser.

För säker fjärråtkomst skulle jag rekommendera att du sätter upp ett VPN. Då kan du komma åt dina resurser med privata IP-adresser varifrån som helst, och har även fixat säker åtkomst.

Permalänk
Medlem
Skrivet av Nebudchanezzer:

Stämmer det till 100%?, hur gör företag i detta läget som inte har IP-dresser som räcker till sub-domänerna de vill använda..?

Webbservrar kan särskilja på subdomäner och peka om internt på rätt plats. Exempelvis Microsofts IIS eller Apache och säkert många andra varianter som jag inte kommer ihåg just nu.

Exempel
Någon vill gå till help.domän.com och help.domän.com pekar till samma IP som domän.com
Webbservern ser requesten till subdomänen och pekar om till rätt site internt.

Men det finns ofantligt många sätt att hantera webbtrafik och jag skulle inte kalla mig själv en expert.

Visa signatur

| CPU: AMD Ryzen 5600x | RAM: G.Skill 16GB 3200 MHz Ripjaws V | GPU: Powercolor RX 6800 | Mobo:ASUS ROG STRIX B550-F Gaming | SSD: Kingston SSD V300 240GB | Nätagg: Fractal Design Ion+ Platinum 660W | Kylare: Arctic Liquid Freezer II 120mm | Chassi: Cooltek W2 | OS: Windows 10

Permalänk
Skrivet av LemonIllusion:

Hur trafik till olika portar ska vidarebefordras till enheter inom LAN:et har inget med din domän eller DNS att göra.

OK, vad har det att göra med då, och hur skall jag gå vidare för att uppnå det jag vill uppnå med denna tråden då?

Permalänk
Medlem

Som flera har skrivit så går det inte att göra exakt det du frågar efter. DNS pekar BARA ut IP-adress (väldigt förenklat). Det absolut lättaste är att sätta upp portforwards, men det har du ju redan. Är det olika web-tjänster som ska kommas åt så är det en reverse-proxy som gäller. För andra protokoll så KAN det finnas lösningar, men om vi ska hjälpa dig så måste du skriva vilka tjänster du vill använda.

Permalänk
Hedersmedlem

Vi tar det enkelt, steg för steg.

DNS är en slags katalog. För att förenkla väldigt grovt så är det som en telefonkatalog, där du slår upp ett namn (www.example.com) och får tillbaka en IP-adress t.ex. (192.0.2.123). Det här är vad som menas med en "A"-post. Givet ett värdnamn får man tillbaka en IPv4-adress. That's it.

När du pekar ett program på ett värdnamn, t.ex. pekar din webbläsare på http://www.example.com/ så är det första som händer att din dator frågar DNS-servern.

Din dator -> DNS-server: Tjena! Jag behöver IP-adressen som hör till www.example.com
DNS-server -> Din dator: Aa, varsågod! Det är 192.0.2.123

Din dator fortsätter då med att kontakta webbservern i fråga och upprättar en TCP-anslutning med den välkända trevägshandskakningen.

Din dator -> 192.0.2.123: Psst! Du där på port 80! Ska vi köra?
192.0.2.123 -> Din dator: Ja! Vill du också köra?
Din dator -> 192.0.2.123: Ja!

Notera att ingenstans i den här växlingen har 192.0.2.123 fått veta genom vilket DNS-namn förfrågan har gått genom.

Port 80 väljer den för att det är hårdkodat, det är det som är standard för http. Du kan speca en annan port genom att skriva http://www.example.com:8080/, men det är inget du kan skriva med i en A-post. I en A-post ryms bara en IP-adress.

Vad som händer härnäst beror på vilket protokoll det är. Om det är HTTP så kan det vara något i stil med:

Din dator -> 192.0.2.123: Hej! Jag vill ha sidan med sökvägen / på www.example.com.
192.0.2.123 -> Din dator. Okej! Varsågod.

Varpå 192.0.2.123 sedan skickar sidan du bett om. I det här fallet (HTTP) så berättar klienten alltså i sin första fråga vilket värdnamn som klienten faktiskt frågar efter. Därmed kan servern reagera olika beroende på vilket hostnamn man ansluter med! Men det är inte alla protokoll som gör det! De flesta gör det faktiskt inte. RDP är ett protokoll som inte gör det.

Men, säger du så. Jag vill kunna speca ett portnummer tillsammans med ett hostname. Går det inte att lagra det i DNS på något vänster? Jodå. Det går. Det finns SRV-poster där man kan lägga till en massa bra saker, som portnummer, flera olika servrar, prioritetsordningar, etc. Problemet är bara att klienten som ansluter måste ha vettet att fråga efter en SRV-record. Och det är rätt ovanligt. Det hör till undantagen att en klient stödjer detta, och i såfall är det fråga om särskilda applikationer, som t.ex. IP-telefoni.

Det är därför det inte går att göra så här. Inte att det är teoretiskt omöjligt att bygga ett system som gör det du vill, utan för att det rent praktiskt inte fungerar så med de flesta protokoll med det som finns på marknaden idag.

Permalänk
Medlem

Eftersom du bara har en IP-adress så har olika protokoll olika workarounds som fungerar på olika sätt.

Webbservrar är inget konstigt alls, alla som hostar webbsidor kör många olika domäner bakom samma IP. Så för din framtida webmail eller hemsida så är det inga konstigheter. Ligger tjänsterna i olika servrar använder man en server som reverse proxy.

För fjärrskrivbord finns en tjänst i Windows server som heter RD-gateway som man då måste ange i fjärrskrivbordsklienten innan man ansluter. Det är heller inte så bra att öppna fjärrskrivbord ut mot internet, vilket RD-gateway löser.

Permalänk

Där ser man, det var väldigt tråkiga besked ni kommer med.

Permalänk
Medlem

Shit, det är en otroligt dum idé att exponera Windows Remote Desktop mot internet..!
Det du är ute efter är VPN. Du ansluter med din roaming dator/surfplatta/smartphone till ditt egen tätverk med VPN och sen har du en egen DNS medelst pfSense som sköter domänuppslag. Du ansluter med hostname till enskilda datorer.

Skickades från m.sweclockers.com

Permalänk
Medlem

Inga problem att göra det du beskriver och det tar inte många minuter. Gör såhär (förutsatt att du har Apache2 som webbserver):
https://serverfault.com/questions/415780/how-to-point-sub-dom...

Permalänk
Medlem
Skrivet av hunterxx:

Inga problem att göra det du beskriver och det tar inte många minuter. Gör såhär (förutsatt att du har Apache2 som webbserver):
https://serverfault.com/questions/415780/how-to-point-sub-dom...

Och förutsatt att det är en webbserver inblandad till att börja med.....
Internet är rätt mycket mer än bara websidor och HTTP.

Permalänk
Skrivet av Garmzon:

Shit, det är en otroligt dum idé att exponera Windows Remote Desktop mot internet..!
Det du är ute efter är VPN. Du ansluter med din roaming dator/surfplatta/smartphone till ditt egen tätverk med VPN och sen har du en egen DNS medelst pfSense som sköter domänuppslag. Du ansluter med hostname till enskilda datorer.

Skickades från m.sweclockers.com

Håller helt och hållet med om att det är en dum idé att exponera RDP mot Internet, men det är inte riktigt vad jag vill göra, kanske som en del i det hela men inte specifikt.

Det är ju en enkel sak att peka DNS:en mot mitt IP oavsett vilken subdomän (svengelska, jag vet) det gäller, det ingår i det jag betalar för domänen.
Frågan är ju mer hur jag får min router (f.n. pfSense, men det kan bytas) att översätta det sen till en specifik dator på mitt LAN, reverse proxy är något jag har hört talas om, men det verkar endast gälla web-trafik (port 80 och 443), och visst det är en del av det men inte allt, jag vill åstadkomma samma som en reverse proxy oavsett vilken port det gäller.

Ursäkta om det kanske är en något svårförståelig förklaring, jag är dock endast lekman.

Och det verkar ju enligt de bättre vetande vara ouppnåeligt på ett "överkomligt" sätt....