Otázky k přesměrování portů

Pro mě se snažím dosáhnout funkčnosti, která je mimo mé úzké chápání přesměrování portů. Zde je shrnutí:

Měl jsem dedikovaný počítač doma, na kterém jsem hostoval web (běžící na Apache) a server Nextcloud. Koupil jsem doménové jméno, abych mohl efektivně skrýt svou IP a zachovat ji trochu v bezpečí. Jediná skutečná funkce je pro mou rodinu sdílet soubory a poskytovat nějaké offsite úložiště a záložní místo pro důležité rodinné soubory. Můj místní router nasměroval provoz na portech 80 a 443 přímo na tento stroj.

Od té doby jsem zakoupil a nastavoval server Dell R720 doma, na kterém běží Proxmox 7.1-12. Migrací jsem přesunul obsah dedikovaného stroje na Ubuntu Server VM běžící na Proxmox. Tato migrace fungovala skvěle a bez problémů.

Nyní bych však rád umožnil členům rodiny přihlásit se k některým z dalších VM, které mám běžící na Proxmox. Například mám linuxový počítač vybavený řadou vzdělávacích/vedeckých programů, které by rodina mohla použít pro školní projekty. Potíže mám s tím, jak zpřístupnit přístup k těmto VM.

Jak přesměrovat (buď v routeru nebo na Proxmoxu) provoz tak, aby se někdo mohl přihlásit k VM? Jaké informace poskytnu uživateli, aby se mohl dostat k počítači?

Jakákoli pomoc je velmi vítána!

Koupil jsem doménové jméno, abych mohl efektivně skrýt svou IP a zachovat ji trochu v bezpečí.

To není výhoda doménového jména. Doménové jméno pouze ukazuje na vaši IP adresu. Nic neskrývá ani nechrání.

Potíže mám s tím, jak zpřístupnit přístup k těmto VM.

Jak přesměrovat (buď v routeru nebo na Proxmoxu) provoz tak, aby se někdo mohl přihlásit k VM? Jaké informace poskytnu uživateli, aby se mohl dostat k počítači?

Chtěli byste, aby použili VPN (máte VPN server na své síti), připojují se pomocí VPN klienta (doporučil bych Wireguard, ale jsou k dispozici i jiné možnosti)

Vytvořte uživatele v Proxmoxu, který jim umožní přístup k požadovaným VM. Když se připojí k VPN, použijí prohlížeč a přihlásí se do Proxmoxu.

Zde je odkaz na mé aktuální nastavení: https://ibb.co/fDJMDFm

Chtěl bych umožnit členům rodiny přihlásit se a používat VM SŠ.

Měl bych větší kontrolu, kdybych nastavil router tak, aby přesměroval veškerý provoz na IP Proxmox a pak nastavil iptables v Proxmoxu na analyzování provozu na jednotlivé VM?

Návrh nastavení VPN serveru je pravděpodobně nejlepší cesta, ale mohl bys také zkusit Apache guacamole, jestli ti to vyhovuje. Je to v podstatě brána pro vzdálený desktop, která běží v prohlížeči, není potřeba žádný klientský software, což znamená, že tvoje rodina nebude nic muset instalovat na zařízení, stačí zadat adresu a přihlásit se.

Pokud jsem správně pochopil, máš DNS doménu zaregistrovanou, která ukazuje na tvůj stroj, a vše funguje s jedním strojem. Máš domácí router, který tě připojuje k internetu a může také poskytovat přístup pro další stroje. Je nakonfigurován tak, aby přeposílal spojení na tvůj určený webserver a to vše funguje? Pokud ne, řešení toho je úplně jiná záležitost.

Teď chceš hostit více než jeden server na samostatných VM/kontejnerů.

Pokud jde jen o webové servery…

Snadné. Přidej VM nakonfigurovanou jako reverzní proxy. Nasměruješ příchozí připojení z routeru na ni, a ta je přesměruje na vnitřní servery. VPN není potřeba. Většina reverzních proxy podporuje autentizaci - používám nginx, kde mám přihlášení heslem, Google Auth a další autentizace. Pro rozlišení jednotlivých stránek je nejjednodušší vytvořit různé DNS záznamy ukazující na stejnou adresu.

Pokud chceš poskytnout SSH nebo nějakou vzdálenou plochu, je to úplně jiná hra. Nejjednodušší je VPN.

Díky za odpověď u/flaming_m0e. Ano, byla to trochu chyba, když jsem psal “skrytí IP”. Přemýšlel jsem vlastně o tom, aby rodina nemusela pamatovat na mou IP (a protože mi můj poskytovatel občas mění IP).

Každopádně, právě zkoumám Wireguard a vypadá jako skvělá možnost. Jsi obeznámen s nějakým dobrým návodem na nastavení Wireguard do bodu, kdy se uživatel připojí k VPN Wireguard a používá VM?

Mám pocit, že hledáš reverzní proxy. To ti umožní hostit více služeb na stejném IP:port a přesměrovat podle adresy, kterou zadáš (např. movies.yourdomain.com se pošle na 10.0.0.8:32400 a recipes.yourdomain.com na 10.0.0.72:80). Tento server budeš provozovat jako VM na Proxmoxu a port 80/443 budeš směrovat na něj.

To je skvělý přístup. Podívám se na to. Ještě jednou díky u/jafinn!

u/symcbean, váš první odstavce dobře popisuje mou situaci. Také vaše poslední tvrzení zachycuje můj záměr. Chtěl bych zveřejnit malou grafiku mého nastavení, ale mám potíže s tím to dosáhnout.

Jsi obeznámen s nějakým dobrým návodem na nastavení Wireguard do bodu, kdy se uživatel připojí k VPN Wireguard a používá VM?

Provozuji své Wireguard tunely na routeru, který je virtuální instancí VyOS uvnitř Proxmoxu. Připojení peerů bylo opravdu snadné nastavit.

Možná bys měl zvážit Tailscale pro “snadnost nastavení”.

u/jafinn, to velmi odpovídá funkcionalitě, kterou se snažím dosáhnout. Podívám se na toto řešení také!

Můžeš se podívat na Tailscale pro “snadné nastavení”.

Jednoduše nyní s dockerem.