Projet

Général

Profil

Wireguard » Historique » Version 10

Matthieu Herrb, 14/04/2019 21:43

1 10 Matthieu Herrb
{{>toc}}
2 10 Matthieu Herrb
3 1 Matthieu Herrb
h1. Wireguard
4 1 Matthieu Herrb
5 1 Matthieu Herrb
h2. test VPN tetaneutral sur h9
6 1 Matthieu Herrb
7 9 Matthieu Herrb
h3. Configuration
8 10 Matthieu Herrb
9 1 Matthieu Herrb
<pre>
10 1 Matthieu Herrb
# modprobe wireguard
11 1 Matthieu Herrb
# umask 077
12 1 Matthieu Herrb
# wg genkey > /etc/wireguard/private
13 1 Matthieu Herrb
# wg pubkey < /etc/wireguard/private > /etc/wireguard/public
14 1 Matthieu Herrb
# ip link add dev wg0 type wireguard
15 1 Matthieu Herrb
# ip a add dev wg0 10.99.0.1/32
16 1 Matthieu Herrb
# ip -6 a add dev wg0 fe80::31/128
17 6 Matthieu Herrb
# wg set wg0 private-key ./private listen-port 55769
18 1 Matthieu Herrb
# ip link set wg0 up
19 1 Matthieu Herrb
</pre>
20 1 Matthieu Herrb
21 1 Matthieu Herrb
Pour chaque client, sur h9:
22 1 Matthieu Herrb
23 1 Matthieu Herrb
<pre>
24 1 Matthieu Herrb
# wg set wg0 peer <clé publique du client> allowed-ips 185.119.170.3/32,2a03:7220:8087:300::/56
25 1 Matthieu Herrb
# ip r add 185.119.170.3/32 dev wg0
26 1 Matthieu Herrb
# ip -6 r add 2a03:7220:8087:300::/56 dev wg0
27 2 Matthieu Herrb
</pre>
28 1 Matthieu Herrb
29 1 Matthieu Herrb
Config openwrt dans @/etc/config/network@
30 1 Matthieu Herrb
<pre>
31 1 Matthieu Herrb
config interface 'vpn0'
32 1 Matthieu Herrb
        option proto 'wireguard'
33 5 Matthieu Herrb
        option private_key '<clé privée>'
34 1 Matthieu Herrb
        list addresses '185.119.170.3/32'
35 1 Matthieu Herrb
        list addresses '2a03:7220:8087:300::1/56'
36 1 Matthieu Herrb
37 1 Matthieu Herrb
config wireguard_vpn0
38 5 Matthieu Herrb
        option public_key 'DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=' # La clé publique de h9
39 1 Matthieu Herrb
        option route_allowed_ips '1'
40 1 Matthieu Herrb
        option endpoint_host '91.224.148.143'
41 1 Matthieu Herrb
        option endpoint_port '55769'
42 1 Matthieu Herrb
        option persistent_keepalive '25'
43 1 Matthieu Herrb
        list allowed_ips '0.0.0.0/0'
44 1 Matthieu Herrb
        list allowed_ips '::/0'
45 4 Matthieu Herrb
</pre>
46 2 Matthieu Herrb
47 3 Matthieu Herrb
Sur h7: router les IP via h9:
48 3 Matthieu Herrb
<pre>
49 3 Matthieu Herrb
ip r add 185.119.170.3/32 via 91.224.148.143 dev eth3.3131
50 3 Matthieu Herrb
ip -6 r add 2a03:7220:8087:300::/56 via fe80::80:8f dev eth3.3131
51 9 Matthieu Herrb
</pre>
52 9 Matthieu Herrb
53 9 Matthieu Herrb
h3. Status
54 9 Matthieu Herrb
55 9 Matthieu Herrb
<pre>
56 9 Matthieu Herrb
root@h9:~# wg show
57 9 Matthieu Herrb
interface: wg0
58 9 Matthieu Herrb
  public key: DsIeOCRs/5uYdi8rLiBzRNmN4zUzKCQRqY3Sbl8NS0A=
59 9 Matthieu Herrb
  private key: (hidden)
60 9 Matthieu Herrb
  listening port: 55769
61 9 Matthieu Herrb
62 9 Matthieu Herrb
peer: y4ydCem0bUQpryyiTxS2eMPtoHLD5iOGqth1f9xkfww=
63 9 Matthieu Herrb
  endpoint: 176.158.4.203:57103
64 9 Matthieu Herrb
  allowed ips: 185.119.170.3/32, 2a03:7220:8087:300::/56
65 9 Matthieu Herrb
  latest handshake: 1 minute, 27 seconds ago
66 9 Matthieu Herrb
  transfer: 1.08 MiB received, 1.92 MiB sent
67 9 Matthieu Herrb
68 9 Matthieu Herrb
peer: hUT6WhmUw6yRpwLX3R9Rh/8x1lZDk9JeX56We7zVvWc=
69 9 Matthieu Herrb
  endpoint: 176.158.4.203:57658
70 9 Matthieu Herrb
  allowed ips: 185.119.170.2/32, 2a03:7220:8087:200::/56
71 9 Matthieu Herrb
  latest handshake: 1 minute, 38 seconds ago
72 9 Matthieu Herrb
  transfer: 107.09 KiB received, 208.19 KiB sent
73 3 Matthieu Herrb
</pre>
74 7 Matthieu Herrb
75 7 Matthieu Herrb
h3. Déploiement
76 7 Matthieu Herrb
77 8 Matthieu Herrb
Remarque: clé privée des clients à garder privée...
78 8 Matthieu Herrb
79 8 Matthieu Herrb
Deux modes possibles :
80 8 Matthieu Herrb
81 8 Matthieu Herrb
# sur un PC de l'adhérent·e
82 8 Matthieu Herrb
83 8 Matthieu Herrb
 * iel installe wireguard
84 8 Matthieu Herrb
 * iel génère la clé privé et envoie à ttnn la clé publique
85 8 Matthieu Herrb
 * ttnn envoie la config à l'adhérent·e
86 8 Matthieu Herrb
 * Avantages :
87 8 Matthieu Herrb
88 8 Matthieu Herrb
  * performance
89 8 Matthieu Herrb
  * utilisable en mobilité
90 8 Matthieu Herrb
 * Inconvénients :
91 8 Matthieu Herrb
92 8 Matthieu Herrb
  * difficulté assistance installation initiale / dépannage
93 8 Matthieu Herrb
# Sur un routeur fourni par l'association
94 8 Matthieu Herrb
95 8 Matthieu Herrb
 * routeur un peu costaud (ZBT ou Archer C7)
96 8 Matthieu Herrb
 * on génère un firmware avec la config en dur
97 8 Matthieu Herrb
 * on fournit le routeur à l'adhérent·e (comme pour un accès radio)
98 8 Matthieu Herrb
 * Avantages :
99 8 Matthieu Herrb
100 8 Matthieu Herrb
  * simplicité pour l'adhérent·e
101 8 Matthieu Herrb
  * assistance
102 8 Matthieu Herrb
 * Inconvénients :
103 8 Matthieu Herrb
104 8 Matthieu Herrb
  * performances (à confirmer)
105 8 Matthieu Herrb
  * moins mobile
106 8 Matthieu Herrb