Instalacja serwera VPN na routerze z OpenWrt (WireGuard) (2024)

Jeżeli posiadasz własny router z oprogramowaniem OpenWrt, zapewne nie raz myślałeś jak ustawić na nim serwer VPN, aby spoza domu/biura połączyć się z naszą siecią lokalną i mieć dostęp do lokalnych danych tj. dysk sieciowy czy też drukarka.

W przypadku OpenWrt, jeżeli zaczniesz szukać informacji o VPN, od razu natrafisz na informację o OpenVPN.

Wstępnie myślałem o stworzeniu posta odnośnie instalacji OpenVPN na routerze z OpenWrt, jednakże im bardziej w las, tym więcej drzew. Konfiguracja może i zaczyna się prosto. Można dodać nawet interfejs z poziomu przeglądarki, jednakże wszystko jest dalekie od prostoty i przejrzystości. Będąc w połowie mojego posta, stwierdziłem, że dalsze jego tworzenie wprowadzi więcej komplikacji, niż początkowo założyłem. W tym momencie przypomniałem sobie o WireGuard.

Zarówno OpenVPN oraz WireGuard nie są standardowo dostępne w systemach operacyjnych (Windows, macOS, jak również Android czy iOS). O obu przypadkach należy użyć dedykowanej aplikacji w celu nawiązania połączenia.

WireGuard w porównaniu z OpenVPN wygrał dla mnie tym, że jego konfiguracja i zarządzanie jest znacznie prostsze. Oprócz tego jest on znacznie szybszy, oferuje wyższy poziom bezpieczeństwa oraz w przypadku urządzeń mobilnych, nie zjada naszej baterii, tak jak to robi OpenVPN.

Strona VPN Ranks zestawiła kompleksowe porównanie obu rozwiązań, więc jeżeli jesteś zainteresowany, odsyłam do niej.

O ile w przypadku OpenVPN, szereg komend związanych z ustawieniem serwera musiałeś wykonywać z poziomu terminala SSH, w przypadku WireGuard, możemy ustawić nasz serwer z jego minimalnym wykorzystaniem a resztę dokonać przez przeglądarkę internetową. Wszystko w sposób przyjazny użytkownikowi.

A więc zacznijmy…

WireGuard i OpenWrt (Serwer)

W pierwszej kolejności musimy zainstalować kilka pakietów do samego WireGuard oraz tych, dodających możliwość jego zarządzania z poziomu przeglądarki internetowej.

Z poziomu połączenia z naszym routerem przez SSH wydajemy poniższe komendy.

W celu zaktualizowania informacji o pakietach:

opkg update

Oraz w celu instalacji pakietów wykonujemy następującą komendę:

opkg install luci-app-wireguard luci-proto-wireguard kmod-wireguard wireguard-tools

Możemy tego również dokonać z poziomu przeglądarki internetowej, logując się na naszym routerze i przechodząc do System > Software (Oprogramowanie)

I tak przy pakietach luci-app-wireguard luci-proto-wireguard kmod-wireguard wireguard-tools klikamy na przyciski Install (Instaluj).

Jeżeli nie widzisz odpowiednich pakietów po wprowadzeniu słowa wireguard w pasku wyszukiwania, kliknij przycisk Update list w celu zaktualizowania informacji od dostępnych pakietach (wymagane po każdym uruchomieniu routera).

Jako że WireGuard wykorzystuje do swojej funkcjonalności elementy z poziomu kernel’a, aby wszystko zostało poprawnie załadowane na tym etapie, musimy ponownie uruchomić nasz router

reboot

Nie przechodź dalej jeżeli nie uruchomiłeś ponownie routera po zainstalowaniu pakietów.

Nim przejdziemy dalej, musimy utworzyć unikalny klucz dla naszego serwera, który będzie niezbędny do nawiązania połączenia, oraz klucz dla pierwszego klienta (zwanego peer).

Tworzymy folder do przechowania klucza serwera

mkdir -p /etc/wireguard

Generujemy klucz serwera

wg genkey | tee /etc/wireguard/server-privatekey | wg pubkey > /etc/wireguard/server-publickey

Generujemy klucz pierwszego klienta

wg genkey | tee client1-privatekey | wg pubkey > client1-publickey

Teraz możemy przejść dalej.

Następnym krokiem, z poziomu przeglądarki jest utworzenie interfejsu WireGuard, podobnie jak mamy ustawione połączenie lan0, wan0 czy inne ustawienia sieciowe routera.

Przechodzimy do Network > Interfaces i dodajemy nowy interfejs przy pomocy przycisku Add new interface.

Nazywamy nasz interfejs np. wg0 oraz jako protokuł (Protocol) wybieramy WireGuard VPN. Klikamy na Create interface (Utwórz interfejs)

W następnym kroku potrzebować będziemy nieco informacji.

W pierwszej kolejności zobaczymy podświetlone na czerwono pole z brakującym kluczem.

Z poziomu terminala odczytujemy klucz prywatny (Private Key) naszego serwera:

tail /etc/wireguard/server-privatekey

Kopiujemy klucz i wklejamy go po stronie przeglądarki.

Port (Listen port), na którym WireGuard będzie nasłuchiwać, ustawiamy wg. naszych upodobań, np. 1234. W przeciwnym wypadku program będzie wybierał losowy port za każdym razem, jak uruchomi się nasz router, a to może później różnie wpływać na konfiguracje w urządzeniach, z których będziemy się łączyli.

Dalej wprowadzamy lokalny adres IP naszego serwera. Tutaj nie musimy się przejmować, aby ten adres był taki, jak nasza sieć lokalna. Na dalszym etapie ustawimy, aby mimo tego, można było połączyć się z lokalnymi adresami, które domyślnie będą w zakresie 192.168.0.x

W moim przypadku wybrałem wprowadzenie 10.0.0.1/24

Następnie przechodzimy do zakładki Firewall Settings (Ustawienie zapory sieciowej)

Z pozycji Create / Assign firewall-zone wybieramy naszą sieć LAN, dzięki czemu będziemy mogli widzieć i połączyć się z naszymi urządzeniami w sieci lokalnej.

W ostatniej zakładce Peers ustawiamy naszych klientów, które mogą połączyć się serwerem. Tutaj przyda nam się klucz klienta, który wygenerowaliśmy wcześniej.

I tak w polu nazwa, wpisujemy np. client1

W polu Public Key wklejamy klucz klienta, który odczytamy z poziomu terminala za pomocą komendy:

tail client1-publickey

Dalej, Allowed IPs wprowadzamy statyczny adres, który będzie używany przez naszego klienta, a który jest analogiczny do adresu IP naszego serwera (10.0.0.1/24). W moim przypadku będzie to 10.0.0.2/32

Zwróć uwagę, że po stronie routera, adres naszego klienta jest w masce /32.

Zaznaczamy również Route Allowed IPs

Jeżeli posiadamy więcej niż jedno połączenie internetowe ustawione za pomocą mwan3 (tak jak opisałem tutaj) pozostaw NIE zaznaczone Route Allowed IPs.

Oraz w Persistent Keep Alive wprowadzamy wartość 25

Wybieramy opcję Save (Zapisz), po czym dalej jeszcze raz Save & Apply (Zapisz i zastosuj).

I tak mamy uruchomiony serwer VPN bazujący na WireGuard.

Jeżeli na dalszym etapie będziemy dodawać nowych klientów (Peers), musimy pamiętać również o ponownym uruchomieniu serwera WireGuard przy pomocy przycisku Restart.

Aby sprawdzić status naszego serwera, przechodzimy z poziomy przeglądarki do Status > Wireguard.

Na tej stronie zobaczymy nasz klucz publiczny (Public Key), który będzie nam potrzebny na dalszym etapie, oraz port (Listen Port), na którym działa usługa.

Jak zauważysz tutaj, nasz router obsługuje wymianę konfiguracji (ustawienie klienta) z wykorzystaniem kodów QR. Jeżeli chcesz się tym pobawić, musisz doinstalować pakiet na swoim routerze:

opkg install qrencode

Z tego, co zauważyłem, kod QR nie przekazuje wszystkich niezbędnych danych do konfiguracyjnych, więc i tak musimy nieco je pozmieniać, więc w tym przypadku dałem sobie z tym spokój.

Abyśmy mogli połączyć się z naszym routerem po porcie 1234/udp, musimy zezwolić na to z poziomu zapory sieciowej (Firewall). W tym celu dodajemy z poziomu terminala poniższe komendy:

uci add firewall ruleuci set firewall.@rule[-1].src="*"uci set firewall.@rule[-1].target="ACCEPT"uci set firewall.@rule[-1].proto="udp"uci set firewall.@rule[-1].dest_port="1234"uci set firewall.@rule[-1].name="Allow-Wireguard-Inbound"uci commit firewall

Oczywiście, port 1234 jest taki, jak wybraliśmy wcześniej.

Następnie uruchamiamy ponownie zaporę sieciową (Firewall)

/etc/init.d/firewall restart

Możemy to dokonać również z poziomu przeglądarki, wówczas przechodzimy do Network > Firewall

W zakładce Traffic Rules dodajemy nową regułę, używając przycisku Add na dole strony. Naszą regułkę dodajemy analogicznie do poniższych zrzutów ekranowych.

Jeżeli chcemy dodać obsługę IPv6 po stronie serwera oraz klienta, oprócz adresu serwera 10.0.0.1/24 na odpowiednim etapie konfiguracji dodajemy również fd86::1/64.

Analogicznie dla klienta (Peer) dodajemy przy 10.0.0.2/32 również fd86::2/128.

Zwróć uwagę, że po stronie routera, adres naszego klienta jest w masce /32 (dla IPv4) oraz /128 (dla IPv6).

WireGuard i OpenWrt (Klient)

Przyszła pora na ustawienie klienta (peer), czyli urządzenia, które będzie się łączyć z naszym serwerem.

Opiszę do na przykładzie aplikacji na iPhone (iOS). W innych systemach operacyjnych ustawienie jest analogiczne.

Pobieramy aplikację WireGuard z AppStore.

Analogicznie, jeżeli chodzi o Sklep Play.

Po uruchomieniu aplikacji klikamy na przycisk Add a tunnel.

Jako że rozpoczynamy wszystko od początku, wybieramy Create from scratch

I tak rozpoczynamy wprowadzanie naszej konfiguracji, zaczynając od:

Nazwy (Name): test

Klucza prywatnego (Private key): {wklej}

To nasz klucz client1-privatekey wygenerowany na początku:

tail client1-privatekey

Jak zauważysz, pole klucza publicznego (Publick key) zostanie automatyczne wypełnione. Możemy to zweryfikować, z tym co wygenerowaliśmy na początku:

tail client1-publickey

Adresy (Addresses): 10.0.0.2/24

Tutaj wprowadzamy adres IP klienta, który również ustawiliśmy po stronie naszego serwera. Jeżeli dodaliśmy obsługę IPv6, to wprowadzamy 10.0.0.2/24, fd86::2/64

Adres serwera nazw (DNS servers): 192.168.1.1

Gdzie 192.168.1.1 to lokalny adres IP naszego routera.

Tak dodaliśmy klucze klienta. Teraz trzeba dodać informację o serwerze, z którym się będziemy łączyć.

Dalej klikamy na Add peer, aby dodać informację o naszym serwerze.

W polu klucza publicznego (Public key) wprowadzamy klucz naszego serwera, który odczytamy z poziomu terminala:

tail /etc/wireguard/server-publickey

Endpoint: [zewnętrznyIP]:[port]

Jeżeli nasz router posiada stały, zewnętrzny adres IP, wprowadzamy go tutaj oraz precyzujemy, przez jaki port (ustalony wcześniej) będzie odbywać się połączenie. Np.: 123.34.45.56:1234, gdzie 123.34.45.56 to adres IP, 1234 to nasz port.

W polu dozwolone adresy IP (Allowed IPs): 0.0.0.0/0

Pozwoli to nam widzieć urządzenia w sieci lokalnej.

Jeżeli dodaliśmy obsługę IPv6, to wprowadzamy 0.0.0.0/0, ::/0

Persistent keepalive: 25

Po czym zapisujemy (Save) naszą konfigurację.

Na ty etapie nasz telefon zapyta się o możliwość dodania konfiguracji VPN do ustawień, na co oczywiście zezwalamy.

Jeżeli wszystko wykonaliśmy prawidłowo, pozostaje nam wykonanie połączenia i wszystko powinno działać. Aby to sprawdzić, przechodzimy do ustawień (Settings) programu WireGuard na naszym urządzeniu i klikamy w opcję View log, gdzie powinniśmy zobaczyć czy wszystko działa.

Otwieramy również naszą przeglądarkę i w Google wpisujemy myip i sprawdzamy, czy zwraca to samo, co w przypadku, gdy jesteśmy połączeni z naszą lokalną siecią.

Po stronie naszego routera, z poziomu przeglądarki możemy również zobaczyć w WireGuard Status, że nasze połączenie działa i dane wędrują pomiędzy urządzeniami.

Jeżeli natomiast coś nie działa, musimy sprawdzić, czy nasz Firewall na routerze jest skonfigurowany prawidłowo (patrz powyżej) oraz czy wszędzie wprowadziliśmy prawidłowe klucze.

Aby za każdym razem, gdy będziemy ustawiać nasze urządzenie do połączenia z WireGuard nie wpisywać wszystko od podstaw, możemy z poziomu ustawień (Settings) zapisać naszą konfigurację do pliku. Przy ponownej konfiguracji, możemy te ustawienia zimportować.

Dodanie kolejnych klientów (Peers) odbywa się analogicznie, poprzez wygenerowanie kluczy:

wg genkey | tee client2-privatekey | wg pubkey > client2-publickey

Następnie, w ustawieniach interfejsu wg0 dodajemy kolejnego Peer.

Nie zapomnijmy zapisać naszych ustawień oraz zresetować naszego interfejsu.

I to by było na tyle.

Nim przejdziemy dalej, warto zapisać server-privatekey oraz server-publickey gdzieś w bezpiecznej lokalizacji razem z kluczami klientów client1-privatekey, oraz client1-publickey.

Dodawanie kolejnego klienta (peer)

Mimo że dodawanie kolejnego klienta jest analogiczne, otrzymałem zapytania jak to zrobić, co jest po części zrozumiałe. Mały błąd w kluczach oraz adresach IP może powodować to, że jeden klient (peer) działa a inny nie.

W przypadku dodawania kolejnych klientów należy pamiętać, że klucz prywatny (Private Key) oraz publiczny (Public Key) dla serwera mamy już wygenerowany i ustawiony w naszym wirtualnym interfejsie (wg0), więc nie musimy go ponownie generować. Cała metoda odbywa się na wygenerowaniu kluczy dla nowego użytkownika, dodanie ich do interfejsu WireGuard (wg0) po stronie routera oraz odpowiednie skonfigurowanie oprogramowania klienta.

Oto jak, mając ustawionego pierwszego klienta (peer), dodałem kolejnego.

Zaczynamy od wygenerowania kluczy dla nowego klienta z poziomu SSH naszego routera.

wg genkey | tee client2-privatekey | wg pubkey > client2-publickey

Dodajemy klienta (peer) oraz klucze do konfiguracji routera.

Przechodzimy do Network > Interfaces i edytujemy nasz interface wg0.

Na kolejnym etapie, przechodzimy do zakładki Peers. Jako, że pierwszy klient jest już ustawiony, przesuwamy stronę w dół i klikamy na przycisk Add peer.

Podobnie jak poprzednio, ustawiamy Description (client2) i w pole Public Key wklejamy nowo wygenerowany klucz, który odczytamy komendą:

tail client2-publickey

W polu Allowed IPs wprowadzamy następny wolny adres IP:

10.0.0.3/32fd86::3/128 (jeżeli dodajemy również IPv6)

Zwróć uwagę, że po stronie routera, adres naszego klienta jest w masce /32 (dla IPv4) oraz /128 (dla IPv6).

Zaznaczmy Route Allowed IPs (jeżeli mamy tylko jedno połączenie internetowe) oraz wprowadzamy w Persistent Keep Alive wartość 25.

Po czym zapisujemy (Save) nasze ustawienie i na dalszym etapie potwierdzamy wprowadzone zmiany w konfiguracji, klikając na Zapisz i Zastosuj (Save & Apply).

Teraz musimy jeszcze uruchomić ponownie interface wg0 za pomocą przycisku Restart.

To, czy wszystko działa oraz, czy nowy klient (peer) został dodany prawidłowo, sprawdzimy, przechodząc do Status > WireGuard Status. Powinniśmy zobaczyć tam klucz publiczny naszego serwera (w pozycji Configuration) oraz oba peer-y.

Teraz przechodzimy do ustawienia klienta w aplikacji.

W przypadku aplikacji na iOS wybieramy Create from scratch, analogicznie jak w pierwszym przykładzie powyżej.

Wprowadzamy nazwę (Name) jako client2 oraz wklejamy Private key, który odczytamy z terminala:

tail client2-privatekey

Public key, podobnie jak w pierwszym przykładzie powinien zostać automatycznie uzupełniony i powinien być taki sam jak:

tail client2-publickey

W polu Addresses wstawiamy

10.0.0.3/24

lub wraz z IPv6

10.0.0.3/24, fd86::3/64

Adres serwera nazw (DNS servers): 192.168.1.1

Dalej klikamy na Add peer, aby dodać informację o naszym serwerze.

Tutaj ponawiamy wszystko tak jak w pierwszym przykładzie.

tail /etc/wireguard/server-publickey

Ten sam Endpoint, Allowed IPs i Persistent keepalive.

Jednakże, jak zauważyłem, nie każda aplikacja ma możliwość ustawienia wszystkiego od podstaw. W przypadku WireGuard na macOS, liczba opcji jest ograniczona do zimportowania ustawień lub dodanie pustego tunelu Add empty tunnel.

Po kliknięciu Add empty tunnel zobaczymy plik konfiguracyjny zawierający wygenerowany klucz publiczny (Public key) oraz klucz prywatny (Private key).

Możemy użyć te klucze, dodając je do naszego interfejsu w zakładce Peers lub zmieniając Private key na klucz wygenerowany wcześniej:

tail client2-privatekey

Zobaczymy, że Public key również się zmieni.

To jeszcze nie wszystko!

W przypadku aplikacji na iOS wprowadziliśmy również Public key naszego serwera, adres IP klienta (Adresses), serwer nazw (DNS servers), Endpoint, Allowed IPs oraz Persistent keepalive.

Tutaj musimy to zrobić bardziej manualnie. Nasza konfiguracja będzie wyglądać następująco:

Po wciśnięciu przycisku zapisz (Save), poproszeni zostaniemy przez system macOS o dodanie odpowiedniego profilu VPN do konfiguracji.

I tak pozostanie nam przetestowanie, czy wszystko dział klikając na przycisk Activate.

Jeżeli zrobiliśmy wszystko poprawnie, powinniśmy się połączyć bez problemu i wszystko powinno zacząć działać.

Mam nadzieje, że to pomoże wam w przypadku dodawania dodatkowych klientów (peerów).

WireGuard i tunel IPv6

Jeżeli dodałeś do swojego połączenia internetowego (które nie obsługuje natywnie) połączenie IPv6 za pomocą tunelu z wykorzystaniem Hurricane Electric Free IPv6 Tunnel Broker tak jak ja wg tego wpisu, zapewne zastanawiasz się jak skonfigurować serwer WireGuard do obsługi tego oto rozwiązania.

Otóż powyższy opis dodaje obsługę lokalnego IPv6, która działa w obrębie routera, ale nie obsługuje ruchu wychodzącego (do internetu), nawet gdy IPv6 jest dostępne. Cały ruch odbywa się więc tylko i wyłącznie z wykorzystaniem IPv4.

Można to sprawdzić, wchodząc na stronę https://test-ipv6.com/ z poziomu sieci lokalnej po połączeniu z WireGuard.

Otóż istnieje możliwość dodania obsługi IPv6! Co oczywiście zrobimy!

Zaletą tego rozwiązania jest to, że w internecie będziemy nie dosyć, że widziani z wykorzystaniem zewnętrznego adresu IP routera (IPv4), to jeszcze można przypisać zewnętrzny, indywidualny adres IPv6 bezpośrednio do naszego urządzenia podłączonego do VPN!

Mimo tego, że każdy klient WireGuard w internecie będzie widziany pod jednym IP w wersji 4 (IPv4), to w wersji 6 (IPv6) każde urządzenie będzie miało indywidualny adres! Cała magia IPv6 (nie potrzeba przekierowywania portów itp).

Na początku musimy pozmieniać ustawienia IPv6, które wprowadziliśmy, czyli tam, gdzie mamy fd86:: musimy zastąpić tak, aby pasował nam do prefiksu naszego interfejsu WAN6. Musimy to zrobić zarówno po stronie routera, w konfiguracji serwera WireGuard oraz w ustawieniach Peer-ów, jak również po stronie klientów (pliku konfiguracyjnym).

W przypadku serwera (w tym ustawienia klientów - Peers - po stronie serwera), zmiany dokonujemy przez przeglądarkę internetową, po czym restartujemy nasz interfejs wg0.

W przypadku klientów (Peers), zmiany dokonujemy w pliku konfiguracyjnym, po czym importujemy go do aplikacji, lub też edytujemy każdy profil z osobna na każdym z urządzeń.

Aby zachować zbieżność z obecną konfiguracją adresów IP, czyli 10.0.0.1 dla serwera i kolejne numerki dla klientów, adres IPv6 zbudujemy na tej samej zasadzie.

Korzystając z kalkulatora IPv4 do IPv6 dla 10.0.0.1 otrzymamy na przykład:

0:0:0:0:0:ffff:a00:1

Pierwsze 4 zera (0:0:0:0:) zmienimy na prefix sieci, który otrzymaliśmy dla naszego tunelu.

Dla przykładu, jeżeli otrzymaliśmy w Routed IPv6 Prefixes coś takiego:

2001:470:____:5cb::/64

Początek — prefix 2001:470:____:5cb: będzie stały, a każdy z lokalnych adresów dostanie 0:ffff:a00:1, przy czym ostatnia cyfra będzie się zmieniać. 1 dla serwera, 2 dla pierwszego klienta i tak dalej.

I tak, zmieniamy w ustawieniach serwera
fd86::1/64 na 2001:470:____:5cb:0:ffff:a00:1/64

Dla pierwszego Peera
fd86::2/128 na 2001:470:____:5cb:0:ffff:a00:2/128

Po stronie klienta, w aplikacji WireGuard, dla pierwszego klienta gdzie mamy:
10.0.0.2/24, fd86::2/64 zmieniamy na 10.0.0.2/24, 2001:470:____:5cb:0:ffff:a00:2/64

Pozycja :____: została ocenzurowana z pełnego (aktualnego) prefixu.

**0:ffff:a00:1 ** jest przykładowym adresem i zalecam jego nieużywanie, a wybranie własnego unikalnego. Jeżeli nie wiesz, czy wybrany przez ciebie adres jest poprawny, wraz z prefiksem poddaj go walidacji przy wykorzystaniu, chociażby tego narzędzia.

Jeżeli wszystko wykonaliśmy prawidłowo, wówczas po połączeniu się z VPN i przejściu na stronę https://test-ipv6.com otrzymamy wynik 10/10.

Dodatkowo, jeżeli ustawiony mamy Bezpieczny DNS, strona https://1.1.1.1/help również będzie zwracać w Connectivity to Resolver IP Addresses dostępność do adresów DNS z poziomu IPv6.

Pozdrawiam.

Credits: **Birkhoff Lee **

Instalacja serwera VPN na routerze z OpenWrt (WireGuard) (2024)

FAQs

How to install WireGuard on OpenWRT router? ›

Once logged in, click on System and select Software. On this page, you will download the WireGuard package. To do so, click on Update lists. Once the lists are updated, in the search field type WireGuard, and install the WireGuard package first, following with luci-app-wireguard.

Which is more secure, WireGuard or OpenVPN? ›

SUMMARY: OpenVPN offers greater freedom when it comes to encryption and security, but WireGuard is easier to audit and has a smaller attack surface. Both protocols are very secure, but less tech-savvy users may prefer to trust the experts at WireGuard, rather than take matters into their own hands.

What port does WireGuard use? ›

What ports do you use for WireGuard? UDP ports 53, 80, 443, 1194, 2049, 2050, 30587, 41893, 48574, 58237.

Does NordVPN support WireGuard? ›

NordLynx is NordVPN's revolutionary technology built around the WireGuard® VPN protocol. It helps you connect to NordVPN servers faster and improves your VPN connection speeds without compromising security or privacy.

How do I install WireGuard VPN on my router? ›

Go to [VPN] > [VPN Server] > enable and click [WireGuard® VPN] > click add button. 4. For general devices like laptops or phones, you can just click the Apply button.

How much does WireGuard cost? ›

Cost and Licensing

Since WireGuard and OpenVPN are free software, there is no expense associated with using them. Though there are some free solutions, you'll still need to pay for a VPN subscription. Since WireGuard and OpenVPN are free software, there is no expense associated with using them.

What is the most secure VPN to use? ›

  • NordVPN.
  • Surfshark.
  • Private Internet Access VPN.
  • Hotspot Shield.
  • Norton Secure VPN.
  • IPVanish.
  • ExpressVPN.
  • CyberGhost.
May 31, 2024

Is WireGuard free? ›

WireGuard is a communication protocol and free and open-source software that implements encrypted virtual private networks (VPNs), and was designed with the goals of ease of use, high speed performance, and low attack surface.

How to setup WireGuard VPN server at home? ›

  1. Step 1: Expose Wireguard VPN Server to the Internet. Your Public IP Address. ...
  2. Step 2: Setup Wireguard VPN Server. Install the wireguard software and dependencies. ...
  3. Step 3: Setup client connections. ...
  4. Step 4: Setup clients. ...
  5. Step 5: Test Connection.
Sep 29, 2023

Is WireGuard a good VPN? ›

WireGuard is considered by many to be one of the safest, most secure VPN protocol options available today. Simplified design using less code equals fewer bugs and security vulnerabilities, while WireGuard's faster state-of-the-art cryptography employs superior default security settings.

What port should I use for VPN? ›

VPNs tend to use port 443 TCP and port 500 UDP, for secure, reliable connections. These ports are considered some of the best since they're rarely blacklisted. They're both allowed through firewalls, which makes passing traffic through them easy.

How to install WireGuard on OpenWRT? ›

Installing required packages
  1. In your router's webUI, navigate to System - Software , click Update lists .
  2. In the Filter field, type WireGuard, locate and install the wireguard-tools, kmod-wireguard, and luci-proto-wireguard packages.
  3. Restart your router.

Why not to use WireGuard? ›

Unreliable Monotonic Counter. WireGuard uses the system time as a reliable monotonic counter. If this jumps forward, a user might DoS their own keys, by making it impossible to later have a value larger, or an adversary controlling system time could store a handshake initiation for use later.

Does WireGuard hide IP? ›

As explained above WireGuard does not allocate a dynamic IP address to the VPN user. And, it indefinitely stores user IP addresses on the VPN server until the server reboots. So, there is no anonymity and privacy in WireGuard.

How to setup WireGuard on DD WRT router? ›

Once you log into the router panel, go to the Setup tab and select Tunnels. Click on Add Tunnel. Click on Enable next to the Tunnel setting, and select WireGuard as your protocol. Once selected, click Save.

How do I add a VPN to my Ddwrt router? ›

Router Setup
  1. Navigate to the home page of your router - By default 192.168. 1.1 .
  2. Click on the Services tab. ...
  3. Click on the VPN tab and then click on the Start OpenVPN Client button.
  4. Enter the following configuration (as also shown in the screen shot below): ...
  5. Click the Save button, then click the Apply Settings button.

How do I install and configure WireGuard? ›

How to get started with WireGuard VPN
  1. Sign up with UpCloud. ...
  2. Deploy a new cloud server. ...
  3. Installing WireGuard. ...
  4. IP forwarding. ...
  5. Configuring firewall rules. ...
  6. Generating private and public keys. ...
  7. Generate server config. ...
  8. Starting WireGuard and enabling it at boot.

How to install OpenVPN on DD WRT? ›

[edit] OpenVPN in DD-WRT
  1. Using the Web Interface, go to the "Services" tab and then the "VPN" tab (for older versions of dd-wrt go to the "Administration" tab and then the "Services" sub-tab).
  2. Enable OpenVPN Daemon or OpenVPN Client. ...
  3. Fill in needed parameters (see below). ...
  4. Click Apply Settings.
Feb 4, 2024

References

Top Articles
Latest Posts
Article information

Author: Trent Wehner

Last Updated:

Views: 5870

Rating: 4.6 / 5 (76 voted)

Reviews: 91% of readers found this page helpful

Author information

Name: Trent Wehner

Birthday: 1993-03-14

Address: 872 Kevin Squares, New Codyville, AK 01785-0416

Phone: +18698800304764

Job: Senior Farming Developer

Hobby: Paintball, Calligraphy, Hunting, Flying disc, Lapidary, Rafting, Inline skating

Introduction: My name is Trent Wehner, I am a talented, brainy, zealous, light, funny, gleaming, attractive person who loves writing and wants to share my knowledge and understanding with you.