Linux

Hvordan sette opp WireGuard VPN på Debian 10

Hvordan sette opp WireGuard VPN på Debian 10

WireGuard er en generell VPN (Virtual Private Network) som bruker topp moderne kryptografi. Sammenlignet med andre populære VPN-løsninger, som IPsec og OpenVPN, er WireGuard generelt raskere, lettere å konfigurere og har et mindre fotavtrykk. Den er plattformoverskridende og kan kjøre nesten hvor som helst, inkludert Linux, Windows, Android og macOS.

Wireguard er en peer-to-peer VPN; den bruker ikke klientservermodellen. Avhengig av konfigurasjonen kan en peer fungere som en tradisjonell server eller klient. Det fungerer ved å lage et nettverksgrensesnitt på hver peer-enhet som fungerer som en tunnel. Likemenn autentiserer hverandre ved å utveksle og validere offentlige nøkler, etterligne SSH-modellen. Offentlige nøkler er kartlagt med en liste over IP-adresser som er tillatt i tunnelen. VPN-trafikken er innkapslet i UDP.

Denne artikkelen forklarer hvordan du installerer og konfigurerer WireGuard på Debian 10 som fungerer som en VPN-server. Vi viser deg også hvordan du konfigurerer WireGuard som klient på Linux, Windows og macOS. Klientens trafikk vil bli dirigert gjennom Debian 10-serveren.

Dette oppsettet kan brukes som en beskyttelse mot Man in the Middle-angrepene, surfe på nettet anonymt, omgå geografisk begrenset innhold, eller la kollegene dine som jobber hjemmefra koble seg til bedriftsnettverket sikkert.

Forutsetninger #

For å følge denne veiledningen trenger du en maskin med Debian 10 installert. Du trenger også root eller [sudo access] (https: // linuxize.com / post / how-to-create-a-sudo-user-on-debian / for å installere pakker og gjøre endringer i systemet.

Sette opp WireGuard Server #

Vi starter med å installere WireGuard-pakken på Debian-maskinen og sette den opp til å fungere som en server. Vi konfigurerer også systemet for å dirigere kundenes trafikk gjennom det.

Installer WireGuard på Debian 10 #

WireGuard er tilgjengelig fra Debian backports repositories. For å legge til depotet til systemet ditt, kjør:

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

Når depotet er aktivert, oppdater apt cachen og installer WireGuard-modulen og verktøyene:

sudo apt oppdateringsudo apt installere wireguard
WireGuard kjører som en kjernemodul.

Konfigurere WireGuard #

Du kan konfigurere og administrere WireGuard-grensesnittene med wg og wg-rask kommandolinjeverktøy.

Hver enhet i WireGuard VPN-nettverket må ha en privat og offentlig nøkkel. Kjør følgende kommando for å generere nøkkelparet:

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

Filene genereres i / etc / wireguard katalog. Bruke katt eller mindre kommandoer for å vise innholdet i filene. Den private nøkkelen skal aldri deles med noen og bør alltid holdes sikker.

Wireguard støtter også en forhåndsdelt nøkkel, som legger til et ekstra lag med kryptografi med symmetrisk nøkkel. Denne nøkkelen er valgfri og må være unik for hvert jevnaldrende par.

Neste trinn er å konfigurere tunnelenheten som vil dirigere VPN-trafikken.

Enheten kan settes opp enten fra kommandolinjen ved hjelp av ip og wg kommandoer, eller ved å opprette konfigurasjonsfilen manuelt. Vi oppretter konfigurasjonen med en tekstredigerer.

Åpne redaktøren din og opprett en ny fil med navnet wg0.konf med følgende innhold:

sudo nano / etc / wireguard / wg0.konf
/ etc / wireguard / wg0.konf
[Grensesnitt] 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 navngi grensesnittet alt du vil. Det anbefales imidlertid å bruke noe lignende wg0 eller wgvpn0.

Innstillingene i grensesnittdelen har følgende betydning:

De wg0.konf og privathold filer skal ikke kunne leses for vanlige brukere. Bruk chmod for å sette filtillatelsene til 600:

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

Når du er ferdig, ta med wg0 grensesnitt opp ved hjelp av attributtene som er spesifisert i konfigurasjonsfilen:

sudo wg-quick up wg0

Utgangen vil se ut slik:

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

For å sjekke grensesnittstatus og konfigurasjon, kjør:

sudo wg show wg0
grensesnitt: wg0 offentlig nøkkel: + Vpyku + gjVJuXGR / OXXt6cmBKPdc06Qnm3hpRhMBtxs = privat nøkkel: (skjult) lytteport: 51820 

Du kan også bekrefte grensesnittstatusen med ip et show wg0:

ip et show wg0
4: wg0:  mtu 1420 qdisc noqueue state Ukjent gruppe standard qlen 1000 link / none inet 10.0.0.1/24 omfang global wg0 valid_lft for alltid foretrukket_lft for alltid 

WireGuard kan administreres med Systemd. For å få WireGuard-grensesnittet ved oppstartstid, kjør følgende kommando:

sudo systemctl aktiver wg-quick @ wg0

Servernettverk og brannmurkonfigurasjon #

IP-videresending må være aktivert for at NAT skal fungere. Åpne / etc / sysctl.konf fil og legg til eller fjern merking av følgende linje:

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

Lagre filen og bruk endringen:

sudo sysctl -p
nett.ipv4.ip_forward = 1 

Hvis du bruker UFW til å administrere brannmuren din, må du åpne UDP-trafikk på porten 51820:

sudo ufw tillate 51820 / udp

Det er det. Debian-kollegaen som vil fungere som en server er satt opp.

Linux- og macOS-klientoppsett #

Installasjonsinstruksjonene for alle støttede plattformer er tilgjengelige på https: // wireguard.com / installer / . På Linux-systemer kan du installere pakken ved hjelp av distribusjonspakkebehandling og på macOS med brygge.

Når du er installert, følger du trinnene nedenfor for å konfigurere klientenheten.

Prosessen for å sette opp en Linux- og macOS-klient er omtrent den samme som du gjorde for serveren. Generer først de offentlige og private nøklene:

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

Opprett filen wg0.konf og legg til følgende innhold:

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

Innstillingene i grensesnittdelen har samme betydning som når du konfigurerer serveren:

Peer-delen inneholder følgende felt:

Hvis du trenger å konfigurere flere klienter, er det bare å gjenta de samme trinnene med en annen privat IP-adresse.

Oppsettnr for Windows-klienter

Last ned og installer Windows msi-pakken fra WireGuard-nettstedet .

Når du er installert, åpner du WireGuard-applikasjonen og klikker på “Legg til tunnel” -> “Legg til tom tunnel ...” som vist på bildet nedenfor:

Et par med offentlige nøkler opprettes automatisk og vises på skjermen.

Skriv inn et navn på tunnelen og rediger konfigurasjonen som følger:

[Grensesnitt] PrivateKey = CLIENT_PRIVATE_KEY Adresse = 10.0.0.2/24 [Peer] PublicKey = SERVER_PUBLIC_KEY Endpoint = SERVER_IP_ADDRESS: 51820 TillattIPs = 0.0.0.0/0 

I grensesnittdelen legger du til en ny linje for å definere klienttunneladressen.

I peer-delen legger du til følgende felt:

Når du er ferdig, klikker du på "Lagre" -knappen.

Legg til klientpeer til serveren #

Det siste trinnet er å legge til klientens offentlige nøkkel og IP-adresse på serveren. For å gjøre det, kjør følgende kommando på Debian-serveren:

sudo wg sett wg0 peer CLIENT_PUBLIC_KEY tillatt-ips 10.0.0.2

Sørg for å endre CLIENT_PUBLIC_KEY med den offentlige nøkkelen du genererte på klientmaskinen (sudo cat / etc / wireguard / publickey) og juster klientens IP-adresse hvis den er annerledes. Windows-brukere kan kopiere den offentlige nøkkelen fra WireGuard-applikasjonen.

Når du er ferdig, gå tilbake til klientmaskinen og ta opp tunnelgrensesnittet.

Linux- og macOS-klienter #

Kjør følgende kommando for å få opp grensesnittet:

sudo wg-quick up wg0

Nå skal du være koblet til Debian-serveren, og trafikken fra klientmaskinen din skal dirigeres gjennom den. Du kan sjekke forbindelsen med:

sudo wg
grensesnitt: wg0 offentlig nøkkel: gFeK6A16ncnT1FG6fJhOCMPMeY4hZa97cZCNWis7cSo = privat nøkkel: (skjult) lytteport: 53527 fwmark: 0xca6c peer: r3imyh3MCYggaZACmkx + CxlD6uAgICgmg = PgQgAgQpQgAg.XXX.XXX.XXX: 51820 tillatt ips: 0.0.0.0/0 siste håndtrykk: 53 sekunder siden overføring: 3.23 KiB mottatt, 3.50 KiB sendt 

Du kan også åpne nettleseren din, skrive “hva er min ip”, og du bør se IP-adressen til Debian-serveren.

Ta ned tunnelen for å stoppe tunnelen wg0 grensesnitt:

sudo wg-quick ned wg0

Windows-klienter #

Hvis du installerte WireGuard på Windows, klikker du på “Aktiver” -knappen. Når jevnaldrende er koblet til, vil tunnelstatusen endres til Aktiv:

Konklusjon #

Vi har vist deg hvordan du installerer WireGuard på Debian 10 og konfigurerer det som en VPN-server. Dette oppsettet lar deg surfe på nettet anonymt ved å holde trafikkdataene dine private.

Hvis du har noen problemer, er du velkommen til å legge igjen en kommentar.

Hvordan utvikle et spill på Linux
For et tiår siden ville ikke mange Linux-brukere forutsi at deres favorittoperativsystem en dag ville være en populær spillplattform for kommersielle ...
Åpne kildeporter for kommersielle spillmotorer
Gratis, åpen kildekode og plattformspillmotorrekreasjoner kan brukes til å spille gamle så vel som noen av de ganske nylige spilletitlene. Denne artik...
Beste kommandolinjespill for Linux
Kommandolinjen er ikke bare din største allierte når du bruker Linux, den kan også være kilden til underholdning fordi du kan bruke den til å spille m...