Linux

Så här ställer du in WireGuard VPN på Debian 10

Så här ställer du in WireGuard VPN på Debian 10

WireGuard är ett allmänt ändamål VPN (Virtual Private Network) som använder toppmodern kryptografi. Jämfört med andra populära VPN-lösningar, som IPsec och OpenVPN, är WireGuard i allmänhet snabbare, lättare att konfigurera och har ett mindre fotavtryck. Det är plattformsoberoende och kan köras nästan var som helst, inklusive Linux, Windows, Android och macOS.

Wireguard är en peer-to-peer VPN; den använder inte klientservermodellen. Beroende på konfiguration kan en peer fungera som en traditionell server eller klient. Det fungerar genom att skapa ett nätverksgränssnitt på varje peer-enhet som fungerar som en tunnel. Peers autentiserar varandra genom att utbyta och validera offentliga nycklar och härma SSH-modellen. Offentliga nycklar mappas med en lista över IP-adresser som är tillåtna i tunneln. VPN-trafiken är inkapslad i UDP.

Den här artikeln förklarar hur du installerar och konfigurerar WireGuard på Debian 10 som fungerar som en VPN-server. Vi visar dig också hur du konfigurerar WireGuard som klient på Linux, Windows och macOS. Klientens trafik dirigeras via Debian 10-servern.

Den här inställningen kan användas som ett skydd mot Man in the Middle-attacker, surfa anonymt på nätet, kringgå Geo-begränsat innehåll eller låta dina kollegor som arbetar hemifrån ansluta till företagets nätverk säkert.

Förutsättningar #

För att följa den här guiden behöver du en maskin med Debian 10 installerad. Du behöver också root eller [sudo access] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / för att installera paket och göra ändringar i systemet.

Konfigurera WireGuard Server #

Vi börjar med att installera WireGuard-paketet på Debian-maskinen och ställa in det för att fungera som server. Vi konfigurerar också systemet för att dirigera klienternas trafik genom det.

Installera WireGuard på Debian 10 #

WireGuard är tillgängligt från Debians backportsförvar. För att lägga till förvaret i ditt system, kör:

echo 'deb http: // ftp.debian.org / debian buster-backports main '| sudo tee / etc / apt / sources.lista.d / buster-backports.lista

När förvaret är aktiverat uppdaterar du apt-cachen och installerar WireGuard-modulen och verktygen:

sudo apt uppdateringsudo apt installera wireguard
WireGuard körs som en kärnmodul.

Konfigurera WireGuard #

Du kan konfigurera och hantera WireGuard-gränssnitten med wg och wg-snabb kommandoradsverktyg.

Varje enhet i WireGuard VPN-nätverket måste ha en privat och offentlig nyckel. Kör följande kommando för att generera nyckelparet:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Filerna genereras i / etc / wireguard katalog. Använd katt eller mindre kommandon för att visa innehållet i filerna. Den privata nyckeln ska aldrig delas med någon och ska alltid hållas säker.

Wireguard stöder också en fördelad nyckel, som lägger till ytterligare ett lager av symmetrisk nyckelkryptografi. Den här nyckeln är valfri och måste vara unik för varje peer-par.

Nästa steg är att konfigurera tunnelenheten som dirigerar VPN-trafiken.

Enheten kan ställas in antingen från kommandoraden med ip och wg kommandon eller genom att manuellt skapa konfigurationsfilen. Vi skapar konfigurationen med en textredigerare.

Öppna din redigerare och skapa en ny fil med namnet wg0.konf med följande innehåll:

sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf
[Gränssnitt] Adress = 10.0.0.1/24 SaveConfig = true ListenPort = 51820 PrivateKey = SERVER_PRIVATE_KEY PostUp = iptables -A FORWARD -i% i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i% i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE 

Du kan namnge gränssnittet vad du vill. Det rekommenderas dock att använda något liknande wg0 eller wgvpn0.

Inställningarna i gränssnittssektionen har följande betydelse:

De wg0.konf och privatvård filer bör inte vara läsbara för vanliga användare. Använda sig av chmod för att ställa in filbehörigheterna till 600:

sudo chmod 600 / etc / wireguard / privatekey, wg0.conf

När du är klar, ta med wg0 gränssnitt upp med de attribut som anges i konfigurationsfilen:

sudo wg-snabb upp wg0

Utgången kommer att se ut så här:

[#] ip-länk lägg till wg0 typ wireguard [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 adress lägg till 10.0.0.1/24 dev wg0 [#] ip-länkuppsättning mtu 1420 upp dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

För att kontrollera gränssnittsläget och konfigurationen, kör:

sudo wg visa wg0
gränssnitt: wg0 offentlig nyckel: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = privat nyckel: (dold) lyssningsport: 51820 

Du kan också verifiera gränssnittets tillstånd med ip en show wg0:

ip en show wg0
4: wg0:  mtu 1420 qdisc noqueue state Okänd grupp standard qlen 1000 länk / ingen inet 10.0.0.1/24 omfattning global wg0 valid_lft för alltid preferens_lft för alltid 

WireGuard kan hanteras med Systemd. För att få WireGuard-gränssnittet vid starttid, kör följande kommando:

sudo systemctl aktiverar wg-quick @ wg0

Servernätverk och konfiguration av brandvägg #

IP-vidarebefordran måste vara aktiverat för att NAT ska fungera. Öppna / etc / sysctl.konf fil och lägg till eller avmarkera följande rad:

sudo nano / etc / sysctl.konf
/ etc / sysctl.konf
netto.ipv4.ip_forward = 1

Spara filen och tillämpa ändringen:

sudo sysctl -p
netto.ipv4.ip_forward = 1 

Om du använder UFW för att hantera din brandvägg måste du öppna UDP-trafik på port 51820:

sudo ufw tillåter 51820 / udp

Det är allt. Debian-kollegan som fungerar som en server har ställts in.

Linux- och macOS-klientinstallationsnummer #

Installationsinstruktionerna för alla plattformar som stöds finns på https: // wireguard.com / installera / . På Linux-system kan du installera paketet med hjälp av distributionspakethanteraren och på macOS med brygga.

När du har installerat följer du stegen nedan för att konfigurera klientenheten.

Processen för att ställa in en Linux- och macOS-klient är ungefär densamma som du gjorde för servern. Generera först de offentliga och privata nycklarna:

wg genkey | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Skapa filen wg0.konf och lägg till följande innehåll:

sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf
[Gränssnitt] PrivateKey = CLIENT_PRIVATE_KEY Adress = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Slutpunkt = SERVER_IP_ADDRESS: 51820 TillåtnaIPs = 0.0.0.0/0 

Inställningarna i gränssnittsavsnittet har samma betydelse som när du ställer in servern:

Peer-sektionen innehåller följande fält:

Om du behöver konfigurera ytterligare klienter, upprepar du bara samma steg med en annan privat IP-adress.

Windows Clients installationsnummer

Ladda ner och installera Windows msi-paketet från WireGuards webbplats .

När du är installerad öppnar du WireGuard-applikationen och klickar på "Lägg till tunnel" -> "Lägg till tom tunnel ..." som visas på bilden nedan:

Ett publickey-par skapas automatiskt och visas på skärmen.

Ange ett namn för tunneln och redigera konfigurationen enligt följande:

[Gränssnitt] PrivateKey = CLIENT_PRIVATE_KEY Adress = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Slutpunkt = SERVER_IP_ADDRESS: 51820 TillåtnaIPs = 0.0.0.0/0 

Lägg till en ny rad i gränssnittsavsnittet för att definiera klienttunneladressen.

Lägg till följande fält i peer-avsnittet:

När du är klar klickar du på knappen "Spara".

Lägg till klientpeer till servernummer

Det sista steget är att lägga till klientens offentliga nyckel och IP-adress till servern. För att göra det, kör följande kommando på Debianserver:

sudo wg set wg0 peer CLIENT_PUBLIC_KEY allow-ips 10.0.0.2

Se till att ändra CLIENT_PUBLIC_KEY med den offentliga nyckeln som du genererade på klientmaskinen (sudo cat / etc / wireguard / publickey) och justera klientens IP-adress om den är annorlunda. Windows-användare kan kopiera den offentliga nyckeln från WireGuard-applikationen.

När du är klar, gå tillbaka till klientmaskinen och ta upp tunnelgränssnittet.

Linux- och macOS-klienter #

Kör följande kommando och ta upp gränssnittet:

sudo wg-snabb upp wg0

Nu ska du vara ansluten till Debian-servern och trafiken från din klientmaskin ska dirigeras genom den. Du kan kontrollera anslutningen med:

sudo wg
gränssnitt: wg0 allmän nyckel: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privat nyckel: (dold) lyssningsport: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAgICgmg = PgQgQgmg.XXX.XXX.XXX: 51820 tillåtna ips: 0.0.0.0/0 senaste handskakning: 53 sekunder sedan överföring: 3.23 KiB mottog, 3.50 KiB skickas 

Du kan också öppna din webbläsare, skriva “vad är min ip”, och du bör se din IP-adress för Debianserver.

För att stoppa tunnlingen, ta ner wg0 gränssnitt:

sudo wg-snabb ner wg0

Windows-klienter #

Om du installerade WireGuard i Windows klickar du på knappen “Aktivera”. När kollegorna är anslutna ändras tunnelstatusen till Aktiv:

Slutsats #

Vi har visat dig hur du installerar WireGuard på Debian 10 och konfigurerar det som en VPN-server. Denna inställning låter dig surfa på webben anonymt genom att hålla din trafikinformation privat.

Om du har några problem är du välkommen att lämna en kommentar.

Battle for Wesnoth Tutorial
Slaget om Wesnoth är ett av de mest populära open source-strategispel som du kan spela just nu. Det här spelet har inte bara utvecklats under mycket l...
0 A.D. Handledning
Av de många strategispelen där ute, 0 A.D. lyckas framstå som en omfattande titel och ett mycket djupt, taktiskt spel trots att det är öppen källkod. ...
Unity3D självstudie
Introduktion till Unity 3D Unity 3D är en kraftfull spelutvecklingsmotor. Det är tvärplattform som gör att du kan skapa spel för mobil, webb, skrivbor...