Publiczny serwer Minecraft bez publicznego adresu IP i otwierania portu - tunelowanie SSH

Tagi: #<Tag:0x00007f8a332ea260> #<Tag:0x00007f8a332ea148>

Hej, w tym poradniku wyjaśnię jak w prosty sposób zrobić tunel SSH na przykładzie serwera Minecraft, nie będę tutaj używał profesjonalnego słownictwa tak aby każdy wiedział o co chodzi :wink:

:question: Co można uzyskać dzięki tunelowaniu SSH?

Załóżmy że chcesz postawić na swoim komputerze publiczny serwer Minecraft, ale nie masz publicznego adresu IP, nie chcesz otwierać portów w routerze lub podawać publicznie swojego IP. W takiej sytuacji wystarczy najtańszy serwer VPS i tunel SSH, ten poradnik opisuje jak to skonfigurować :wink:

:green_salad: Składniki Co będzie potrzebne?

  • komputer z image Linuxem lub Windowso10podobnym systemem na którym działa Twój serwer image Minecraft
  • jakikolwiek VPS z Debianem/Ubuntu i publicznym adresem IPv4 oraz dostępnym portem na którym chcesz aby działał Twój serwer.

:ok_hand: Wszystko przygotowane, co dalej?

Krok :one:

Zaloguj się do twojego serwera VPS poprzez SSH. Utwórz na nim nowego użytkownika korzystając z polecenia:

sudo adduser <nazwa_uzytkownika_dla_tunelu_ssh>

Na przykład:

sudo adduser tunel

Utwórz hasło dla tunelu podając dwukrotnie hasło i wciśnij enter w przypadku innych pytań.

Krok :two:

Edytuj plik /etc/ssh/sshd_config na przykład korzystając z edytora nano:

sudo nano /etc/ssh/sshd_config

Jeśli nie wiesz jak z niego korzystać, zajrzyj do tego poradnika :wink:

Przejdź na koniec pliku wciskając kombinację klawiszy CTRL+W+V. Wklej tam poniższy kawałek kodu (prawy przycisk w programie PuTTY) pamiętając o podaniu nazwy utworzonego w pierwszym kroku użytkownika w odpowiednim miejscu:

Match User <nazwa_uzytkownika_dla_tunelu_ssh>
        AllowTcpForwarding remote
        AllowStreamLocalForwarding no
        GatewayPorts yes
        X11Forwarding no
        AllowAgentForwarding no
        ForceCommand /bin/true

Na przykład:

Match User tunel
        AllowTcpForwarding remote
        AllowStreamLocalForwarding no
        GatewayPorts yes
        X11Forwarding no
        AllowAgentForwarding no
        ForceCommand /bin/true

Zapisz plik i wyjdź z edytora :slightly_smiling_face:

Krok :three:

Uruchom ponownie serwer SSH wykonując polecenie:

sudo systemctl restart sshd

To już wszystko co trzeba zrobić na serwerze VPS :wink:

Krok :four:

Uruchom wiersz polecenia/terminal na komputerze na którym działa Twój serwer Minecraft. Podłącz się do tunelu wykonując polecenie z prawidłowo wypełnionymi parametrami:

ssh -R <port_na_ktorym_ma_dzialac_serwer_na_vps>:localhost:<port_na_ktorym_dziala_serwer_na_twoim_komputerze> <nazwa_uzytkownika_dla_tunelu_ssh>@<ip_serwera_vps> -N

Na przykład:

ssh -R 25565:localhost:25565 tunel@51.75.57.257 -N

Podaj hasło i gotowe, nie zamykaj okna z tunelem ponieważ spowoduje to rozłączenie :wink:

:tada: Podsumowanie

Połączenie z serwerem Minecraft znajdującym się na twoim komputerze poprzez IP serwera VPS powinno być już możliwe :slightly_smiling_face:
W razie pytań i problemów pisz poniżej, postaram się pomóc :wink:

12 polubień

Nie rozumiem ale poco?

Po to, że jakiś dostawca internetu może nie oferować publicznego ip, i chcemy postawić serwer, na lokalnej maszynie.

1 polubienie

http://freeddns.noip.com/
Pobierasz apke na windowsa czy jaki tam system masz i co kilka minut program sprawdza czy ip twoje jest takie samo i ewentualnie przypisuje je do domeny którą wybrałeś w ustawieniach. Szybko i za :nosacz:DARMO :nosacz:
Oczywiście jeśli to ma być do pogrania ze znajomymi bo jakieś dziwne adresy domen nie wyglądają dobrze;)

poradnik na samym początku dokładnie opisuje przypadki w których może to być przydatne

to nadal wymaga otwarcia portu, posiadania publicznego adresu IP i udostępnia wszystkim twój adres IP :wink:

Jeśli z zamiarem ukycia swojego ip to mogę się z tym zgodzić ale dla grupy znajomych to lepszy pomysł :wink:

1 polubienie