Avec cette méthode, on établit le VPN Rézine avec un routeur OpenWrt, et ce routeur distribue ensuite le réseau Rézine à tous les appareils connectés dessus (en filaire, en Wi-Fi…). Ça fonctionne à la fois en IPv4 (NAT) et en IPv6 (distribution automatique d’adresse IPv6 Rézine aux appareils connectés).
Il n’existe pas de méthode graphique. Méthode copiée depuis la doc OpenWrt et adaptée pour Rézine.
Installation
Préparation
Installation des paquets
opkg update
opkg install wireguard
Configuration des paramètres
# Configuration parameters
WG_IF="wg0"
WG_SERV="193.33.56.19"
WG_PORT="51820"
WG_ADDR="<IPv4 VPN rezine>/32"
WG_ADDR6="<IPv6 VPN rezine>/128"
WG_PREFIX6="<prefixe IPv6 VPN rezine>/60"
-
<IPv4 VPN rezine>
est une information que l’on trouve sous la dénomination ‘Adresse IPv4’ dans son espace membre. -
<prefixe IPv6 VPN rezine>
est une information que l’on trouve sous la dénomination ‘Adresse IPv6’ dans son espace membre.
Gestion des clés
# Generate keys
umask go=
wg genkey | tee wgclient.key | wg pubkey > wgclient.pub
wg genpsk > wgclient.psk
# Client private key
WG_KEY="$(cat wgclient.key)"
WG_PUB="D58L/Gkx0R0n90HpNCY5iMOZMsQ1OIEmGGr7iGchwAk="
Partager le contenu de wgclient.pub sur Ambre.
Firewall
On considère que le VPN est un réseau public, donc on l’ajoute à la zone WAN, ce qui simplifie la configuration.
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci del_list firewall.wan.network="${WG_IF}"
uci add_list firewall.wan.network="${WG_IF}"
uci commit firewall
/etc/init.d/firewall restart
Network
Configuration du réseau WireGuard
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"
uci add_list network.${WG_IF}.addresses="${WG_ADDR}"
uci add_list network.${WG_IF}.addresses="${WG_ADDR6}"
uci set network.${WG_IF}.ip6prefix="${WG_PREFIX6}"
Ajout du serveur VPN (peer wireguard)
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${WG_IF}"
uci set network.wgserver.public_key="${WG_PUB}"
uci set network.wgserver.endpoint_host="${WG_SERV}"
uci set network.wgserver.endpoint_port="${WG_PORT}"
uci set network.wgserver.route_allowed_ips="1"
uci set network.wgserver.persistent_keepalive="25"
uci add_list network.wgserver.allowed_ips="0.0.0.0/0"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
/etc/init.d/network restart
DNS
TODO
Tests
traceroute openwrt.org
traceroute6 openwrt.org
Hardware
Voici quelques routeurs
Tests effectués sur fibre Orange
TP-LINK Archer C7
5 ports Gbit + wifi
- ping 17 ms
- download 72 Mb/s
- upload 68 Mb/s
Ubiquity EdgeRouter-X
5 ports Gbit. Plus performant mais pas de wifi.
- ping 16 ms
- download 190 Mb/s
- upload 150 Mb/s