LAN przez WAN - czyli OpenVPN jako większe “Hamachi”

Poradniki
vps, vpn
DBanaszewski
DBanaszewski α-tester v3

UWAGA

Poradnik nie będzie należał do tych krótkich. Jestem świadomy istnienia innych, prostych rozwiązań, ale kto nie ryzykuje, ten nie pije szampana :nosacz: Podstawowe wymagania to dużo czasu, cierpliwość, skupienie.


LAN przez WAN?

Jest to możliwe, chociaż będzie to pewna proteza.

"Większe Hamachi"

Znasz Hamachi? Nie lubisz limitu 5 osób w sieci? Ten poradnik umożliwi wykorzystanie innej aplikacji (OpenVPN) do tego samego efektu (wirtualny LAN).

Co jest potrzebne?

Najmniejszy, dostępny VPS na rynku z włączonym TUN/TAP. Może to być nawet OpenVZ.

Wystarczającym w 250% i najtańszym pakietem z lvlup.pro będzie 2GB PL -> kup tutaj!

Nie zapomnij o kodzie rabatowym dbanaszewski.pl, który daje Ci aż 12% zniżki na zakup serwera!

Aby móc się połączyć do sieci, przydałby się klient OpenVPN -> pobierz go!

Wymagania systemowe

Aby zainstalować serwer OpenVPN, musisz posiadać jeden z poniższych systemów:

  • Ubuntu 18.04 i nowszy
  • Debian 9 i nowszy
  • CentOS 7 i nowszy

Instalator (skrypt) wymaga powłoki bash (nie może to być sh).


Instalacja

Krok 1

Logujemy się na konto root (jest to wymagane, to nie moje widzimisię [<- to jest poprawna forma tego słowa, bez :kappa:]).

Logujemy się w dowolny sposób. Użyję tego:

sudo su

Krok 2

Po zalogowaniu, wpisujemy poniższą komendę:

wget https://raw.githubusercontent.com/Nyr/openvpn-install/master/openvpn-install.sh && bash openvpn-install.sh

Krok 3

Instalator OpenVPN włączył się.

6swjYWZ.png

W tym przypadku musimy wybrać adres IP, na którym będzie działał nasz VPN. Zazwyczaj będziesz posiadać jeden adres IP, więc możesz nie zauważyć tego ekranu.

Ja wybieram 1 , klikam Enter i lecimy dalej!

Krok 4

Instalator prosi nas o wybranie protokołu, który będzie używany do hostowania serwera. Zalecane jest wybranie UDP.

4K6lQxw.png

Wybieramy 1 i klikamy Enter .

Krok 5

Instalator pyta nas o port, jaki będzie używany przez serwer OpenVPN. Możemy zostawić domyślny, ja również tak zrobię.

2BMC8ZZ.png

Klikamy tylko Enter .

Krok 6

Instalator pyta się nas o nazwę dla pliku klienta VPNa. Możemy podać naprawdę dowolną nazwę.

bEQwMLt|690x370

Wpisujemy nazwę/zostawiamy domyślną nazwę i klikamy Enter .

Krok 7

Teraz, na własnym komputerze (czy gdziekolwiek, gdzie chcesz używać tego VPNa), zainstaluj klienta OpenVPN w wersji Community.

Link do aplikacji znajduje się wyżej.

Ja skorzystam z wersji na Windows 10.

Krok 8

Instalacja jest dość prosta, pominę to. Po przeklikaniu, powinniśmy zobaczyć przynajmniej jedną rzecz z tych dwóch.

SvQbOHG.png

Jeżeli nie masz ikonki komputera z kłódką, uruchom OpenVPN GUI .

Krok 9

Założę, że posiadasz swój plik klienta wygenerowany przez instalator. Wygląda on podobnie do tego: 1234|226x240

Jak masz, to dobrze. Jak nie, to ściągnij ten plik z VPSa przy pomocy np. WinSCP.

Krok 10

Teraz musimy połączyć się do serwera OpenVPN przy pomocy tego naszego pliczku. Wejdź na dysk, gdzie został zainstalowany klient OpenVPN. Jeżeli zainstalowałeś to na C , przejdź do folderu C:\Program Files\OpenVPN\config . Dla innego dysku będzie to bardzo podobna lokalizacja, ale zamiast C , będzie inna literka.

Do tego folderu przenieś ten nasz plik .ovpn .

Jeżeli zostaniesz poproszony o zatwierdzenie akcji przez administratora (UAC), potwierdź.

Przeniosłeś już plik?

ARtUn4n.png

Krok 11

Jeżeli nie zepsułeś czegoś w powyższych krokach, to jesteśmy prawie na finishu.

Kliknij na tą ikonkę dwa razy, dopóki nie pojawi się takie okienko: image|572x373 Coś tam zacznie latać, przewijać się.

Jeżeli okienko zniknie, a nasza ikona zrobi się taka: enter image description here|24x31, to jest bardzo dobrze. TO KONIEC!


Dla użytkowników, którzy posiadają ufw

ufw domyślnie blokuje połączenia forwardowane, dlatego należy je przepuścić. Oto rozwiązanie:

ufw route allow in on tun0 out on tun0

Super, po instalacji, jak mam zrobić, aby inne osoby mogły dołączyć na mój serwer np. Minecraft?

Po pierwsze: każda osoba musi być przyłączona do sieci OpenVPN. Wygeneruj dla niej plik. Oto sposób:

Krok 1

Uruchom instalator. Zrób to poprzez bash openvpn.sh Musisz być zalogowany do roota. Po uruchomieniu otrzymujemy: https://share.dbanaszewski.pl/file/2mIIxjMOay0jNyir/Ux2mnLleii1t54BO/20200603153119259642386.png Wpisujemy 1 i klikamy Enter.

Krok 2

https://share.dbanaszewski.pl/file/PfOviZG9jrdaaLe1/XDrolsdlvfKAteW5/20200603153138006634185.png Wpisujemy nazwę nowego pliku klienta i klikamy Enter.

Krok 3

https://share.dbanaszewski.pl/file/Q9YBELAGxiEojlvk/cNHQ9U9WKpYgqpJX/20200603153203670642386.png Widzisz podobieństwo u siebie? Jeżeli tak, to gotowe. Plik został wygenerowany.

Teraz, osoba, która ma zostać podłączona, musi od Ciebie otrzymać ten plik. Po otrzymaniu pliku, wykonaj kroki od 7 do 11.


Załóżmy, że wszystkie osoby są dodane do sieci. Teraz musisz zbindować nasłuch serwera Minecraft na Twój wewnętrzny (ale nie wewnętrzny z fizycznej sieci LAN) adres IP. Nie wiesz jaki adres IP dostałeś? Sprawdź to używając (komenda działa pod Windowsem) polecenia ipconfig w wierszu poleceń.

https://share.dbanaszewski.pl/file/7RTcdJG6Pz52Pchw/KD1lcds3jTds3Pmr/20200603153233185960480.png Jak widać, ja posiadam adres 10.1.1.3.

W katalogu serwera MC, w pliku server.properties, ustawiam wartość server-ip= na server-ip=10.1.1.3. Jeżeli serwer już był wcześniej uruchomiony, zresetuj go/jeżeli serwer nie był włączony, włącz go.

Następnie dodajemy serwer do listy serwerów w Minecraft i gotowe. Można grać bez ograniczeń typu adres IP za NATem, brak publicznego adresu IP.


Działa?

Jak tak, to zostaw serduszko 💙 Jak nie, napisz niżej co poszło nie tak (i tak liczę na ❤️).


Wykorzystano skrypt openvpn-install autorstwa Nyr, licencja MIT; wykorzystano poradnik o instalacji VPN autorstwa @DBanaszewski (to ja 👋), licencja Creative Commons 3.0 (zgodnie z Regulaminem forum).

Jeżeli widzisz jakieś błędy to podrzuć mi informację, a ja chętnie to naprawię ❤️


|84x126Poradnik miesiąca: maj 2020

WoZZowskY
WoZZowskY

Bardzo dobry poradnik! Już kiedyś korzystałem z tego sposobu i działa bez problemu!

Thomas33
Thomas33

Uważam że za dużo roboty. Nie łatwiej po prostu Hamachi i włączenie np 10 sieci które będą się nazywać np siec1, siec2 i miec hasła siechaslo1 itp? Da to taki sam efekt, chyba że się mylę.

DBanaszewski
DBanaszewski α-tester v3

Na Linuxie będzie ciężko z Hamachi. Przy OpenVPN mamy pełną kontrolę nad naszą siecią bez żadnych pośredników.


Jak pisałem, jest to jeden ze sposobów. Twój sposób będzie działał, ale tylko częściowo - w obrębie jednej sieci. Tutaj, każdy może nawiązać połączenie z każdym, nie ma ograniczeń.

Glupikocz
Glupikocz

Szczerze nie widzę żadnego problemu z hamachi na Linuxie 😛

Wirtualny puplit który tylko i wyłącznie ty musisz instalować i po problemie, a zawsze to crack hamachi i to już całkiem po problemie czego nie popieram choć można :kappa:

a inna sprawa nie widzę sensu wykorzystywać tego w normalnych przypadkach bo zawsze każdy w ruterze może sobie skonfigurować NO-IP poźniej przekierować na swoją domenę i po problemie

DBanaszewski
DBanaszewski α-tester v3

Glupikocz:

a inna sprawa nie widzę sensu wykorzystywać tego w normalnych przypadkach bo zawsze każdy w ruterze może sobie skonfigurować NO-IP poźniej przekierować na swoją domenę i po problemie

Nie każdy. Publiczny adres IP kosztuje, np. w Plusie 10zł / msc, u innych stacjonarnych operatorów (przykładowo Netia) cenę za publiczne IP masz wpisane w abonament.

Przy pomocy OpenVPN istnieje możliwość wystawienia portów na zewnątrz, co oznacza, że można ominąć te opłaty i inne blokady od ISP. Tutaj już trzeba grzebać w iptables, ale jest to wykonywalne - sam z tego korzystam :slight_smile:

Hamachi nie jest dokładnym odpowiednikiem OpenVPN; Hamachi udostępnia tylko tą sieć LAN przez WAN, sieć idzie przez nieznane nam punkty.

Glupikocz
Glupikocz

W pluscie nawet 19.90 wbym powiedział za publiczne IP jest wiem bo sam korzystam. Na szczęście ostatni miesiąc bo już swiatłowód w domu.

Co do ogólnego DDNS to przecież do tego nie potrzeba żadnego zewnętrznego IP. Za moich starych czasów to używałem DynDns do tego DMZ i wszystko ładnie pięknie smigało.

KrEdEnS
KrEdEnS Moderator Freebies

@DBanaszewski jeżeli możesz popraw link do skryptu & obrazków, które były na twoim serwerze.

EDIT. Poprawiłem link, Zostają Ci tylko obrazki :)