====== 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.