Barra laterale

rete:wireguard:wireguard_vpn_server

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 = <chiave privata server>

[Peer]
#client 1
PublicKey =  <chiave pubblica client>
PresharedKey =  <chiave statica condivisa con il client>
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 = <chiave privata client>

[Peer]
PublicKey = <chiave pubblica server>
PresharedKey = <chiave statica condivisa col server>
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.


rete/wireguard/wireguard_vpn_server.txt · Ultima modifica: 06/12/2019 - 22:23 da Fabio Di Matteo