Wireguard » Historique » Version 12
Version 11 (Matthieu Herrb, 15/04/2019 08:10) → Version 12/23 (Matthieu Herrb, 15/04/2019 08:10)
{{>toc}}
h1. Wireguard
h2. test VPN tetaneutral sur h9
h3. Configuration
Sur h7: router les IP via h9:
<pre>
ip r add 185.119.170.3/32 via 91.224.148.143 dev eth3.3131
ip -6 r add 2a03:7220:8087:300::/56 via fe80::80:8f dev eth3.3131
</pre>
Sur h9 config globale:
<pre>
# modprobe wireguard
# umask 077
# wg genkey > /etc/wireguard/private
# wg pubkey < /etc/wireguard/private > /etc/wireguard/public
# ip link add dev wg0 type wireguard
# ip a add dev wg0 10.99.0.1/32
# ip -6 a add dev wg0 fe80::31/128
# wg set wg0 private-key ./private listen-port 55769
# ip link set wg0 up
</pre>
Pour chaque client, sur h9:
<pre>
# wg set wg0 peer <clé publique du client> allowed-ips 185.119.170.3/32,2a03:7220:8087:300::/56
# ip r add 185.119.170.3/32 dev wg0
# ip -6 r add 2a03:7220:8087:300::/56 dev wg0
</pre>
h4. Config client openwrt
Dans @/etc/config/network@
<pre>
config interface 'vpn0'
option proto 'wireguard'
option private_key '<clé privée>'
list addresses '185.119.170.3/32'
list addresses '2a03:7220:8087:300::1/56'
config wireguard_vpn0
option public_key 'DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=' # La clé publique de h9
option route_allowed_ips '1'
option endpoint_host '91.224.148.143'
option endpoint_port '55769'
option persistent_keepalive '25'
list allowed_ips '0.0.0.0/0'
list allowed_ips '::/0'
</pre>
h4. .h4 Config client debian
Dans @/etc/rc.local@ pas de route par défaut configurée
<pre>
# wireguard
# route vers h9
/bin/ip route add 91.224.148.143/32 via 192.168.31.200 dev eth0
/sbin/modprobe wireguard
/bin/ip link add dev wg0 type wireguard
/bin/ip a add dev wg0 185.119.170.2
/bin/ip -6 a add dev wg0 2a03:7220:8087:200::1/56
/usr/bin/wg set wg0 private-key /etc/wireguard/private
/usr/bin/wg set wg0 peer DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A= \
endpoint 91.224.148.143:55769 \
allowed-ips 0.0.0.0/0,::/0 \
persistent-keepalive 25
/bin/ip link set wg0 up
/bin/ip route add 10.99.0.1 dev wg0
/bin/ip route add default via 10.99.0.1 dev wg0
/bin/ip -6 route add default via fe80::31 dev wg0
</pre>
h3. Status
<pre>
root@h9:~# wg show
interface: wg0
public key: DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=
private key: (hidden)
listening port: 55769
peer: y4ydCem0bUQpryyiTxS2eMPtoHLD5iOGqth1f9xkfww=
endpoint: 176.158.4.203:57103
allowed ips: 185.119.170.3/32, 2a03:7220:8087:300::/56
latest handshake: 1 minute, 27 seconds ago
transfer: 1.08 MiB received, 1.92 MiB sent
peer: hUT6WhmUw6yRpwLX3R9Rh/8x1lZDk9JeX56We7zVvWc=
endpoint: 176.158.4.203:57658
allowed ips: 185.119.170.2/32, 2a03:7220:8087:200::/56
latest handshake: 1 minute, 38 seconds ago
transfer: 107.09 KiB received, 208.19 KiB sent
</pre>
h3. Déploiement
Remarque: clé privée des clients à garder privée...
Deux modes possibles :
# sur un PC de l'adhérent·e
* iel installe wireguard
* iel génère la clé privé et envoie à ttnn la clé publique
* ttnn envoie la config à l'adhérent·e
* Avantages :
* performance
* utilisable en mobilité
* Inconvénients :
* difficulté assistance installation initiale / dépannage
# Sur un routeur fourni par l'association
* routeur un peu costaud (ZBT ou Archer C7)
* on génère un firmware avec la config en dur
* on fournit le routeur à l'adhérent·e (comme pour un accès radio)
* Avantages :
* simplicité pour l'adhérent·e
* assistance
* Inconvénients :
* performances (à confirmer)
* moins mobile
h1. Wireguard
h2. test VPN tetaneutral sur h9
h3. Configuration
Sur h7: router les IP via h9:
<pre>
ip r add 185.119.170.3/32 via 91.224.148.143 dev eth3.3131
ip -6 r add 2a03:7220:8087:300::/56 via fe80::80:8f dev eth3.3131
</pre>
Sur h9 config globale:
<pre>
# modprobe wireguard
# umask 077
# wg genkey > /etc/wireguard/private
# wg pubkey < /etc/wireguard/private > /etc/wireguard/public
# ip link add dev wg0 type wireguard
# ip a add dev wg0 10.99.0.1/32
# ip -6 a add dev wg0 fe80::31/128
# wg set wg0 private-key ./private listen-port 55769
# ip link set wg0 up
</pre>
Pour chaque client, sur h9:
<pre>
# wg set wg0 peer <clé publique du client> allowed-ips 185.119.170.3/32,2a03:7220:8087:300::/56
# ip r add 185.119.170.3/32 dev wg0
# ip -6 r add 2a03:7220:8087:300::/56 dev wg0
</pre>
h4. Config client openwrt
Dans @/etc/config/network@
<pre>
config interface 'vpn0'
option proto 'wireguard'
option private_key '<clé privée>'
list addresses '185.119.170.3/32'
list addresses '2a03:7220:8087:300::1/56'
config wireguard_vpn0
option public_key 'DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=' # La clé publique de h9
option route_allowed_ips '1'
option endpoint_host '91.224.148.143'
option endpoint_port '55769'
option persistent_keepalive '25'
list allowed_ips '0.0.0.0/0'
list allowed_ips '::/0'
</pre>
h4. .h4 Config client debian
Dans @/etc/rc.local@ pas de route par défaut configurée
<pre>
# wireguard
# route vers h9
/bin/ip route add 91.224.148.143/32 via 192.168.31.200 dev eth0
/sbin/modprobe wireguard
/bin/ip link add dev wg0 type wireguard
/bin/ip a add dev wg0 185.119.170.2
/bin/ip -6 a add dev wg0 2a03:7220:8087:200::1/56
/usr/bin/wg set wg0 private-key /etc/wireguard/private
/usr/bin/wg set wg0 peer DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A= \
endpoint 91.224.148.143:55769 \
allowed-ips 0.0.0.0/0,::/0 \
persistent-keepalive 25
/bin/ip link set wg0 up
/bin/ip route add 10.99.0.1 dev wg0
/bin/ip route add default via 10.99.0.1 dev wg0
/bin/ip -6 route add default via fe80::31 dev wg0
</pre>
h3. Status
<pre>
root@h9:~# wg show
interface: wg0
public key: DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=
private key: (hidden)
listening port: 55769
peer: y4ydCem0bUQpryyiTxS2eMPtoHLD5iOGqth1f9xkfww=
endpoint: 176.158.4.203:57103
allowed ips: 185.119.170.3/32, 2a03:7220:8087:300::/56
latest handshake: 1 minute, 27 seconds ago
transfer: 1.08 MiB received, 1.92 MiB sent
peer: hUT6WhmUw6yRpwLX3R9Rh/8x1lZDk9JeX56We7zVvWc=
endpoint: 176.158.4.203:57658
allowed ips: 185.119.170.2/32, 2a03:7220:8087:200::/56
latest handshake: 1 minute, 38 seconds ago
transfer: 107.09 KiB received, 208.19 KiB sent
</pre>
h3. Déploiement
Remarque: clé privée des clients à garder privée...
Deux modes possibles :
# sur un PC de l'adhérent·e
* iel installe wireguard
* iel génère la clé privé et envoie à ttnn la clé publique
* ttnn envoie la config à l'adhérent·e
* Avantages :
* performance
* utilisable en mobilité
* Inconvénients :
* difficulté assistance installation initiale / dépannage
# Sur un routeur fourni par l'association
* routeur un peu costaud (ZBT ou Archer C7)
* on génère un firmware avec la config en dur
* on fournit le routeur à l'adhérent·e (comme pour un accès radio)
* Avantages :
* simplicité pour l'adhérent·e
* assistance
* Inconvénients :
* performances (à confirmer)
* moins mobile