Baza wiedzy Proste instrukcje dotyczące pracy z usługą Profitserver
Główny Baza wiedzy Jak skonfigurować Wireguard VPN na swoim serwerze

Jak skonfigurować Wireguard VPN na swoim serwerze


W tym artykule szczegółowo opisano, jak skonfigurować Wireguard VPN na swoim serwerze. Może to być serwer wirtualny lub prywatny — nie ma to większego znaczenia.

Niniejszy przewodnik po konfiguracji VPN Wireguard jest przeznaczony dla użytkowników, którzy nie mają dużego doświadczenia, dlatego wszystkie kroki będą szczegółowo opisane i uzupełnione zrzutami ekranu.

Ruch przechodzący przez nasz tunel będzie szyfrowany, a Internet będzie wyświetlał adres IP naszego serwera VPN, a nie adres dostawcy, za pośrednictwem którego uzyskujemy dostęp do sieci.

Zakłada się, że masz już VPS. Jeśli nie, możesz zamówienie to od nas.

Zainstalujemy system operacyjny Ubuntu 22.04 na naszym serwerze. Jeśli masz serwer z innym systemem operacyjnym, możesz go łatwo ponownie zainstalować, postępując zgodnie z instrukcje.

Więc serwer z systemem Ubuntu 22.04 OS gotowy, teraz łączymy się z nim przez SSH. Jeśli nagle nie natknąłeś się wcześniej na ten protokół, to artykuł, w którym ten proces jest szczegółowo opisany, pomoże ci. Drugi akapit artykuł jest przeznaczony dla systemu Linux, trzeci dla systemu Windows.

Skonfiguruj serwer Wireguard

Po pomyślnym nawiązaniu połączenia napiszę kilka poleceń i opiszę ich wynik, aby zrozumieć proces:

Aktualizujemy listę pakietów w repozytoriach

apt update

Odnowienie samych pakietów

apt upgrade -y

Zainstaluj pakiet wireguard

apt install -y wireguard

Nasza konfiguracja zostanie zapisana w katalogu /etc/wireguard/, musimy wejść do katalogu:

cd /etc/wireguard/

Będziemy potrzebować klucza publicznego i prywatnego dla naszego serwera. Wygenerujemy je po ustawieniu prawidłowych praw podczas tworzenia plików i katalogów za pomocą poleceń:

umask 077
wg genkey > privatekey
wg pubkey < privatekey > publickey

Teraz ustawiamy uprawnienia dla klucza prywatnego:

chmod 600 privatekey

Przed utworzeniem pliku konfiguracyjnego potrzebujemy nazwy naszego interfejsu sieciowego. Aby ją odkryć, użyj polecenia:

ip a

Potrzebujemy interfejsu z adresem IP, który jest używany do bieżącego połączenia. Prawdopodobnie będzie się nazywał ens3 w Twoim przypadku, ale może być inna nazwa.

Skonfiguruj Wireguard - Będziemy potrzebować klucza publicznego i prywatnego dla naszego serwera

Będziemy również potrzebować klucza publicznego i prywatnego. Aby je wyświetlić, używam tail

tail privatekey publickey

To wygląda tak:

Będziemy również potrzebować klucza publicznego i prywatnego. Aby je wyświetlić, używam tail

Do edycji możesz użyć dowolnego Edytor tekstu Linux. Użyję nano. Aby zainstalować, musisz uruchomić polecenie:

apt install -y nano

Edytujemy plik konfiguracyjny:

nano /etc/wireguard/wg0.conf

Note

aby zapisać plik używamy kombinacji przycisków ctrl+o

do wyjścia - ctrl+x

To powinno wyglądać tak:

[Interface]
PrivateKey = [ your private key ]
Address = 10.30.0.1/24
ListenPort = 51928
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o [ interface name ] -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o [ interface name ] -j MASQUERADE

W moim przypadku wygląda to tak

Edytujemy plik konfiguracyjny

Włączamy przekierowanie IP

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -p

Uruchom usługę WireGuard:

systemctl start [email protected]

Jeśli chcemy, aby usługa została uruchomiona po ponownym uruchomieniu serwera, wykonujemy następujące czynności:

systemctl enable [email protected]

Aby sprawdzić status usługi:

systemctl status [email protected]

Status powinien być aktywny, jak na zrzucie ekranu:

Status powinien być aktywny, jak na zrzucie ekranu

Jeżeli uważnie zastosowałeś się do naszych instrukcji, to na tym etapie masz już wszystko, czego potrzebujesz, aby uruchomić serwer będący częścią VPN Wireguard.

Konfigurowanie klienta Wireguard

Pozostaje tylko skonfigurować część kliencką. Na przykład dla uproszczenia wygeneruję klucze dla części klienckiej również na serwerze. Ale ze względów bezpieczeństwa bardziej poprawne byłoby generowanie kluczy po stronie klienta. Do generowania używam poleceń:

wg genkey > mypc_privatekey
wg pubkey < mypc_privatekey > mypc_publickey

Wygeneruję również klucze do korzystania z VPN na telefonie:

wg genkey > myphone_private
keywg pubkey < myphone_privatekey > myphone_publickey

Należy pamiętać, że wszystkie te czynności należy wykonać będąc w katalogu

/etc/wireguard/

Możesz również uruchomić w innym katalogu. Jednak dla uproszczenia wykonujemy instrukcje w /etc/wireguard/

Używamy polecenia ls, aby wyświetlić listę plików w katalogu. Otrzymałem to w ten sposób:

Wygeneruję klucze dla części klienckiej Wireguard również na serwerze

Wyświetlmy klucze publiczne na ekranie. Będziemy ich potrzebować, aby dodać węzły do ​​naszej sieci:

tail mypc_publickey myphone_publickey

U mnie wygląda to tak:

Wyświetlmy klucze publiczne na ekranie

Edytujmy nasz plik konfiguracyjny:

nano wg0.conf

Dodaj następujące linie:

[Peer]
PublicKey = [ mypc_publickey ]
AllowedIPs = 10.30.0.2/32 

[Peer]
PublicKey = [ myphone_publickey ]
AllowedIPs = 10.30.0.3/32

Teraz plik konfiguracyjny wygląda tak:

Edytujmy nasz plik konfiguracyjny

Zapisz plik i uruchom ponownie naszą usługę:

systemctl restart wg-quick@wg0

Sprawdźmy czy wszystko przebiegło pomyślnie:

systemctl status wg-quick@wg0

Status musi być aktywny

Ponowne załadowanie usługi jest wymagane za każdym razem po edycji pliku konfiguracyjnego serwera (wg0.conf)

Następnie utworzymy konfiguracje dla klientów (w moim przypadku mojego PC i telefonu). To samo zrobię na serwerze.

nano mypc.conf
[Interface] 
PrivateKey = [mypc_privatekey private key] 
Address = 10.30.0.2/32 
DNS = 8.8.8.8 

[Peer] 
PublicKey = [publickey server publc key] 
Endpoint =[ server ip address]:51928 
AllowedIPs = 0.0.0.0/0 
PersistentKeepalive = 20

W polu Endpoint możesz zobaczyć adres IP serwera - jest to adres IP, którego użyliśmy do połączenia przez SSH. Aby zobaczyć interfejsy i adresy, możesz użyć polecenia ip a.

Skonfiguruj Wireguard dla urządzeń mobilnych

Tworzymy podobną konfigurację dla naszego telefonu. Musimy tylko zmienić adres. Dla komputera było to 10.30.0.2/32, a w konfiguracji telefonu zrobimy 10.30.0.3/32. Ponadto, jeśli chcemy używać VPN na innych urządzeniach, powinniśmy dodać inne adresy do pola Address w plikach konfiguracyjnych i pliku konfiguracyjnym serwera wg0.conf, pola AllowedIPs podczas tworzenia konfiguracji

W moim przypadku pliki wyglądają tak:

mypc.conf

powinniśmy dodać inne adresy do pola Adres w plikach konfiguracyjnych

mójtelefon.conf

mójtelefon.conf

Do połączenia instalujemy klienta Wireguard https://www.wireguard.com/install/

W aplikacji Windows dodajemy nowy tunel i wpisujemy konfigurację utworzoną w pliku mypc.conf

W aplikacji Windows dodajemy nowy tunel i wpisujemy konfigurację utworzoną w pliku mypc.conf

Uruchamiamy tunel i przechodzimy do przeglądarki, na której wyświetla się nasz adres

Uruchamiamy tunel i przechodzimy do przeglądarki, na której wyświetla się nasz adres

Aby wygodnie dodać VPN do swojego telefonu, zainstaluj na serwerze program do generowania kodów QR:

apt install -y qrencode

Będąc w katalogu konfiguracyjnym wykonaj następujące kroki:

qrencode -t ansiutf8 -r myphone.conf
Aby wygodnie dodać VPN do swojego telefonu, zainstaluj na serwerze program do generowania kodów QR

Następnie wchodzimy do aplikacji Wireguard na telefonie, naciskamy +, aby utworzyć nowy tunel, wybieramy zeskanuj kod QR, zeskanuj go, włącz VPN. Następnie sprawdzamy, czy wyświetlamy adres naszego serwera, korzystając z dowolnego zasobu, który wyświetla adres IP wyjściowy.

Następnie wchodzimy w aplikację Wireguard na telefonie, naciskamy + aby utworzyć nowy tunel sprawdź, czy wyświetlamy adres naszego serwera, korzystając z dowolnego zasobu wyświetlającego adres IP wyjściowy

Zrobiłeś to!

❮ Poprzedni artykuł Jak połączyć się z serwerem Windows za pomocą RDP (Remote Desktop) ze smartfona z systemem iOS lub Android
Następny artykuł ❯ Konfiguracja serwera VPN w systemie Linux: PPTP czy OpenVPN?

Zapytaj nas o VPS

Jesteśmy zawsze gotowi odpowiedzieć na Państwa pytania o każdej porze dnia i nocy.