Hoe u Wireguard VPN op Linux instelt

Hoe u Wireguard VPN op Linux instelt
Een foto van een laptop met daarnaast een desktopmonitor.

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 terminal met een iperf3-test tussen twee Wireguard-knooppunten, met een hoge doorvoer.

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.

Een terminal met Wireguard geladen op de Linux-kernel.

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 dnfpakketbeheerder gebruiken:

Voor Arch Linux kunt u pacmande volgende Wireguard-kerntools downloaden:

Controleer of u de Wireguard-tools correct hebt geïnstalleerd door het helpscherm te laden:

Een terminal met het helpmenu voor de Wireguard-gebruikersruimtetool.

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.

Een terminal die het proces van het kopiëren van de persoonlijke sleutel van de server op Ubuntu laat zien.

Vervang de waarde van de PrivateKeyvariabele met de sleutel op uw klembord.

Een terminal die de persoonlijke serversleutel in de Wireguard-configuratie van de server weergeeft.

Zoek de netwerkinterface die toegang heeft tot internet met behulp van de ipopdracht:

Een terminal die de naam van de netwerkinterface met toegang tot internet markeert.

Stel de waarde van de -ovlag op beide PostUpen PostDownvariabelen in op de interface met internettoegang en sla vervolgens uw configuratiebestand op.

Een terminal die de juiste apparaatnaam in het configuratiebestand van de Wireguard-server weergeeft.

Open het bestand “/etc/sysctl.conf” van de server met uw favoriete teksteditor:

Scroll naar beneden naar de regel met net.ipv4.ip_forward=1en verwijder het hekje (#) ervoor.

Een terminal die de locatie van de IPv4-doorstuuroptie in sysctl.conf markeert.

Laad uw nieuwe sysctl-configuratie opnieuw door het volgende uit te voeren: sudo sysctl -p.

Een terminal die het proces van het opnieuw laden van het bestand sysctl.conf laat zien.

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 PrivateKeyvariabele met de persoonlijke sleutel van uw client.

Een terminal die de persoonlijke sleutel voor de eerste Wireguard-client markeert.

Open de terminalsessie van uw Wireguard-server en druk vervolgens de openbare sleutel af:

Stel de waarde van de PublicKeyvariabele in op de openbare sleutel van uw server.

Een terminal die de openbare sleutel van de Wireguard-server markeert in het configuratiebestand van de tweede client.

Wijzig de Endpointvariabele in het IP-adres van uw Wireguard-server.

Een terminal die het IP-adres van de Wireguard-server markeert.

Sla uw configuratiebestand op en gebruik vervolgens de wg-quickopdracht om de Wireguard-client te starten:

Een terminal die het proces van het starten van de Wireguard-clientdaemon laat zien.

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 PublicKeyvariabele in op de openbare sleutel van uw Wireguard-client.

Een terminal die de locatie van het [Peer]-blok weergeeft en de openbare sleutel van de client markeert.

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 ListenPortvariabele in op 60102. Hiermee voorkomt u poortconflicten tussen de VPN-interfaces wg0 en wg1.

Een terminal die de aangepaste ListenPort-variabele voor de tweede Wireguard-interface markeert.

Ga naar de [Peer]sectie en verander de AllowedIPsvariabele van “10.0.0.2/32” naar “10.0.0.3/32” en sla vervolgens uw configuratiebestand op.

Een terminal die de aangepaste AllowedIPs-variabele voor de tweede Wireguard-client markeert.

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 PrivateKeyvariabele in op de persoonlijke sleutel van uw tweede computer en wijzig de PublicKeyvariabele vervolgens in de openbare sleutel van uw server.

Een terminal die de privésleutel van de tweede client en de openbare sleutel van de Wireguard-server markeert.

Vervang de Endpoint-variabele door het IP-adres van uw server, gevolgd door “:60102.”

Een terminal die het IP-adres van de Wireguard-server in de configuratie van de tweede client markeert.

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 PublicKeyvariabele met de openbare sleutel van uw tweede client.

Een terminal die de openbare sleutel van de tweede client in het wg1-configuratiebestand van de server markeert.

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.

Een terminal met de twee clientknooppunten die communiceren met de Wireguard-server.

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, curlaangezien er al netwerkhulpmiddelen bijgeleverd worden:

Voor Arch Linux kunt u pacmande 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:

Een terminal met een succesvol traceroute-commando tussen twee Wireguard-knooppunten.

Controleer of een van uw knooppunten toegang heeft tot het openbare internet door een gemeenschappelijk IP-adres te pingen:

Een terminal die de latentie van het Wireguard-netwerk naar een externe site weergeeft.

Controleer ten slotte of uw knooppunten hetzelfde openbare IP-adres delen met uw Wireguard-server:

Een terminal die het vergelijkbare externe IP-adres van drie Wireguard-knooppunten benadrukt.

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

Je e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *