
Chcesz uruchomić serwer Minecraft z domu bez ujawniania swojego adresu IP? Możesz! Wystarczy skonfigurować bezpłatny serwer proxy w Amazon Web Services, aby chronić swój serwer przed atakami typu „odmowa usługi”. Pokażemy Ci jak.
Ten przewodnik będzie działał na każdym serwerze gier, nie tylko Minecraft. Wszystko, co robi, to ruch proxy na określonym porcie. Musisz tylko zmienić port Minecrafta 25565 na dowolny port, na którym działa twój serwer gry.
Jak to działa?
Załóżmy, że chcesz hostować serwer Minecraft i otworzyć go w Internecie. Nie jest tak trudno go uruchomić. Są łatwe w instalacji, używają tylko jednego wątku przetwarzania, a nawet mocno zmodyfikowane serwery nie zajmują więcej niż 2 do 3 GB pamięci RAM z kilkoma graczami online. Możesz łatwo uruchomić serwer na starym laptopie lub w tle na komputerze stacjonarnym, zamiast płacić komuś innemu za hosting.
Ale aby ludzie mogli się z nim połączyć, musisz podać swój adres IP. To stwarza kilka problemów. Jest to poważne zagrożenie bezpieczeństwa, zwłaszcza jeśli router nadal ma domyślne hasło administratora. Otwiera to również na ataki rozproszonej odmowy usługi (DDOS), które nie tylko zatrzymałyby Twój serwer Minecraft, ale także mogłyby wyłączyć Twój Internet, dopóki atak nie ustąpi.
Nie musisz zezwalać ludziom na bezpośrednie łączenie się z routerem. Zamiast tego możesz wypożyczyć małe pudełko z Linuksem od Amazon Web Services, Platforma Google Cloudlub Microsoft Azure — wszystkie z nich mają bezpłatne warstwy. Ten serwer nie musi być wystarczająco silny, aby obsługiwać serwer Minecraft — po prostu przekazuje połączenie za Ciebie. Pozwala to na podanie adresu IP serwera proxy zamiast własnego.
Powiedzmy, że ktoś chce połączyć się z twoim serwerem, więc wpisuje adres IP twojego serwera proxy AWS do swojego klienta Minecraft. Pakiet jest wysyłany do serwera proxy na porcie 25565 (domyślny port Minecrafta). Serwer proxy jest skonfigurowany tak, aby pasował do ruchu na porcie 25565 i przekazywał go do domowego routera. Dzieje się to za kulisami — osoba łącząca się nawet nie wie.
Twój router domowy musi być następnie przekierowany na port, aby przekierować połączenie dalej do rzeczywistego komputera. Twój komputer uruchamia serwer i odpowiada na pakiet klienta. Przekazuje go z powrotem do serwera proxy, a następnie proxy przepisuje pakiet, aby wyglądał, jakby odpowiadał serwer proxy. Klient nie ma pojęcia, że tak się dzieje i po prostu myśli, że proxy to system, na którym działa serwer.
To tak, jakby dodać kolejny router przed serwerem w taki sam sposób, w jaki router domowy chroni komputer. Ten nowy router działa jednak na Amazon Web Services i otrzymuje pełną ochronę przed atakami DDOS w warstwie transportowej, która jest dostarczana bezpłatnie z każdą usługą AWS (o nazwie Tarcza AWS). Jeśli atak zostanie wykryty, zostanie on automatycznie złagodzony bez zawracania sobie głowy serwerem. Jeśli to nie jest?zatrzymany z jakiegoś powodu, zawsze możesz wyłączyć instancję i odciąć połączenie z domem.
Aby obsłużyć proxy, użyj narzędzia o nazwie sslh
. Jest przeznaczony do multipleksowania protokołów; jeśli chcesz uruchomić SSH (zwykle port 22) i HTTPS (port 443) na tym samym porcie, napotkasz problemy. sslh
siedzi z przodu i przekierowuje porty do zamierzonych aplikacji, rozwiązując ten problem. Robi to jednak na poziomie warstwy transportowej, tak jak router. Oznacza to, że możemy dopasować ruch z Minecrafta i przekazać go na Twój serwer domowy. sslh
jest domyślnie nieprzezroczysty, co oznacza, że przepisuje pakiety, aby ukryć twój domowy adres IP. To sprawia, że nikt nie może go wywęszyć za pomocą czegoś takiego jak Wireshark.
Utwórz nowy serwer VPS i połącz się z nim
Aby rozpocząć, skonfigurowałeś serwer proxy. Jest to zdecydowanie łatwiejsze, jeśli masz trochę doświadczenia z Linuksem, ale nie jest to wymagane.
Zmierzać do Usługi internetowe Amazon i załóż konto. Musisz podać dane swojej karty debetowej lub kredytowej, ale to tylko po to, aby ludzie nie tworzyli zduplikowanych kont; nie płacisz za instancję, którą tworzysz. Bezpłatna warstwa wygasa po roku, więc upewnij się, że wyłączysz ją po jej zakończeniu. Platforma Google Cloudma i f1-micro
instancja dostępna za darmo przez cały czas, jeśli wolisz jej używać. Google oferuje również kredyt w wysokości 300 USD na rok, który można wykorzystać do uruchomienia odpowiedniego serwera w chmurze.
AWS pobiera trochę opłat za przepustowość. Dostajesz 1 GB za darmo, ale podlegasz opodatkowaniu w wysokości 0,09 USD za GB za wszystko ponad to. Realistycznie rzecz biorąc, prawdopodobnie nie przejdziesz przez to, ale miej oko na to, jeśli zobaczysz 20-centową opłatę na swoim rachunku.
Po utworzeniu konta wyszukaj „EC2”. To jest wirtualna platforma serwerowa AWS. Być może będziesz musiał trochę poczekać, aż AWS włączy EC2 dla twojego nowego konta.
Na karcie „Instancje” wybierz „Uruchom instancję”, aby wyświetlić kreatora uruchamiania.
Jako system operacyjny można wybrać domyślny „Amazon Linux 2 AMI” lub „Ubuntu Server 18.04 LTS”. Kliknij przycisk Dalej, a zostaniesz poproszony o wybranie typu instancji. Wybierz t2.micro
, który jest instancją w warstwie Bezpłatna. Możesz uruchomić tę instancję 24/7 na bezpłatnym poziomie AWS.
Wybierz „Przejrzyj i uruchom”. Na następnej stronie wybierz „Uruchom” i zobaczysz poniższe okno dialogowe. Kliknij „Utwórz nową parę kluczy”, a następnie „Pobierz parę kluczy”. To jest Twój klucz dostępu do instancji, więc nie zgub go — umieść go w folderze Dokumenty na przechowanie. Po pobraniu kliknij „Uruchom instancje”.
Wróciłeś do strony instancji. Poszukaj publicznego adresu IP IPv4 swojej instancji, który jest adresem serwera. Jeśli chcesz, możesz skonfigurować elastyczny adres IP AWS (który nie zmieni się po ponownym uruchomieniu), a nawet bezpłatną nazwę domeny z dot.tk, jeśli nie chcesz wracać na tę stronę, aby znaleźć adres.
Zapisz adres na później. Najpierw musisz edytować zaporę sieciową instancji, aby otworzyć port 25565. Na karcie Grupy zabezpieczeń wybierz grupę, której używa twoja instancja (prawdopodobnie uruchom-wizard-1), a następnie kliknij „Edytuj”.
Dodaj nową niestandardową regułę TCP i ustaw zakres portów na 25565. Źródło powinno być ustawione na „Wszędzie” lub 0.0.0.0/0
.
Zapisz zmiany i aktualizacje zapory.
Przejdźmy teraz do SSH na serwerze, aby skonfigurować proxy; jeśli korzystasz z systemu macOS/Linux, możesz otworzyć terminal. Jeśli korzystasz z systemu Windows, musisz użyć klienta SSH, na przykład Kit lub zainstaluj podsystem Windows dla systemu Linux. Polecamy to drugie, ponieważ jest bardziej spójne.
Pierwszą rzeczą, którą powinieneś zrobić, tocd
do folderu dokumentów, w którym znajduje się plik klucza:
cd ~/Documents/
Jeśli używasz podsystemu Windows dla systemu Linux, dysk C znajduje się w /mnt/c/
, i musisz przejść do folderu dokumentów:
cd /mnt/c/Users/username/Documents/
Użyj -i
flaga, aby poinformować SSH, że chcesz użyć pliku klucza do połączenia. Plik ma .pem
rozszerzenie oznaczające, że jest to Plik PEM, więc powinieneś uwzględnić to:
ssh -i keyfile.pem [email protected]
Zastępować „0.0.0.0
” z Twoim adresem IP. Jeśli utworzyłeś serwer Ubuntu, a nie AWS Linux, połącz się jako użytkownik „ubuntu”.
Powinieneś mieć przyznany dostęp i zobaczyć, jak wiersz poleceń zmienia się w wierszu serwera.
Skonfiguruj SSLH
Chcesz zainstalować sslh
od menedżera pakietów. W przypadku AWS Linux byłoby to yum
, w przypadku Ubuntu używasz apt-get
. Może być konieczne dodanie repozytorium EPEL w systemie AWS Linux:
sudo yum install epel-release
sudo yum install sslh
Po zainstalowaniu otwórz plik konfiguracyjny za pomocą nano
:
nano /etc/default/sslh
Zmienić RUN=
parametr na „tak”:
Poniżej finału DAEMON
wpisz:
DAEMON_OPTS=”–user sslh –listen 0.0.0.0:25565 –anyprot your_ip_address:25565 –pidfile /var/run/sslh/sslh.pid
Zastępować „your_ip_address
” z Twoim domowym adresem IP. Jeśli nie znasz swojego adresu IP, wyszukaj „jaki jest mój adres IP?” w Google – tak, poważnie.
Ta konfiguracja sprawia, że sslh
proxy nasłuchuj na wszystkich urządzeniach sieciowych na porcie 25565. Zastąp to innym numerem portu, jeśli twój klient Minecraft używa czegoś innego lub grasz w inną grę. Zwykle z sslh
, dopasowujesz różne protokoły i kierujesz je w różne miejsca. Jednak dla naszych celów chcemy po prostu dopasować cały możliwy ruch i przekazać go do your_ip_address:25565
.
Naciśnij klawisze Control+X, a następnie Y, aby zapisać plik. Wpisz następujące polecenie, aby włączyć sslh
:
sudo systemctl enable sslh
sudo systemctl start sslh
Jeśli systemctl
nie jest dostępna w Twoim systemie, może być konieczne użycie service
zamiast tego polecenia.
sslh
powinien teraz działać. Upewnij się, że router domowy przekierowuje porty i wysyła ruch 25565 do komputera. Możesz nadać komputerowi statyczny adres IP, aby to się nie zmieniło.
Aby sprawdzić, czy ludzie mogą uzyskać dostęp do Twojego serwera, wpisz adres IP serwera proxy wsprawdzanie statusu online. Możesz także wpisać adres IP serwera proxy do swojego klienta Minecraft i spróbować dołączyć. Jeśli to nie zadziała, upewnij się, że porty w grupach zabezpieczeń instancji są otwarte.