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 |