Hur knyta självhostade tjänster till subdomäner (ej HTTP-trafik)?

Permalänk
Medlem

Hur knyta självhostade tjänster till subdomäner (ej HTTP-trafik)?

Börjar med att upplysa om att jag har tummen mitt i handen när det gäller sånt här och att det är en total djungel för mig

Håller på och pillar lite med enkortsdatorer och hostar just nu bl.a. en Mumble-server och en FTPS-server. Har även skaffat mig en domän. Så långt allt väl men nu vill jag knyta dessa tjänster till subdomäner och där tar det stopp. Jag har bara en publik IP-adress. Efter lite halvhjärtat googlande utan att egentligen veta vad jag letar efter så kom jag in på reverse proxy och nginx.

Drog igång det på en av enkortsdatorerna, men som jag fattar det så fungerar det bara för webbservrar och HTTP-trafik? Mumble verkar främst vara UDP och FTPS går väl via TCP? Så nu är frågan hur bär jag mig åt för att knyta dessa till subdomäner?

I detta fall vill jag ha subdomänerna mumble.mindomän.se och ftp.mindomän.se som dirigerar till respektive tjänst. Det ska inte gå att också använda mindomän.se för att nå tjänsterna utan endast respektive subdomän. Jag tycker inte att det borde vara omöjligt att ha något som lyssnar på mumble.mindomän.se:*portnr* och dirigerar vidare trafiken till rätt enhet på det lokala nätverket, men vad vet jag.

Jag vet inte om de här paketen på något sätt identifierar sig och vilken domän de anropar.

Visa signatur

Ryzen 3600 | ASUS X470-F | 16GB B-die | GTX 1070

Permalänk
Medlem

HTTP är lite speciellt i och med att du där kan se vilken subdomän en viss uppkoppling försöker ansluta sig till på serversidan. Detta gör att flera domäner kan dela på en IP-address och ändå hanteras olika.

Detta är inte fallet rent generellt för nättjänster.
Klienter använder normalt DNS för att översätta ett (sub-)domännamn till en IP-address och ansluter sedan till den IP-addressen med ett visst portnummer (för TCP och UDP - inte alla transportprotokoll använder portnummer). Vilket domännamn som var involverat kan man normalt inte se på serversidan.

På serversidan så är det alltid så att servern lyssnar på IP-address:portnr, och inte på något namn.

Permalänk
Medlem
Skrivet av Erik_T:

HTTP är lite speciellt i och med att du där kan se vilken subdomän en viss uppkoppling försöker ansluta sig till på serversidan. Detta gör att flera domäner kan dela på en IP-address och ändå hanteras olika.

Detta är inte fallet rent generellt för nättjänster.
Klienter använder normalt DNS för att översätta ett (sub-)domännamn till en IP-address och ansluter sedan till den IP-addressen med ett visst portnummer (för TCP och UDP - inte alla transportprotokoll använder portnummer). Vilket domännamn som var involverat kan man normalt inte se på serversidan.

På serversidan så är det alltid så att servern lyssnar på IP-address:portnr, och inte på något namn.

Om jag förstår dig rätt så är det jag efterfrågar alltså inte möjligt? Skulle det krävas att jag hade ett separat publikt IP för varje subdomän? Eller hur bär sig folk åt som hostar liknande tjänster på separata subdomäner?

Visa signatur

Ryzen 3600 | ASUS X470-F | 16GB B-die | GTX 1070

Permalänk
Medlem

@fragande: Du kan använda dig utav olika port-nummer, vilket troligtvis dessa tjänster redan använder idag. Sedan redirectar du bara baserat på port i din router till vilken server lokalt som ska ansvara för trafiken.

Permalänk
Medlem
Skrivet av nikwad:

@fragande: Du kan använda dig utav olika port-nummer, vilket troligtvis dessa tjänster redan använder idag. Sedan redirectar du bara baserat på port i din router till vilken server lokalt som ska ansvara för trafiken.

Jo det är så det ser ut idag. Det jag skulle vilja ha är dock som sagt en separat subdomän för varje tjänst. För HTTP-trafik verkar detta rätt enkelt med reverse proxy men med tjänster som (i det här fallet) Mumble och FTP verkar det svårare. Jag kan ju registrera en subdomän som pekar på samma IP-adress som min huvuddomän, men det åstadkommer ju inte direkt något eftersom man då lika gärna kan använda huvuddomänen.

Egentligen har jag ingen direkt anledning till att ha en subdomän för varje tjänst, tyckte mer att det skulle vara tufft att ha det och vill lära mig hur det fungerar.

Visa signatur

Ryzen 3600 | ASUS X470-F | 16GB B-die | GTX 1070

Permalänk
Medlem

Traefik2 reverse proxy rekommenderar jag dig att kolla på.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem

Specifikt för HTTP löste jag det genom att dra mindomän.se till cloudflare, och sen endast tillåta http anslutningar i brandväggen från cloudflare's IP.
Men det tyvärr hjälper ju inte med ftp/mumble.

Om det är ok att ha ftp och mumble på samma ip så kan du ju alltid ha två register som leder till samma ip.
T.ex.
mumble.dindomän.se ip som leder hem
ftp.dindomän.se ip som leder hem
dindomän.se -> cloudflare

Annat tips som kanske skulle fungera för dig är att hosta mumble på oracle's gratis moln, där man får en singlecore cpu med 1gb ram gratis för evigt.(som jag tolkat det)
Då kan du ha ett register som pekar till mumble, ett till ftp(hem) och sen cloudflare till http

Visa signatur

Har jag uppgivit felaktig information? Rätta mig gärna, jag vet inte allt och kan ha fel.

Permalänk
Medlem

@fragande: Tbh, så förstår jag inte riktigt problemet, vill du att alla tjänster ska lyssna på samma port? Annars gör det ingen skillnad på om du har en subdomain eller inte för varje tjänst.
För tjänster så som mumble så använder sig inte tjänsten utav domain, utan den resolvar bara domain till ett ip som den senare använder, så om du har samma ip bakom varje subdomain så blir det ingen skillnad rent praktiskt, om du använder dig av din domain eller en subdomain. Men är det så att du har olika ip för varje tjänst så får du lägga till en record i din nameserver som motsvarar varje tjänst och dess ip.

Permalänk
Medlem
Skrivet av nikwad:

@fragande: Tbh, så förstår jag inte riktigt problemet, vill du att alla tjänster ska lyssna på samma port? Annars gör det ingen skillnad på om du har en subdomain eller inte för varje tjänst.
För tjänster så som mumble så använder sig inte tjänsten utav domain, utan den resolvar bara domain till ett ip som den senare använder, så om du har samma ip bakom varje subdomain så blir det ingen skillnad rent praktiskt, om du använder dig av din domain eller en subdomain.

Han vill att anslutning med FTP till ftp.mindomän.com skall fungera men inte FTP till mumble.mindomän.com eller FTP till mindomän.com
Motsvarande med Mumble - Mumble anslutningar skall bara fungera om de görs till mumble.mindomän.com och inte till någon annan subdomän.

Detta går inte att göra om man inte har en IP-address per subdomän.

Permalänk
Medlem

@Erik_T: Fast det är ju är ändå ett icke problem, för tjänsterna lyssnar ju inte på samma port, så en mumble server kommer ändå inte svara på en "ftp.dindomain.se" som en FTP server, om samma ip används och ligger på samma server.

Känslan säger mig att OP krånglar till något som är väldigt simpelt.

Permalänk
Medlem
Skrivet av nikwad:

@Erik_T: Fast det är ju är ändå ett icke problem, för tjänsterna lyssnar ju inte på samma port, så en mumble server kommer ändå inte svara på en "ftp.dindomain.se" om samma ip används och ligger på samma server.

Känslan säger mig att OP krånglar till något som är väldigt simpelt.

Det är väl precis det den kommer göra, eller?

Om du har mumble.domän.se och ftp.domän.se pekade till samma IP nummer så kommer du ju kunna ansluta till din mumble-server med båda adresserna, för du kan väl inte sätta en subdomän till en specifik port? Det är ju routern där man pekar portarna som gör det jobbet

Eller tänker jag helt snett nu? Så är det iaf för mig, jag kan nå alla mina tjänster via samma subdomän. (Men för mig spelar det ingen roll, tycker mest det är smidigt)

Visa signatur

Main: Strix B550-F | R9 5950X | 32GB@3600MHz | ASUS 3080 TUF | KC3000 | RM850 | LG 48CX
Server: Strix B450-I | R7 2700X | 64GB | 2x1TB 970 EVO Raid | 2TB BX500 | SF450

Permalänk
Medlem
Skrivet av nikwad:

@Erik_T: Fast det är ju är ändå ett icke problem, för tjänsterna lyssnar ju inte på samma port, så en mumble server kommer ändå inte svara på en "ftp.dindomain.se" som en FTP server, om samma ip används och ligger på samma server.

Känslan säger mig att OP krånglar till något som är väldigt simpelt.

Visst är det ett icke-problem, men OP visste uppenbarligen inte om det var lätt eller svårt eller omöjligt att sätta upp saker på det vis han frågade om.

Permalänk
Medlem
Skrivet av macmann1:

Om du har mumble.domän.se och ftp.domän.se pekade till samma IP nummer så kommer du ju kunna ansluta till din mumble-server med båda adresserna, för du kan väl inte sätta en subdomän till en specifik port?

Alldeles riktigt.

Permalänk
Medlem

Det är lite naivt att tro att man styr över namnuppslaget till sin domän också. Det är ju bara att ändra i sin lokala hosts-fil, sedan kan man ansluta med apsex.com eller vad som helst om man tycker det är kul. I alla fall så länge vi pratar om protokoll som inte skickar domänen i nyttotrafiken, likt HTTPs Host-header.

Permalänk
Medlem

Du skulle kunna titta på Caddy också, riktigt smidig (https://caddyserver.com).

Visa signatur
Permalänk
Medlem
Skrivet av Erik_T:

Alldeles riktigt.

Well, med Traefik så kan du ju styra vilken subdomän som skall lyssa på en given port osv. Att knyta subdomäner till docker containers servade över https använder jag det till och sedan går allt via authelia för att skydda tjänster av olika slag.

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem
Skrivet av inquam:

Well, med Traefik så kan du ju styra vilken subdomän som skall lyssa på en given port osv.

Även för andra protokoll än HTTP/HTTPS? Det har jag svårt att tro på.

Permalänk
Medlem
Skrivet av Erik_T:

Även för andra protokoll än HTTP/HTTPS? Det har jag svårt att tro på.

Traefik har "stöd" för http, https och tcp/udp vad jag minns. Har själv testat köra tex en CSGO server bakom osv.

https://docs.traefik.io/routing/routers/#configuring-tcp-rout...

Visa signatur

Huvudriggen är en Gigabyte Aorus Xtreme | 128gb DDR5 6000 | Ryzen 7950X | 3080Ti
Utöver det är det för många datorer, boxar och servar för att lista :P

Permalänk
Medlem

Du behöver förstå hur dns fungerar. En FQDN (typ www.aftonbladet.se) översätts till en ip-address.
Även om du använder en subdomän översätts det till ett ip nr som pekar på din dator. Alla dina subdomäner kommer peka på samma ip. För att lösa detta i ipv4 använder man något son heter NAT, dvs att man mappar en port mot en specifik tjänst. Du kan i din router/fw köra portforward mha NAT till dina olika enkortsdatorer.

Lösningen för dig är:
- Kör ipv6 då kan du ha flera publika ip:n, och slipper problematik med NAT.
Mång isp:er stödjer inte ipv6.
- Använd en dns -tjäns som stödjer page rules , proxy etc
Kolla på cloudflare. Där kan du köra gratis, den kan dölja hostnamn och alias, dvs
du använder mumble.dindomän.se och hamnar på dinrouter.dindomän.se, detta visas inte i browsern då cloudflare
döljer detta. Finns många andra tjänster som gör detta också.

Alltså i grund och botten för Ipv4 så är receptet att fronta flera tjänster på olika fysiska maskiner NAT. NAT mappas med en port, dv IP:Port, dns används för att översätta domän-namn, eftersom du bara har ett publikt ip kommer du behöva använda samma ip för alla dina tjänster. DNS översätts normalt inte av dig utan av en annan part.

Visa signatur

RedHat <3 CentOS <3 OpenSuse <3 FreeBSD

Permalänk
Medlem

@DuckMuck:

NAT (Network Adress Translation) är inte en lösning på problemet, och är inte avsedd att vara det.
NAT används för att kunna ha flera datorer med privata IP-addresser bakom en publik IP-address. För utgående nätanslutningar så kommer NAT-hanteraren komma ihåg dem så att svaren från utsidan kan skickas till rätt dator på .insidan.
För de fall man har servrar på insidan av ett NAT, så går det att konfigurera NAT-hanteraren att skicka de till olika datorer beroende på protokoll (TCP, UDP, ICMP, etc.) och port (när det är relevant). Detta förutsatt att det är du själv och inte din ISP som kör NAT.

Allt detta känner OP säkert redan till eftersom alla som har flera datorer bakom en publik IP-address använder NAT, och för att kunna sätta upp någon server bakom NAT (vilket han gjort) så krävs konfigurering av port-forwarding.

Men, men, som också har nämnts åtskilliga gånger i tråden så hjälper inget av detta att använda subdomäner för att separera trafik, eftersom med bara en publik IP-address så kommer alla subdomäner att översättas till samma IP-address och när sedan själva anslutningen görs så har all information om vilken sub-domän som användes försvunnit.

Att sätta upp så att t.ex. mumble.mindomän.se och ftp.mindomän.se båda mappas till samma IP och sedan dirigera trafiken baserat på port-nummer till olika servrar på insidan av NAT är nästintill trivialt, och något som OP verkar veta hur man gör.

Vad OP ville veta hur man gör, och som inte är möjligt med bara en publik IP-address, är att göra så (t.ex) FTP-anslutningar endast fungerar om de görs till ftp.mindomän.se och inte fungerar om de görs till mumble.mindomän.se.
Detta går att göra för just HTTP så att en anslutning till www1.mindomän.se och en till www2.mindomän.se hanteras av olika datorer trots att bägge addresserna översätts till samma IP-address. Detta går då HTTP-paketen innehåller information om domännamn, vilket få andra nätverksprotokoll gör.

Så för att sammanfatta: Det OP frågade efter är omöjligt, men det finns en massa olika workarounds som fungerar alldeles utmärkt i praktiken. OP har redan svarat i tråden att han inte hade något egentligt behov av den lösning han efterfrågade, utan att det mest var för att han tyckte att det skulle vara snyggt och för att lära sig hur.

Permalänk
Medlem
Skrivet av Erik_T:

NAT (Network Adress Translation) är inte en lösning på problemet, och är inte avsedd att vara det.
NAT används för att kunna ha flera datorer med privata IP-addresser bakom en publik IP-address. För utgående nätanslutningar så kommer NAT-hanteraren

Här har du fel, NAT och portforwarding avser precis att lösa just det problemet, från wikipedia:
"In computer networking, port forwarding or port mapping is an application of network address translation (NAT) that redirects a communication request from one address and port number combination to another while the packets are traversing a network gateway, such as a router or firewall. "

Portforwarding och NAT kan används för att hantera datorer bakom en fw som i sin tur exponerar tjänster mha port. Det kan vara samma enhet eller olika enheter.

Skrivet av Erik_T:

Allt detta känner OP säkert redan till eftersom alla som har flera datorer bakom en publik IP-address använder NAT, och för att kunna sätta upp någon server bakom NAT (vilket han gjort) så krävs konfigurering av port-forwarding.

I mitt tycke verkar OP sakna förståelse för NAT, IPV4 och DNS, därför kan det vara bra att ge lite information så man kan lära sig fel.

Skrivet av Erik_T:

Men, men, som också har nämnts åtskilliga gånger i tråden så hjälper inget av detta att använda subdomäner för att separera trafik, eftersom med bara en publik IP-address så kommer alla subdomäner att översättas till samma IP-address och när sedan själva anslutningen görs så har all information om vilken sub-domän som användes försvunnit.

Det var väl precis det jag skrev?

Skrivet av Erik_T:

Så för att sammanfatta: Det OP frågade efter är omöjligt, men det finns en massa olika workarounds som fungerar alldeles utmärkt i praktiken. OP har redan svarat i tråden att han inte hade något egentligt behov av den lösning han efterfrågade, utan att det mest var för att han tyckte att det skulle vara snyggt och för att lära sig hur.

Här håller jag med.

/D

Visa signatur

RedHat <3 CentOS <3 OpenSuse <3 FreeBSD

Permalänk
Medlem

Väckte mer diskussion än jag förväntande mig Tack för alla svar och nya insikter.

Skrivet av inquam:

Traefik2 reverse proxy rekommenderar jag dig att kolla på.

Ska ta en titt, tack.

Skrivet av Zeedarn:

Specifikt för HTTP löste jag det genom att dra mindomän.se till cloudflare, och sen endast tillåta http anslutningar i brandväggen från cloudflare's IP.
Men det tyvärr hjälper ju inte med ftp/mumble.

Om det är ok att ha ftp och mumble på samma ip så kan du ju alltid ha två register som leder till samma ip.
T.ex.
mumble.dindomän.se ip som leder hem
ftp.dindomän.se ip som leder hem
dindomän.se -> cloudflare

Annat tips som kanske skulle fungera för dig är att hosta mumble på oracle's gratis moln, där man får en singlecore cpu med 1gb ram gratis för evigt.(som jag tolkat det)
Då kan du ha ett register som pekar till mumble, ett till ftp(hem) och sen cloudflare till http

Det skulle ju vara en lösning men har som sagt egentligen ingen vettig anledning till att ha subdomäner för tjänsterna. Vill också "självhosta" det jag håller på med.

Skrivet av nikwad:

@fragande: Tbh, så förstår jag inte riktigt problemet, vill du att alla tjänster ska lyssna på samma port? Annars gör det ingen skillnad på om du har en subdomain eller inte för varje tjänst.
För tjänster så som mumble så använder sig inte tjänsten utav domain, utan den resolvar bara domain till ett ip som den senare använder, så om du har samma ip bakom varje subdomain så blir det ingen skillnad rent praktiskt, om du använder dig av din domain eller en subdomain. Men är det så att du har olika ip för varje tjänst så får du lägga till en record i din nameserver som motsvarar varje tjänst och dess ip.

Nej, det finns som sagt inget egentligt problem Tyckte mest att det skulle vara tufft att ha det så och gissade på att det skulle gå att lösa relativt enkelt då jag hört talas om reverse proxy i periferin tidigare, men inser nu att det är för HTTP-trafik som det är enkelt att lösa.

Skrivet av nikwad:

@Erik_T: Fast det är ju är ändå ett icke problem, för tjänsterna lyssnar ju inte på samma port, så en mumble server kommer ändå inte svara på en "ftp.dindomain.se" som en FTP server, om samma ip används och ligger på samma server.

Känslan säger mig att OP krånglar till något som är väldigt simpelt.

Skrivet av Erik_T:

Visst är det ett icke-problem, men OP visste uppenbarligen inte om det var lätt eller svårt eller omöjligt att sätta upp saker på det vis han frågade om.

Skrivet av Erik_T:

@DuckMuck:

NAT (Network Adress Translation) är inte en lösning på problemet, och är inte avsedd att vara det.
NAT används för att kunna ha flera datorer med privata IP-addresser bakom en publik IP-address. För utgående nätanslutningar så kommer NAT-hanteraren komma ihåg dem så att svaren från utsidan kan skickas till rätt dator på .insidan.
För de fall man har servrar på insidan av ett NAT, så går det att konfigurera NAT-hanteraren att skicka de till olika datorer beroende på protokoll (TCP, UDP, ICMP, etc.) och port (när det är relevant). Detta förutsatt att det är du själv och inte din ISP som kör NAT.

Allt detta känner OP säkert redan till eftersom alla som har flera datorer bakom en publik IP-address använder NAT, och för att kunna sätta upp någon server bakom NAT (vilket han gjort) så krävs konfigurering av port-forwarding.

Men, men, som också har nämnts åtskilliga gånger i tråden så hjälper inget av detta att använda subdomäner för att separera trafik, eftersom med bara en publik IP-address så kommer alla subdomäner att översättas till samma IP-address och när sedan själva anslutningen görs så har all information om vilken sub-domän som användes försvunnit.

Att sätta upp så att t.ex. mumble.mindomän.se och ftp.mindomän.se båda mappas till samma IP och sedan dirigera trafiken baserat på port-nummer till olika servrar på insidan av NAT är nästintill trivialt, och något som OP verkar veta hur man gör.

Vad OP ville veta hur man gör, och som inte är möjligt med bara en publik IP-address, är att göra så (t.ex) FTP-anslutningar endast fungerar om de görs till ftp.mindomän.se och inte fungerar om de görs till mumble.mindomän.se.
Detta går att göra för just HTTP så att en anslutning till www1.mindomän.se och en till www2.mindomän.se hanteras av olika datorer trots att bägge addresserna översätts till samma IP-address. Detta går då HTTP-paketen innehåller information om domännamn, vilket få andra nätverksprotokoll gör.

Så för att sammanfatta: Det OP frågade efter är omöjligt, men det finns en massa olika workarounds som fungerar alldeles utmärkt i praktiken. OP har redan svarat i tråden att han inte hade något egentligt behov av den lösning han efterfrågade, utan att det mest var för att han tyckte att det skulle vara snyggt och för att lära sig hur.

Precis som du säger är det ett icke-problem. Mer eller mindre avancerade (i alla fall för mig ) workarounds är inget jag har behov av eller känner är värt att lägga ner tid på. Jag hade föreställt mig att det skulle vara ungefär lika enkelt som det verkade vara att slänga upp en reverse proxy för en webbserver. Har nu lärt mig att det inte är så.

Visa signatur

Ryzen 3600 | ASUS X470-F | 16GB B-die | GTX 1070

Permalänk
Hedersmedlem

@fragande: Det finns ju förresten inget som säger att du fortfarande inte kan ha mumble.dindomän.se etc som olika hostnamn även om allt går till samma IP. Det förenklar ju om du någonsin ska dela upp något på flera servrar / IP-adresser i framtiden.

Permalänk
Medlem

Hej TS

Efter att ha läst igenom tråden "ganska" noggrant
Har jag förstått dig rätt då att du vill ha 1 tjänst (ftp) kopplat till din subdomän t.ex. FTP.FQDN.TLD ?
Och nästa tjänst (mumble server) kopplat till nästa subdomän t.ex. mumble.FQDN.TLD
Du vill helst även göra detta från enbart 1 server / 1 dator via nginx + reverse proxy?
Om så är fallet så går det utmärkt att göra detta

Det du gör är att sätta upp nginx i RP med TLS, sen skapar du proxy .conf's för mumble och din ftp.
Du kan precis som du ville även se till att FQDN.TLD inte går någonstans,
Så om nån navigerar till t.ex. mindomän.se så får dom upp ett error meddelande, att sidan inte laddas,
ev. en vit sida, eller så kan man se till att man omdirigeras dit man nu vill att huvud sajten ska gå.

För att ftp ska fungera så behöver du ha en webbaserad ftp client t.ex. denna
https://github.com/mickael-kerjean/filestash
kopplat till ftp backend, och sen berättar du för nginx i proxy .conf hur port och syntax ska hantera ftp.

Men jag vill gärna ge dig ett tips att istället för ftp så använder du nextcloud, då nc har mycket högre säkerhet och kan göra allt som en ftp kan.

Skulle det vara så att du har flera servrar på olika publika IP:n och önskar att knyta dom till ett och samma domännamn, så använder du A Record inte CNAME.

Det går även utmärkt att ha flera servrar inom ett lokalt lan, och sen använda lokalt ip nummer för att bestämma vilken tjänst som ska vara kopplat till vilken server från ett och samma publika ip nummer 😁😊😋

(FQDN.TLD = Fully Qualified Domain Name.Top Level Domain)

Visa signatur

[ Fractal Design Define S Svart ] [ ASUS ProArt X670E-Creator WIFI ] [ Amd Ryzen 9 7950x3D ]
[ G.Skill Trident 64GB DDR5 6000MHz ] [ Noctua NH-D15 Chromax Black ]
[ Western Digital Black SN850X 1TB Gen4 ] [ Samsung 870 QVO 2TB MZ-77Q2T0BW ]
[ ASUS TUF GeForce RTX 3080 10GB Gaming OC ]
[ Corsair AX860 80 Plus Platinum ] [ Gigabyte 32" M32U IPS 4K 144 Hz HDMI 2.1 ]