Instalacja serwera VPN w systemie Debian 11 z użyciem oprogramowania WireGuard
Zanim zainstalujemy i uruchomimy nasz własny serwer VPN, powinniśmy sprawdzić, czy wszystkie obecnie zainstalowane pakiety oprogramowania są aktualne. Aby to zrobić w konsoli (CLI) należy wpisać:
sudo apt update
System sprawdzi wówczas, czy repozytoria oprogramowania nie zostały zaktualizowane względem obecnie zainstalowanych pakietów. Jeśli obecnie w systemie zainstalowane są najnowsze wersje oprogramowania, ujrzymy komunikat o braku możliwych aktualizacji. W przeciwnym wypadku zostaniemy poinformowani o liczbie dostępnych pakietów do aktualizacji.
Uwaga: Jeśli żadna z obecnie zainstalowanych wersji pakietów nie jest wymagana do użytku innego oprogramowania (czasami użytkownicy używają oprogramowania, które wymaga konkretnej wersji pakietu), możemy wykonać aktualizację obecnie zainstalowanych pakietów następującą komendą:
sudo apt upgrade
Po wykonaniu danej komendy zostaniemy poinformowani o tym, które pakiety zostaną zaktualizowane, a które ew. usunięte. Aby zezwolić na aktualizację, należy wybrać jedną z opcji (yes/no):
Y/n
W naszym przypadku będzie to Y lub y. Wpisaną opcję zatwierdzamy następnie klawiszem Enter.
Po poprawnym zaktualizowaniu obecnych zainstalowanych pakietów możemy przejść do instalacji niezbędnych komponentów oprogramowania VPN.
W oknie konsoli (CLI) wpisujemy komendę:
sudo apt install wget
Pozwoli nam to zainstalować jeden z pakietów, który będzie wymagany do pobrania skryptu konfiguracji naszego serwera VPN. Następnie po instalacji powyższego pakietu wpisujemy:
sudo apt install wireguard*
W ten sposób zainstalujemy podstawowy pakiet serwera VPN. Kolejną komendą jaką należy wpisać jest:
sudo apt install wireguard-tools mawk grep iproute2 qrencode
Powyższa komenda zainstaluje dodatkowe pakiety, potrzebne do poprawnego działania naszego serwera VPN m.in. pakiet umożliwiający generowanie kodów QR z niezbędnymi informacjami dla klienta VPN w celu połączenia się z naszym serwerem.
Po zainstalowaniu powyższych pakietów należy pobrać skrypt konfiguracyjny, dzięki któremu, za pomocą jednej komendy będziemy w stanie skonfigurować nasz serwer VPN wraz z danymi do połączenia.
W celu pobrania skryptu, w oknie konsoli (CLI) wpisujemy poniższą komendę I zatwierdzamy ją klawiszem Enter:
wget https://git.io/fjb5R -O easy-wg-quick
Następnie musimy umożliwić naszemu skryptowi “wykonać się” (ang. execute/executable), w tym celu w oknie konsoli (CLI) wpisujemy poniższą komendę:
chmod +x easy-wg-quick
Uwaga: Należy pamiętać, że komenda wget pobierze skrypt do katalogu, w którym obecnie się znajdujemy. Jeśli chcemy, aby nasz skrypt znajdował się w konkretnym katalogu, należy do niego przejść lub go utworzyć komendą mkdir np.:
sudo mkdir /home/VPN/
W ten sposób utworzymy nowy folder o nazwie VPN w folderze Home/home. Po utworzeniu danego katalogu, należy do niego przejść i następnie wykonać komendę wget.
Gdy wykonamy już wszystkie poprzednie kroki, będziemy w stanie utworzyć nowy plik konfiguracyjny dla naszego serwera i klienta VPN. Przy pierwszym wywołaniu poniższej komendy, zostanie utworzonych kilka plików, w tym plik konfiguracyjny dla klienta VPN. Przy kolejnych wywołaniach poniższej komendy zostaną utworzone tylko kolejne pliki konfiguracyjne dla nowych klientów:
./easy-wg-quick lub ./easy-wg-quick <nazwa_naszego_profilu_VPN>
Przykładowy wynik wywołania powyższej komendy:
Następnie należy wykonać poniższą komendę, która wykona konfigurację naszego serwera VPN oraz uruchomi usługę VPN:
sudo wg-quick up ./wghub.conf
Po poprawnym wykonaniu wszystkich powyższych kroków możemy połączyć się z naszym serwerem VPN. Jeśli korzystamy z urządzenia mobilnego, należy zainstalować aplikację WireGuard, a następnie dodać w niej plik konfiguracyjny. Dzięki wygenerowanemu wcześniej kodowi QR możemy szybko i bezpiecznie dodać nowe połączenie z plikiem konfiguracyjnym za pomocą opcji “ZESKANUJ KOD QR” dostępnej po kliknięciu ikony “+” wewnątrz aplikacji. W przypadku korzystania ze standardowego klienta dla Windows/Linux/Mac należy pobrać oprogramowanie WireGuard ze strony producenta, a następnie dodać plik konfiguracyjny dostępny w folderze ze skryptem. Przykładowa nazwa pliku dla klienta:
wgclient_VPN.conf lub wgclient_VPN.uci.txt
Uwaga: Jeśli zamierzamy wpisać wszystkie dane w kliencie ręcznie znajdziemy je w pliku .txt
Jeśli dodaliśmy wszystkie potrzebne dane w pliku konfiguracyjnym naszego klienta VPN poprawnie, będziemy mogli połączyć się z naszym serwerem VPN.
Po poprawnym wykonaniu wszystkich powyższych kroków należy sprawdzić, czy nasz serwer VPN został poprawnie skonfigurowany i uruchomiony oraz czy uprzednio skonfigurowany klient VPN zdołał połączyć się z naszym serwerem:
sudo wg show
Przykładowy poprawny komunikat:
interface: wghubpublic key: kbaG3HxSDz3xhqiTNXlo1fZkFa+V6oTl+w0cSAQKxwQ=private key: (hidden)listening port: 51820peer: th8qYu0R0mgio2wPu1kz6/5OOgi6l8iy7OobK590LHw=preshared key: (hidden)endpoint: 10.60.1.150:37218allowed ips: 10.127.0.10/32latest handshake: 50 minutes, 22 seconds agotransfer: 32.64 MiB received, 95.24 MiB sent
Jeśli wszystkie powyższe kroki zostały poprawnie wykonane, możemy już zacząć używać naszego połączenia VPN na urządzeniu mobilnym lub komputerze, z którego chcemy utworzyć bezpieczny tunel do naszego serwera.
Gotowe! Twój VPN został zainstalowany.