====== Wireguard come vpn server su Arch Linux ======
Autore: **//Fabio Di Matteo//** \\ Ultima revisione: **// 06/12/2019 - 17:28 //** // //
Configureremo un server gnu/linux come gateway vpn per accedere ad una intera lan.
===== Parte server =====
Abilitiamo ip forwarding di linux. Creare il file **/etc/sysctl.d/99-sysctl.conf** (se non esiste) e inserire la seguente riga:
net.ipv4.ip_forward = 1
Creare le chiavi privata e pubblica del server:
wg genkey | tee privatekey | wg pubkey > publickey
Creare la chiave crittografica condivisa da server e clients:
wg genpsk > preshared
**Nel file di configurazione di seguito inserire il contenuto dei file delle chiavi non il percorso al file.**
Creiamo il file **wg0.conf** in /etc/wireguard come segue:
[Interface]
Address = 192.168.71.1/24
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o enp0s10 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o enp0s10 -j MASQUERADE
ListenPort = 3131
PrivateKey =
[Peer]
#client 1
PublicKey =
PresharedKey =
AllowedIPs = 192.168.71.2/32
le linee PostUp e PostDown servono per il corretto routing verso i client della rete, dove enp0s10 รจ la nostra scheda di rete principale.\\
Al client 1 assegnamo l'indirizzo 192.168.71.2 tramite //AllowedIPs = 192.168.71.2/32//
Per ogni client che si connettera' aggiungeremo una sezione Peer opportuna.
Proviamo la configurazione con il comando ''wg-quick up wg0'' (se non abbiamo ancora copiato il file in /etc/wireguard con ''wg-quick up ./wg0.conf'')
==== Abilitare la vpn al boot ====
systemctl enable wg-quick@wg0.service
===== Parte Client(s) =====
Creare le chiavi privata e pubblica del server:
wg genkey | tee privatekey | wg pubkey > publickey
Creare la chiave crittografica condivisa da server e clients:
wg genpsk > preshared
**wg0.conf**
[Interface]
Address = 192.168.71.2/24
PrivateKey =
[Peer]
PublicKey =
PresharedKey =
AllowedIPs = 192.168.71.0/24, 192.168.132.0/24, 192.168.1.0/24
Endpoint = myhost.net:3131
PersistentKeepalive = 25
//AllowedIPs = 192.168.71.0/24, 192.168.132.0/24, 192.168.1.0/24// abilita il routing del client verso queste reti.