Hoe u Wireguard VPN op Linux instelt
Wireguard is een krachtige open source virtual private network (VPN) daemon die zowel op desktops als mobiele apparaten kan draaien. Het biedt een snel en lichtgewicht alternatief voor traditionele VPN-oplossingen zoals IPsec en OpenVPN. Hier laten we u zien hoe u Wireguard installeert en een eenvoudige VPN-setup maakt met behulp van drie Linux-machines.
Waarom Wireguard gebruiken als VPN-oplossing?
Een van de grootste verkoopargumenten van Wireguard is dat het een snelle en lichtgewicht VPN-daemon is. In tegenstelling tot traditionele oplossingen voegt Wireguard niet veel overhead toe aan uw netwerk. Dit resulteert in een lagere latentie en een hoge algehele doorvoersnelheid over uw nodes.
Een andere belangrijke eigenschap van Wireguard is dat het een module is binnen de Linux-kernel. Hierdoor kan het worden uitgevoerd zonder extra systeembronnen van uw computer in beslag te nemen, waardoor het een ideale keuze is voor implementatie op low-end en SOC-apparaten.
Tot slot maakt Wireguard ook gebruik van moderne cryptografische standaarden en ontwikkelingspraktijken. Het had ook meerdere formele verificaties, die Wireguard’s codecorrectheid, veiligheidsgaranties en het vermogen om aanvallen te weerstaan, bevestigen.
Wireguard verkrijgen
De eerste stap om Wireguard op Linux in te stellen is om de kerntools te downloaden van de repository van uw distro. Hiermee kunt u de ingebouwde Wireguard-kernelmodule besturen met behulp van userspace-opdrachten.
Om de kernhulpmiddelen in Ubuntu en Debian te installeren, voert u de volgende opdracht uit:
In Fedora kunt u de dnf
pakketbeheerder gebruiken:
Voor Arch Linux kunt u pacman
de volgende Wireguard-kerntools downloaden:
Controleer of u de Wireguard-tools correct hebt geïnstalleerd door het helpscherm te laden:
De Wireguard-server instellen
Veronderstelling: Dit artikel gaat ervan uit dat u de Wireguard-server installeert op een Linux-systeem met een openbaar toegankelijk IPv4-adres. De instructies werken nog steeds op een server achter een NAT, maar deze vindt geen knooppunten buiten het subnet.
Met de Wireguard core toolkit op uw Linux-machines kunt u nu de servernode van uw VPN instellen. Deze zal dienen als internetgateway voor uw clientnodes in het netwerk.
Begin met het navigeren naar uw Wireguard-configuratiemap en stel de standaardmachtigingen in op ‘alleen root’:
Genereer de openbare en persoonlijke sleutel voor uw Wireguard-server:
Maak het configuratiebestand van uw server met uw favoriete teksteditor:
Plak het volgende codeblok in uw serverconfiguratiebestand:
Open een nieuwe terminalsessie en druk vervolgens de Wireguard-privésleutel van uw server af:
Kopieer de persoonlijke sleutel van uw server naar uw klembord.
Vervang de waarde van de PrivateKey
variabele met de sleutel op uw klembord.
Zoek de netwerkinterface die toegang heeft tot internet met behulp van de ip
opdracht:
Stel de waarde van de -o
vlag op beide PostUp
en PostDown
variabelen in op de interface met internettoegang en sla vervolgens uw configuratiebestand op.
Open het bestand “/etc/sysctl.conf” van de server met uw favoriete teksteditor:
Scroll naar beneden naar de regel met net.ipv4.ip_forward=1
en verwijder het hekje (#) ervoor.
Laad uw nieuwe sysctl-configuratie opnieuw door het volgende uit te voeren: sudo sysctl -p
.
De Wireguard-client instellen en verbinden
Op dit punt heb je nu een correct geconfigureerde Wireguard-server zonder peers. Om het te gebruiken, moet je je eerste Wireguard-client instellen en verbinden.
Navigeer naar de Wireguard-configuratiemap van uw clientsysteem en stel de standaardmachtigingen in:
Genereer het Wireguard-sleutelpaar van uw client met behulp van de volgende opdracht:
Maak het Wireguard-configuratiebestand van de client met uw favoriete teksteditor:
Plak het volgende codeblok in uw clientconfiguratiebestand:
Vervang de PrivateKey
variabele met de persoonlijke sleutel van uw client.
Open de terminalsessie van uw Wireguard-server en druk vervolgens de openbare sleutel af:
Stel de waarde van de PublicKey
variabele in op de openbare sleutel van uw server.
Wijzig de Endpoint
variabele in het IP-adres van uw Wireguard-server.
Sla uw configuratiebestand op en gebruik vervolgens de wg-quick
opdracht om de Wireguard-client te starten:
De Wireguard-server koppelen aan de client
Ga naar de terminalsessie van uw Wireguard-server en open het configuratiebestand:
Plak het volgende codeblok na de [Interface]
sectie:
Stel de PublicKey
variabele in op de openbare sleutel van uw Wireguard-client.
Sla het configuratiebestand op en voer de volgende opdracht uit om de Wireguard-service op uw server te starten:
Een tweede client toevoegen aan de server
Een belangrijke eigenschap van elke VPN-service is dat het meerdere machines van verschillende netwerken met elkaar kan verbinden. Dit is handig als u computers op verschillende locaties hebt of een privé-gameserver voor uw vrienden wilt hosten.
Om dit in Wireguard te doen, moet u een configuratiebestand maken voor een nieuwe VPN-interface op uw server. De eenvoudigste manier om dit te doen, is door uw huidige serverconfiguratie te kopiëren en de kopie een nieuwe naam te geven:
Open uw nieuwe configuratiebestand met uw favoriete teksteditor:
Stel de ListenPort
variabele in op 60102. Hiermee voorkomt u poortconflicten tussen de VPN-interfaces wg0 en wg1.
Ga naar de [Peer]
sectie en verander de AllowedIPs
variabele van “10.0.0.2/32” naar “10.0.0.3/32” en sla vervolgens uw configuratiebestand op.
De tweede Wireguard-client configureren
Meld u aan op uw tweede machine en bereid uw Wireguard-configuratiemap voor:
Genereer een nieuw Wireguard-sleutelpaar met de volgende opdracht:
Maak een nieuw configuratiebestand met uw favoriete teksteditor:
Plak het volgende codeblok in uw nieuwe configuratiebestand:
Stel de PrivateKey
variabele in op de persoonlijke sleutel van uw tweede computer en wijzig de PublicKey
variabele vervolgens in de openbare sleutel van uw server.
Vervang de Endpoint-variabele door het IP-adres van uw server, gevolgd door “:60102.”
Sla uw configuratiebestand op en start vervolgens de Wireguard-client van de tweede machine:
De tweede client koppelen aan de Wireguard-server
Meld u opnieuw aan bij uw Wireguard-server en open vervolgens de VPN-interfaceconfiguratie voor uw tweede client:
Scroll naar beneden naar het [Peer]
gedeelte en vervang de PublicKey
variabele met de openbare sleutel van uw tweede client.
Sla uw configuratiebestand op en start vervolgens de tweede VPN-interface met de opdracht wg-quick:
Controleer of uw eerste en tweede Wireguard-client correct op uw server worden weergegeven door wg
. uit te voeren.
Testen van het Wireguard-netwerk
Met zowel uw server als clients op het Wireguard-netwerk kunt u nu de connectiviteit en latentie tussen uw nodes testen. Om dit te doen, moet u ervoor zorgen dat u netwerkdiagnosetools op uw systeem hebt geïnstalleerd:
In Fedora hoeft u alleen maar te installeren, curl
aangezien er al netwerkhulpmiddelen bijgeleverd worden:
Voor Arch Linux kunt u pacman
de netwerkhulpmiddelen installeren en curl
:
Begin met het volgen van de route van een pakket tussen twee clients. Hieronder ziet u hoe een IP-pakket van “10.0.0.2” naar “10.0.0.3” gaat:
Controleer of een van uw knooppunten toegang heeft tot het openbare internet door een gemeenschappelijk IP-adres te pingen:
Controleer ten slotte of uw knooppunten hetzelfde openbare IP-adres delen met uw Wireguard-server:
Leren hoe je een Wireguard-netwerk op Linux opzet, is de eerste stap in het verkennen van de fascinerende wereld van VPN’s. Duik er diep in en bekijk onze keuzes voor de beste op beveiliging gerichte VPN-providers die je vandaag kunt krijgen.
Afbeelding: Kari Shea via Unsplash en Wikimedia Commons . Alle wijzigingen en screenshots door Ramces Red.
Geef een reactie