Sådan oprettes en VPN-server derhjemme gratis

I denne artikel vil jeg guide dig trin for trin gennem processen med at oprette et WireGuard VPN på en Linux-server. Det giver dig adgang til sikre internetressourcer fra usikre steder som kaffebarer.

Men hvorfor en VPN? Og hvorfor WireGuard?

Når du opretter forbindelse til f.eks. Din banks websted fra en ekstern placering, risikerer du at udsætte adgangskode og andre følsomme oplysninger for alle, der lytter på netværket.

Forhåbentlig vil selvfølgelig bankens websted blive krypteret, hvilket betyder, at nøgledataene, der flyder mellem banken og din pc eller smartphone, ikke kan læses for alle, der lytter undervejs.

Og hvad med, hvis du opretter forbindelse fra dit hjem eller kontor? Med en VPN kan du være rimelig sikker på, at de dataelementer, der ikke er skjult af regelmæssig kryptering, ikke bliver set af de forkerte mennesker.

Men hvad hvis du opretter forbindelse via en offentlig WiFi-router i en lufthavn eller kaffebar? Er du sikker på, at netværket ikke er kompromitteret, eller at der ikke er hackere, der ser ubemærket hen?

For at imødegå denne meget reelle trussel kan du åbne en forbindelse på din bærbare computer eller telefon til en VPN-server. På denne måde finder alle dine dataoverførsler sted gennem en virtuel tunnel. Hver del af dine følsomme forbindelser vil være usynlige for alle på det lokale netværk, du opretter forbindelse til.

WireGuard er den nyeste af de tre store spillere i open source VPN-verdenen, hvor de to andre er IPsec og OpenVPN.

WireGuard er bygget til at være enklere, hurtigere og mere fleksibel end de andre. Det er det nye barn på blokken, men det har hurtigt hentet nogle vigtige venner. Efter opfordring fra Linux-skaberen Linus Torvalds selv blev WireGuard for nylig indarbejdet i Linux-kernen.

Hvor skal jeg oprette din VPN-server?

Sikker på, du kan altid sammensætte en VPN-server derhjemme og konfigurere portvideresendelse gennem din internetudbyders router. Men det giver ofte mere praktisk mening at køre det i skyen.

Bare rolig. Jeg kan forsikre dig om, at denne måde vil være meget tættere på en hurtig og smertefri "sæt det og glem det" konfiguration. Og det er meget usandsynligt, at uanset hvad du bygger derhjemme, ville være så pålidelig - eller sikker - som infrastrukturen, der leveres af de store skyudbydere som AWS.

Men hvis du tilfældigvis har en professionelt sikret internetserver, der ligger rundt i huset (eller du er villig til at tage en chance med en ekstra Raspberry Pi, du har lyst til), fungerer det næsten på samme måde.

Takket være WireGuard, hvad enten det er i skyen eller på en fysisk server, har det aldrig været lettere at lave dit eget hjem-VPN. Hele opsætningen kan udføres på en halv time.

Gøre sig klar

Få din skyinstans i gang, måske ved hjælp af en tutorial herfra.

Sørg for, at port 51820 er åben for din server. Dette gøres med sikkerhedsgrupper på AWS og en VPC-netværk firewall på Google Cloud.

Med moderne Debian / Ubuntu-udgivelser er Wireguard tilgængelig for at blive installeret fra pakkehåndtererne på denne måde:

sudo apt install wireguard 

Eller med yum fra EPEL-arkivet:

sudo yum install kmod-wireguard wireguard-tools 

Trin et: Opret krypteringsnøglerne

Brug denne kommando i ethvert bibliotek på serveren, hvor du vil oprette filer, der indeholder de offentlige og private nøgler:

umask 077; wg genkey | tee privatekey | wg pubkey > publickey 

Gør det samme for klienten i et andet bibliotek eller på din lokale maskine. Bare sørg for, at du senere kan skelne mellem de forskellige nøglesæt.

For hurtig opsætning kan du bruge en online nøglenerator. Jeg foreslår dog at gøre det manuelt første gang. Sørg for, at filer blev oprettet med nøglehash i dem, da du bruger dem i næste trin.

Trin to: Opret serverkonfigurationen

Du skal oprette en .conf- fil i / etc / wireguard-biblioteket. Du kan endda have flere VPN'er kørende på samme tid ved hjælp af forskellige porte.

Indsæt følgende kode i den nye fil:

sudo nano /etc/wireguard/wg0.conf 
[Interface] Address = 10.0.0.1/24 ListenPort = 51820 # use the server PrivateKey PrivateKey = GPAtRSECRETLONGPRIVATEKEYB0J/GDbNQg6V0s= # you can have as many peers as you wish # remember to replace the values below with the PublicKey of the peer [Peer] PublicKey = NwsVexamples4sBURwFl6HVchellou6o63r2B0s= AllowedIPs = 10.0.0.2/32 [Peer] PublicKey = NwsexampleNbw+s4sBnotFl6HrealxExu6o63r2B0s= AllowedIPs = 10.0.0.3/32 

Start VPN

sudo systemctl start [email protected] 

Hvis du ikke har systemd (hvilket muligvis er sandt, hvis din forekomst kører Amazon Linux), kan du bruge sudo wg-quick up wg0.

Trin tre: Opret klientkonfigurationen

Installer først Wireguard på din klientmaskine enten på samme måde på Linux eller gennem en appbutik, hvis du bruger Windows, macOS, Android eller iPhone.

Hvis du brugte et online-nøglegenerator eller QR-script i trin 1, kan du forbinde din telefon ved at tage et billede af QR-koden.

Når WireGuard er installeret på klienten, skal du konfigurere det ved hjælp af disse værdier:

# Replace the PrivateKey value with the one from your client interface [Interface] Address = 10.0.0.2/24 ListenPort = 51820 PrivateKey = CNNjIexAmple4A6NMkrDt4iyKeYD1BxSstzer49b8EI= #use the VPN server's PublicKey and the Endpoint IP of the cloud instance [Peer] PublicKey = WbdIAnOTher1208Uwu9P17ckEYxI1OFAPZ8Ftu9kRQw= AllowedIPs = 0.0.0.0/0 Endpoint = 34.69.57.99:51820 

Der er mange valgfrie tilføjelser, som du måske vil have afhængigt af din brugstilfælde, såsom at specificere DNS eller foruddelte nøgler for et ekstra lag af sikkerhed.

Start klienten på samme måde som serveren, hvis du er på Linux eller gennem selve applikationen på andre systemer.

Test din VPN

Skriv "min ip" i din browser for at finde din offentlige IP-adresse. Hvis den IP, du får, adskiller sig fra den adresse, din computer havde, før du startede VPN, var du vellykket!

(Og hvis du har glemt hvad det var før, så prøv at sudo systemctl stop [email protected]kontrollere og starte det igen.)

Fejlfindingsvejledning

Sørg for, at din server er konfigureret til IP-videresendelse. Tjek /etc/sysctl.conf-filen, eller kør:

echo 1 > /proc/sys/net/ipv4/ip_forward 

Din forbindelse dør ofte? Føj dette til peer-sektionen i klientkonfigurationen:

PersistentKeepalive = 25 

Ikke sikker på, hvorfor det ikke fungerer? Prøv sudo tcpdump -i ethpå serveren, mens du prøver at bruge klienten.

Tak, fordi du læste denne vejledning.

Hvis du vil dykke dybere, kan du overveje at tage mit betalte Manning-kursus på WireGuard VPN.