GNU/Linux >> Linux Esercitazione >  >> Ubuntu

WireGuard:un tunnel VPN veloce, moderno e sicuro per Linux

WireGuard è una VPN moderna, sicura, multipiattaforma e generica implementazione che utilizza una crittografia all'avanguardia. Mira ad essere veloce, più semplice, più snello e più funzionale di IPsec e intende essere più performante di OpenVPN .

È progettato per l'uso in varie circostanze e può essere implementato su interfacce integrate, router backbone completamente caricati e supercomputer allo stesso modo; e funziona su sistemi operativi Linux, Windows, macOS, BSD, iOS e Android.

Lettura consigliata :13 migliori servizi VPN con abbonamento a vita

Presenta un'interfaccia estremamente semplice ma potente che mira ad essere semplice, facile da configurare e distribuire come SSH. Le sue caratteristiche principali includono una semplice interfaccia di rete, il routing delle chiavi crittografiche, il roaming integrato e il supporto dei container.

Nota che al momento in cui scrivo, è in forte sviluppo:alcune delle sue parti stanno lavorando verso una versione stabile 1.0, mentre altre sono già lì (funzionano bene).

In questo articolo imparerai come installare e configurare WireGuard in Linux per creare un tunnel VPN tra due host Linux.

Ambiente di test

Per questa guida, la nostra configurazione (nome host e IP pubblico) è la seguente:

Node 1 : tecmint-appserver1: 		10.20.20.4
Node 2 : tecmint-dbserver1: 		10.20.20.3

Come installare WireGuard nelle distribuzioni Linux

Accedi a entrambi i nodi e installa WireGuard utilizzando il seguente comando appropriato per le tue distribuzioni Linux come segue.

Installa WireGuard in RHEL 8

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
$ sudo subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installa WireGuard in CentOS 8

$ sudo yum install epel-release
$ sudo yum config-manager --set-enabled PowerTools
$ sudo yum copr enable jdoss/wireguard
$ sudo yum install wireguard-dkms wireguard-tools

Installa WireGuard in RHEL/CentOS 7

$ sudo yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
$ sudo curl -o /etc/yum.repos.d/jdoss-wireguard-epel-7.repo https://copr.fedorainfracloud.org/coprs/jdoss/wireguard/repo/epel-7/jdoss-wireguard-epel-7.repo
$ sudo yum install wireguard-dkms wireguard-tools

Installa WireGuard in Fedora

$ sudo dnf install wireguard-tools

Installa WireGuard in Debian

# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable.list
# printf 'Package: *\nPin: release a=unstable\nPin-Priority: 90\n' > /etc/apt/preferences.d/limit-unstable
# apt update
# apt install wireguard

Installa WireGuard in Ubuntu

$ sudo add-apt-repository ppa:wireguard/wireguard
$ sudo apt-get update
$ sudo apt-get install wireguard

Installa WireGuard in OpenSUSE

$ sudo zypper addrepo -f obs://network:vpn:wireguard wireguard
$ sudo zypper install wireguard-kmp-default wireguard-tools

Configurazione di un tunnel VPN WireGuard tra due host Linux

Quando l'installazione di wireguard è completo su entrambi i nodi, puoi riavviare i tuoi nodi o aggiungere il modulo wireguard dal kernel Linux usando il seguente comando su entrambi i nodi.

$ sudo modprobe wireguard
OR
# modprobe wireguard

Quindi, genera chiavi pubbliche e private con codifica base64 utilizzando il wg utility su entrambi i nodi come mostrato.

---------- On Node 1 ---------- 
$ umask 077
$ wg genkey >private_appserver1

---------- On Node 2 ----------
$ umask 077
$ wg genkey >private_dbserver1
$ wg pubkey < private_dbserver1

Genera chiavi su entrambi i nodi

Successivamente, devi creare un'interfaccia di rete (ad es. wg0 ) per wiregaurd sui peer come mostrato di seguito. Assegna quindi gli indirizzi IP alla nuova interfaccia di rete creata (per questa guida utilizzeremo la rete 192.168.10.0/24 ).

---------- On Node 1 ---------- 
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.1/24 dev wg0

---------- On Node 2 ----------
$ sudo ip link add dev wg0 type wireguard
$ sudo ip addr add 192.168.10.2/24 dev wg0

Per visualizzare le interfacce di rete collegate sui peer e i relativi indirizzi IP, utilizzare il seguente comando IP.

$ ip ad

Visualizza le interfacce di rete con indirizzi IP

Quindi, assegna la chiave privata per ogni peer al wg0 interfaccia di rete e visualizzare l'interfaccia come mostrato.

---------- On Node 1 ---------- 
$ sudo wg set wg0 private-key ./private_appserver1
$ sudo ip link set wg0 up

---------- On Node 2 ----------
$ sudo wg set wg0 private-key ./private_dbserver1
$ sudo ip link set wg0 up

Ora che entrambi i collegamenti sono attivi con chiavi private associate, esegui il wg utility senza argomenti per recuperare la configurazione delle interfacce WireGuard sui peer. Quindi crea il tuo tunnel VPN wireguard come segue.

Il peer (chiave pubblica ), ip consentiti (rete/maschera di sottorete) e endpoint (ip pubblico:porta) sono del peer opposto.

----------  On Node1 (Use the IPs and Public Key of Node 2) ---------- 
$ sudo wg
$ sudo wg set wg0 peer MDaeWgZVULXP4gvOj4UmN7bW/uniQeBionqJyzEzSC0= allowed-ips 192.168.10.0/24  endpoint  10.20.20.3:54371

----------  On Node2 (Use the IPs and Public Key of Node 1) ----------
$ sudo wg
$ sudo wg set wg0 peer 6yNLmpkbfsL2ijx7z996ZHl2bNFz9Psp9V6BhoHjvmk= allowed-ips 192.168.10.0/24 endpoint  10.20.20.4:42930

Crea un tunnel VPN Wireguard tra macchine Linux

Test del tunnel VPN WireGuard tra sistemi Linux

Una volta creato il tunnel VPN wireguard, eseguire il ping del peer opposto utilizzando l'indirizzo dell'interfaccia di rete wireguard. Quindi esegui il wg utility ancora una volta per confermare una stretta di mano tra i peer come mostrato.

---------- On Node 1 ----------
$ ping 192.168.10.2
$ sudo wg

---------- On Node 2 ----------
$ ping 192.168.10.1
$ sudo wg

Testare il tunnel VPN Wireguard tra macchine Linux

Per ora è tutto! WireGuard è una soluzione VPN moderna, sicura, semplice ma potente e facile da configurare per il futuro. Sta subendo un forte sviluppo quindi work in progress. Puoi ottenere maggiori informazioni in particolare sul suo funzionamento interno e altre opzioni di configurazione dalla home page di WireGuard.

Condividere è prendersi cura...
Condividi su FacebookCondividi su TwitterCondividi su LinkedinCondividi su Reddit
Ubuntu
  1. 10 tutorial sui comandi Linux per principianti ed esperti

  2. Cheat sheet per utenti e autorizzazioni Linux

  3. CLIENT OPENVPN Per Windows e Linux

  4. I 7 migliori giochi gratuiti e open source per Linux

  5. Le 7 migliori distribuzioni Linux gratuite e open source per la privacy e l'anonimato

Tox Messenger:un'alternativa gratuita, sicura e open source per Skype

DockerSlim per minimizzare, ottimizzare e proteggere il container Docker in Linux

Come installare OpenVPN in Ubuntu Linux:un tutorial per principianti

Come configurare WireGuard VPN su Linux

10 migliori client e servizi VPN Linux per proteggerti

Gli 8 migliori telefoni sicuri Linux per la privacy e la sicurezza