Linux

Sådan oprettes WireGuard VPN på Debian 10

Sådan oprettes WireGuard VPN på Debian 10

WireGuard er en generel VPN (Virtual Private Network), der bruger avanceret kryptografi. Sammenlignet med andre populære VPN-løsninger, såsom IPsec og OpenVPN, er WireGuard generelt hurtigere, lettere at konfigurere og har et mindre fodaftryk. Det er på tværs af platforme og kan køre næsten overalt, inklusive Linux, Windows, Android og macOS.

Wireguard er en peer-to-peer VPN; det bruger ikke klientservermodellen. Afhængigt af konfigurationen kan en peer fungere som en traditionel server eller klient. Det fungerer ved at oprette en netværksgrænseflade på hver peer-enhed, der fungerer som en tunnel. Kammerater godkender hinanden ved at udveksle og validere offentlige nøgler og efterligne SSH-modellen. Offentlige nøgler kortlægges med en liste over IP-adresser, der er tilladt i tunnelen. VPN-trafikken er indkapslet i UDP.

Denne artikel forklarer, hvordan du installerer og konfigurerer WireGuard på Debian 10, der fungerer som en VPN-server. Vi viser dig også, hvordan du konfigurerer WireGuard som klient på Linux, Windows og macOS. Klientens trafik dirigeres via Debian 10-serveren.

Denne opsætning kan bruges som en beskyttelse mod Man in the Middle angreb, surfe på nettet anonymt, omgå Geo-begrænset indhold eller lade dine kolleger, der arbejder hjemmefra, oprette forbindelse til virksomhedsnetværket sikkert.

Forudsætninger #

For at følge denne vejledning skal du have en maskine med Debian 10 installeret. Du har også brug for root eller [sudo-adgang] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / for at installere pakker og foretage ændringer i systemet.

Opsætning af WireGuard Server #

Vi starter med at installere WireGuard-pakken på Debian-maskinen og indstille den til at fungere som en server. Vi konfigurerer også systemet til at dirigere kundernes trafik gennem det.

Installer WireGuard på Debian 10 #

WireGuard er tilgængelig fra Debian backports repositories. For at tilføje lageret til dit system skal du køre:

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

Når arkivet er aktiveret, skal du opdatere apt-cachen og installere WireGuard-modulet og værktøjerne:

sudo apt opdateringsudo apt installere wireguard
WireGuard kører som et kernemodul.

Konfiguration af WireGuard #

Du kan konfigurere og administrere WireGuard-grænsefladerne med wg og wg-hurtig kommandolinjeværktøjer.

Hver enhed i WireGuard VPN-netværket skal have en privat og offentlig nøgle. Kør følgende kommando for at generere nøgleparret:

wg nøgle | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Filerne genereres i / etc / wireguard vejviser. Brug kat eller mindre kommandoer til at se indholdet af filerne. Den private nøgle skal aldrig deles med nogen og skal altid opbevares sikker.

Wireguard understøtter også en præ-delt nøgle, som tilføjer et ekstra lag af symmetrisk nøglekryptografi. Denne nøgle er valgfri og skal være unik for hvert peer-par.

Det næste trin er at konfigurere tunnelenheden, der dirigerer VPN-trafikken.

Enheden kan konfigureres enten fra kommandolinjen ved hjælp af ip og wg kommandoer eller ved manuelt at oprette konfigurationsfilen. Vi opretter konfigurationen med en teksteditor.

Åbn din editor og opret en ny fil med navnet wg0.konf med følgende indhold:

sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf
[Interface] Adresse = 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 navngive grænsefladen, hvad du vil. Det anbefales dog at bruge noget lignende wg0 eller wgvpn0.

Indstillingerne i grænsefladesektionen har følgende betydning:

Det wg0.konf og privat husholdning filer bør ikke kunne læses for normale brugere. Brug chmod for at indstille filtilladelserne til 600:

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

Når du er færdig, skal du bringe wg0 interface op ved hjælp af de attributter, der er angivet i konfigurationsfilen:

sudo wg-hurtig op wg0

Outputtet ser sådan ud:

[#] ip link tilføj wg0 type wireguard [#] wg setconf wg0 / dev / fd / 63 [#] ip -4 adresse tilføj 10.0.0.1/24 dev wg0 [#] ip link set mtu 1420 op dev wg0 [#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE 

For at kontrollere interface-tilstand og konfiguration skal du køre:

sudo wg viser wg0
grænseflade: wg0 offentlig nøgle: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = privat nøgle: (skjult) lytteport: 51820 

Du kan også kontrollere interface-tilstanden med ip et show wg0:

ip et show wg0
4: wg0:  mtu 1420 qdisc noqueue state Ukendt gruppe standard qlen 1000 link / ingen inet 10.0.0.1/24 scope global wg0 valid_lft for altid foretrukket_lft for evigt 

WireGuard kan styres med Systemd. For at bringe WireGuard-grænsefladen ved opstartstid skal du køre følgende kommando:

sudo systemctl aktiver wg-hurtig @ wg0

Servernetværk og firewallkonfiguration #

IP-videresendelse skal være aktiveret for at NAT kan fungere. Åbn / etc / sysctl.konf fil og tilføj eller fjern kommentar til følgende linje:

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

Gem filen og anvend ændringen:

sudo sysctl -p
net.ipv4.ip_forward = 1 

Hvis du bruger UFW til at administrere din firewall, skal du åbne UDP-trafik på port 51820:

sudo ufw tillad 51820 / udp

Det er det. Den Debian-peer, der fungerer som en server, er oprettet.

Opsætning af Linux og macOS-klienter #

Installationsvejledningen til alle understøttede platforme er tilgængelig på https: // wireguard.com / installer / . På Linux-systemer kan du installere pakken ved hjælp af distributionspakkehåndteringen og på macOS med brygge.

Når du er installeret, skal du følge nedenstående trin for at konfigurere klientenheden.

Processen til opsætning af en Linux- og macOS-klient er stort set den samme som du gjorde for serveren. Generér først de offentlige og private nøgler:

wg nøgle | sudo tee / etc / wireguard / privatekey | wg pubkey | sudo tee / etc / wireguard / publickey

Opret filen wg0.konf og tilføj følgende indhold:

sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf
[Interface] PrivateKey = CLIENT_PRIVATE_KEY Adresse = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Slutpunkt = SERVER_IP_ADDRESS: 51820 TilladtIPs = 0.0.0.0/0 

Indstillingerne i grænsefladesektionen har samme betydning som ved opsætning af serveren:

Peer-sektionen indeholder følgende felter:

Hvis du har brug for at konfigurere yderligere klienter, skal du bare gentage de samme trin ved hjælp af en anden privat IP-adresse.

Windows Clients opsætningsnummer #

Download og installer Windows msi-pakken fra WireGuard-webstedet .

Når du er installeret, skal du åbne WireGuard-applikationen og klikke på "Tilføj tunnel" -> "Tilføj tom tunnel ..." som vist på billedet nedenfor:

Et publickey-par oprettes automatisk og vises på skærmen.

Indtast et navn til tunnelen, og rediger konfigurationen som følger:

[Interface] PrivateKey = CLIENT_PRIVATE_KEY Adresse = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Slutpunkt = SERVER_IP_ADDRESS: 51820 TilladtIPs = 0.0.0.0/0 

I grænsefladesektionen skal du tilføje en ny linje for at definere klienttunneladressen.

I peer-sektionen skal du tilføje følgende felter:

Når du er færdig, skal du klikke på knappen "Gem".

Føj klientpeer til serveren #

Det sidste trin er at tilføje klientens offentlige nøgle og IP-adresse til serveren. For at gøre det skal du køre følgende kommando på Debian-serveren:

sudo wg sæt wg0 peer CLIENT_PUBLIC_KEY tilladt-ips 10.0.0.2

Sørg for at ændre CLIENT_PUBLIC_KEY med den offentlige nøgle, du genererede på klientmaskinen (sudo cat / etc / wireguard / publickey) og juster klientens IP-adresse, hvis den er anderledes. Windows-brugere kan kopiere den offentlige nøgle fra WireGuard-applikationen.

Når du er færdig, skal du gå tilbage til klientmaskinen og åbne tunnelgrænsefladen.

Linux- og macOS-klienter #

Kør følgende kommando for at bringe grænsefladen op:

sudo wg-hurtig op wg0

Nu skal du være forbundet til Debian-serveren, og trafikken fra din klientmaskine skal dirigeres gennem den. Du kan kontrollere forbindelsen med:

sudo wg
grænseflade: wg0 offentlig nøgle: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privat nøgle: (skjult) lytteport: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAgICgmqxgpg: P3gAp =.XXX.XXX.XXX: 51820 tilladt ips: 0.0.0.0/0 seneste handshake: 53 sekunder siden overførsel: 3.23 KiB modtaget, 3.50 KiB sendt 

Du kan også åbne din browser, skrive "hvad er min ip", og du skal se din IP-adresse på Debian-serveren.

For at stoppe tunnellen skal du bringe ned wg0 grænseflade:

sudo wg-hurtig ned wg0

Windows-klienter #

Hvis du installerede WireGuard i Windows, skal du klikke på knappen “Aktivér”. Når jævnaldrende er tilsluttet, ændres tunnelstatus til Aktiv:

Konklusion #

Vi har vist dig, hvordan du installerer WireGuard på Debian 10 og konfigurerer det som en VPN-server. Denne opsætning giver dig mulighed for at surfe anonymt på nettet ved at holde dine trafikdata private.

Hvis du har problemer, er du velkommen til at efterlade en kommentar.

Sådan udvikler du et spil på Linux
For et årti siden ville ikke mange Linux-brugere forudsige, at deres foretrukne operativsystem en dag ville være en populær spilplatform til kommercie...
Open Source-porte med kommercielle spilmotorer
Gratis, open source og cross-platform spilmotorgendringer kan bruges til at spille gamle såvel som nogle af de temmelig nylige spiltitler. Denne artik...
Bedste kommandoliniespil til Linux
Kommandolinjen er ikke kun din største allierede, når du bruger Linux, den kan også være kilde til underholdning, fordi du kan bruge den til at spille...