Chcete provozovat Minecraft server z domova bez odhalení vaší IP adresy? Můžeš! Stačí nastavit bezplatný server proxy s webovými službami Amazon a chránit váš server před útoky typu denial-of-service. Ukážeme vám jak.
Tato příručka bude fungovat pro jakýkoli herní server, nejen pro Minecraft. Vše, co dělá, je provoz proxy na konkrétním portu. Stačí změnit port Minecraftu 25565 na port, na kterém běží váš herní server.
Table of Contents
Jak tohle funguje?
Řekněme, že chcete hostit server Minecraft a mít jej otevřený na internetu. Není tak těžké ho spustit. Snadno se instalují, používají pouze jedno procesní vlákno a dokonce i silně modifikované servery nezaberou více než 2 až 3 GB RAM s několika hráči online. Můžete snadno provozovat server na starém notebooku nebo na pozadí na svém stolním počítači, než platit někomu jinému, aby jej hostil za vás.
Ale aby se k němu lidé mohli připojit, musíte zadat svou IP adresu. To představuje několik problémů. Je to velké bezpečnostní riziko, zvláště pokud má váš router stále výchozí heslo správce. Nechává vás také otevřenými útokům distribuovaného odmítnutí služby (DDOS), které by nejen zastavily váš server Minecraft, ale mohly by také vypnout váš internet, dokud útok nepomine.
Nemusíte lidem povolit připojení přímo k vašemu routeru. Místo toho si můžete pronajmout malý linuxový box od Amazon Web Services, Google Cloud Platformnebo Microsoft Azure – všechny mají bezplatné úrovně. Tento server nemusí být dostatečně silný, aby hostoval server Minecraft – pouze za vás předá spojení. To vám umožní poskytnout IP adresu proxy serveru místo vaší vlastní.
Řekněme, že se někdo chce připojit k vašemu serveru, a tak zadá IP adresu vašeho AWS proxy do svého klienta Minecraft. Paket je odeslán na proxy na portu 25565 (výchozí port Minecraftu). Proxy je nakonfigurován tak, aby odpovídal provozu na portu 25565 a předal jej vašemu domácímu routeru. To se děje v zákulisí – osoba, která se připojuje, o tom ani neví.
Váš domácí router pak musí být přesměrován, aby bylo možné předat připojení dále vašemu skutečnému PC. Váš počítač běží na serveru a odpovídá na paket klienta. Předá to zpět proxy a pak proxy paket přepíše, aby to vypadalo, že odpovídá proxy. Klient nemá tušení, že se to děje, a jednoduše si myslí, že proxy je systém, na kterém běží server.
Je to jako přidat další router před server stejným způsobem, jakým váš domácí router chrání váš počítač. Tento nový router však běží na Amazon Web Services a získává úplné zmírnění DDOS transportní vrstvy, které je zdarma ke každé službě AWS (s názvem AWS Shield). Pokud je detekován útok, je automaticky zmírněn, aniž by obtěžoval váš server. Pokud se z nějakého důvodu nezastaví, vždy můžete instanci vypnout a přerušit připojení k vašemu domu.
Pro zpracování proxy serveru použijte nástroj sslh. Je určen pro multiplexování protokolů; pokud byste chtěli spustit SSH (obvykle port 22) a HTTPS (port 443) na stejném portu, narazili byste na problémy. sslh sedí vpředu a přesměrovává porty na zamýšlené aplikace, čímž tento problém řeší. Ale dělá to na úrovni transportní vrstvy, stejně jako router. To znamená, že můžeme porovnat provoz z Minecraftu a přeposlat ho na váš domovský server. sslh je ve výchozím nastavení netransparentní, což znamená, že přepisuje pakety, aby skryl vaši domácí IP adresu. To znemožňuje, aby to někdo vyčmuchal s něčím podobným Wireshark.
Vytvořte a připojte se k novému VPS
Chcete-li začít, nastavili jste proxy server. To je rozhodně jednodušší, pokud máte nějaké zkušenosti s Linuxem, ale není to vyžadováno.
Vydejte se Webové služby Amazon a vytvořte si účet. Musíte poskytnout informace o své debetní nebo kreditní kartě, ale to jen proto, abyste zabránili lidem vytvářet duplicitní účty; za instanci, kterou vytváříte, neplatíte. Bezplatná úroveň vyprší po roce, takže ji po dokončení vypněte. Google Cloud Platform má neustále zdarma k dispozici instanci f1-micro, pokud ji chcete raději používat. Google také nabízí kredit 300 $ na rok, který byste mohli skutečně použít k provozování správného cloudového serveru.
AWS si trochu účtuje za šířku pásma. Získáte 1 GB zdarma, ale za cokoli nad tento limit se platí daň 0,09 USD za GB. Realisticky to pravděpodobně nepřejdete, ale sledujte to, pokud na svém účtu uvidíte poplatek ve výši 20 centů.
Po vytvoření účtu vyhledejte „EC2“. Toto je platforma virtuálního serveru AWS. Možná budete muset chvíli počkat, než AWS povolí EC2 pro váš nový účet.
Na záložce „Instance“ vyberte „Spustit instanci“ a vyvolejte průvodce spuštěním.
Jako operační systém můžete vybrat výchozí „Amazon Linux 2 AMI“ nebo „Ubuntu Server 18.04 LTS“. Klepněte na tlačítko Další a budete požádáni o výběr typu instance. Vyberte t2.micro, což je bezplatná instance úrovně. Tuto instanci můžete provozovat 24/7 na bezplatné úrovni AWS.
Vyberte „Zkontrolovat a spustit“. Na další stránce vyberte „Spustit“ a zobrazí se dialogové okno níže. Klikněte na „Vytvořit nový klíčový pár“ a poté klikněte na „Stáhnout klíčový pár“. Toto je váš přístupový klíč k instanci, takže jej neztraťte – umístěte jej do složky Dokumenty pro bezpečné uložení. Po stažení klikněte na „Spustit instance“.
Vrátíte se zpět na stránku instancí. Vyhledejte veřejnou IP IPv4 vaší instance, což je adresa serveru. Pokud chcete, můžete nastavit AWS Elastic IP (která se po restartu nezmění) nebo dokonce bezplatný název domény s tečka.tk, pokud se nechcete stále vracet na tuto stránku, abyste našli adresu.
Uložte adresu na později. Nejprve musíte upravit bránu firewall instance tak, aby se otevřel port 25565. Na kartě Skupiny zabezpečení vyberte skupinu, kterou vaše instance používá (pravděpodobně launch-wizard-1), a poté klikněte na „Upravit“.
Přidejte nové vlastní pravidlo TCP a nastavte rozsah portů na 25565. Zdroj by měl být nastaven na „Anywhere“ nebo 0.0.0.0/0.
Uložte změny a aktualizace brány firewall.
Nyní přejdeme k SSH na server, abychom nastavili proxy; pokud používáte macOS/Linux, můžete otevřít svůj terminál. Pokud používáte Windows, musíte použít klienta SSH, jako např Tmel nebo nainstalujte podsystém Windows pro Linux. Doporučujeme to druhé, protože je konzistentnější.
První věc, kterou byste měli udělat, je cd do složky dokumentů, kde je soubor klíče:
cd ~/Documents/
Pokud používáte podsystém Windows pro Linux, váš disk C se nachází v /mnt/c/ a musíte se přesunout do složky dokumentů:
cd /mnt/c/Users/username/Documents/
Pomocí parametru -i sdělte SSH, že chcete k připojení použít soubor klíčů. Soubor má příponu .pem, takže byste měli zahrnout následující:
ssh -i keyfile.pem [email protected]
Nahraďte „0.0.0.0“ svou IP adresou. Pokud jste vytvořili server Ubuntu namísto AWS Linux, připojte se jako uživatel „ubuntu“.
Měl by vám být udělen přístup a uvidíte, jak se váš příkazový řádek změní na příkazový řádek serveru.
Nakonfigurujte SSLH
Chcete nainstalovat sslh ze správce balíčků. Pro AWS Linux by to bylo mňam, pro Ubuntu použijete apt-get. Možná budete muset přidat úložiště EPEL na AWS Linux:
sudo yum install epel-release
sudo yum install sslh
Jakmile je nainstalován, otevřete konfigurační soubor pomocí nano:
nano /etc/default/sslh
Změňte parametr RUN= na „ano“:
Pod poslední řádek DAEMON zadejte následující:
DAEMON_OPTS="--user sslh --listen 0.0.0.0:25565 --anyprot your_ip_address:25565 --pidfile /var/run/sslh/sslh.pid
Nahraďte „your_ip_address“ svou domácí IP adresou. Pokud neznáte svou IP, hledejte „Jaká je moje IP adresa?“ na Googlu – ano, vážně.
Tato konfigurace umožňuje sslh proxy poslouchat na všech síťových zařízeních na portu 25565. Nahraďte toto číslo portu jiným číslem portu, pokud váš Minecraft klient používá něco jiného nebo hrajete jinou hru. Obvykle s sslh spárujete různé protokoly a směrujete je na různá místa. Pro naše účely však chceme jednoduše porovnat veškerý možný provoz a přeposlat jej na adresu your_ip_address:25565.
Stiskněte Control+X a potom Y pro uložení souboru. Chcete-li povolit sslh, zadejte následující:
sudo systemctl enable sslh
sudo systemctl start sslh
Pokud systemctl není ve vašem systému k dispozici, možná budete muset místo toho použít příkaz service.
sslh by nyní měl běžet. Ujistěte se, že váš domácí router přesměrovává porty a odesílá do vašeho počítače provoz 25565. Možná budete chtít dát svému počítači statickou IP adresu, aby se to nezměnilo.
Chcete-li zjistit, zda mají lidé přístup k vašemu serveru, zadejte IP adresu proxy do online kontrola stavu. Můžete také zadat IP svého proxy do svého Minecraft klienta a zkusit se připojit. Pokud to nefunguje, ujistěte se, že jsou porty otevřené ve skupinách zabezpečení vaší instance.