Projet

Général

Profil

Vpn doc user » Historique » Version 14

Rémi Bouhl, 14/10/2014 01:40

1 11 Baptiste Jonglez
h1. Documentation utilisateur pour le VPN Illyse
2 7 Baptiste Jonglez
3
{{>toc}}
4 1 Pierre-Arnaud Poudret
5 8 Baptiste Jonglez
Le VPN d'Illyse utilise **OpenVPN**, qui a l'avantage de fonctionner sur à peu près n'importe quelle plate-forme (GNU/Linux, OS X, Windows, Android, …)
6 1 Pierre-Arnaud Poudret
7 8 Baptiste Jonglez
Cette page sert de documentation utilisateur.  Pour l'instant, elle contient principalement des exemples de fichier de configuration pour le client openvpn.
8 1 Pierre-Arnaud Poudret
9 8 Baptiste Jonglez
Les fichiers de configuration donnés ici sont génériques, au sens où le reste de la configuration se fait via l'interface web abonné Illyse : https://coin.illyse.org/ (adresses IP à utiliser sur le tunnel, etc).
10 1 Pierre-Arnaud Poudret
11 11 Baptiste Jonglez
h2. Note importante sur la sécurité
12 1 Pierre-Arnaud Poudret
13 13 Rémi Bouhl
Le VPN Illyse fournit une **IPv4 publique** et de l'IPv6 (elle aussi publique, évidemment).  **Aucun pare-feu (firewall) n'est en place côté Illyse** : assurez-vous d'avoir un **pare-feu (firewall)** sur votre machine lorsque vous utilisez le VPN. 
14 14 Rémi Bouhl
De plus il est possible que votre pare-feu considère la connexion VPN comme faisant partie d'un réseau "privé" et abaisse le niveau de sécurité sur cette connexion. 
15 1 Pierre-Arnaud Poudret
16 13 Rémi Bouhl
Vous pourriez vous retrouver à exposer sur Internet, entre autres :
17
18
- un serveur SSH, avec des mots de passe faibles,
19
- un serveur Web, avec une application en cours de développement,
20
- un serveur mail mal configuré, susceptible de relayer du spam (open-relay) et de provoquer rapidement l'inscription de votre adresse IP dans des listes noires (RBL),
21
- le protocole SMB sur les systèmes Microsoft Windows, qui permet entre autres d'accéder aux partages réseaux et aux imprimantes.
22
23
Gardez à l'esprit que votre adresse IPv4 publique sera l'objet de scans intensifs depuis Internet, surtout si elle est utilisée pour la première fois.
24
25
Illyse vous fournit un accès à Internet neutre, ce qui signifie entre autres que l'association ne se permet pas de décider à la place ses abonnés de ce qu'il faut filtrer sur leur connexion. 
26
 
27
N'hésitez pas à demander de l'aide, à poser des questions, dans l'association ou ailleurs, pour conserver la pleine maîtrise de votre connexion :)
28 11 Baptiste Jonglez
29 12 Baptiste Jonglez
h2. Utilisation d'OpenVPN
30
31
Le serveur OpenVPN d'Illyse écoute à la fois en UDP et en TCP, et ce, sur n'importe quel port.  Si vous êtes sur un réseau complètement bloqué mais que UDP/53 ou TCP/443 passe, pas de problème, le VPN passe !
32
33
Pour des raisons de performance, UDP est recommandé.  N'utilisez le mode TCP qu'en dernier recours.  Référence : http://sites.inka.de/bigred/devel/tcp-tcp.html
34
35 11 Baptiste Jonglez
h2. Configuration OpenVPN pour Linux (testé sous Debian wheezy)
36 12 Baptiste Jonglez
37
La configuration est commentée, n'hésitez pas à changer des paramètres.  Avec les paramètres ci-dessous, une IPv4 et une IPv6 seront attribués, et tout le trafic passera par le VPN.
38 1 Pierre-Arnaud Poudret
39
+/etc/openvpn/illyse.conf+
40
<pre>
41
# C'est nous qui prenons l'initiative de nous connecter au serveur.
42
client
43
44
# On route de l'IP, on ne fait pas de l'ethernet.
45
dev tun0
46
47
# si on ne reçoit pas d'IP pour tun0:
48
# - soit on configure l'interface avec des ip privées bidon
49
#ifconfig 10.255.255.1 10.255.255.2
50
# - soit on utilise un script pour faire "ifconfig tun0 up"
51
#script-security 2
52
#up up.sh
53
54
# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
55
# cependant notable que les restrictions d'accès Internet laissent souvent
56
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
57
# pas, essayez tcp.
58
59
# Transport sur udp v4. En v6, la redirection de passerelle par défaut fonctionne mal (openvpn ne crée pas l'équivalent de la route /32 IPv4 vers le serveur vpn via la passerelle sous-jacente)
60
# Si on ne prévoit pas d'utiliser la directive "redirect-gateway def1", alors on peut choisir "proto udp6" pour monter le tunnel en IPv6.
61
#proto udp6
62
proto udp
63
#proto tcp
64
65
# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
66
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
67
mssfix 1300
68
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
69
# quand ça dépasse.
70
fragment 1300
71
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
72
#mtu-disc yes
73
74
# En udp, Prévenir le serveur quand on termine, permet de relancer
75
# immédiatement sans attendre que le serveur se rende compte de la
76
# déconnexion par timeout.
77
explicit-exit-notify
78
79
# L'adresse du serveur.
80
remote vpn.illyse.net 1194
81
82
# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
83
#http-proxy 192.0.2.1 8080
84
85
# Attendre un peu avant d'ajouter les routes.
86
route-delay 2
87
88
# Ne pas utiliser un port local statique, on est client de toutes façons.
89
nobind
90
91
# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
92
# redémarrage.
93
persist-key
94
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
95
#persist-tun
96
97
# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
98
redirect-gateway def1
99
100
# On peut aussi vouloir plutôt router seulement quelques destinations, par
101
# exemple ici tout Gitoyen:
102
#route 80.67.160.0 255.255.224.0
103
104 5 Baptiste Jonglez
# Activer IPv6 dans le tunnel
105 1 Pierre-Arnaud Poudret
tun-ipv6
106 5 Baptiste Jonglez
# et faire passer tout le trafic IPv6 via le VPN:
107 1 Pierre-Arnaud Poudret
route-ipv6 ::/1
108
route-ipv6 8000::/1
109
110
# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
111
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
112
# fichier contenant ces deux informations, une par ligne.
113
auth-user-pass credentials
114
115
# Un minimum de debug, c'est toujours bien.
116
verb 3
117
118
log-append /var/log/openvpn-illyse.log
119
120
# Certificat permettant de vérifier que c'est bien à Illyse que
121
# l'on se connecte et donc à qui on donne notre mot de passe.
122
remote-cert-tls server
123
<ca>
124
-----BEGIN CERTIFICATE-----
125
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
161
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
162
-----END CERTIFICATE-----
163
</ca>
164
</pre>
165
166
167
+/etc/openvpn/credentials+
168
(Seulement si vous voulez stocker votre mot de passe. En clair. Oui, c'est moche.)
169
170
Spécifier login et mot de passe sur deux lignes différences.
171
172
<pre>
173
jkleboulet-vpn1
174
omgsuchsecured123
175
</pre>
176
177
178 3 Pierre-Arnaud Poudret
h3. Mise à jour automatique de resolv.conf
179
180
Pour que resolv.conf soit mis à jour par openvpn avec les IP des resolvers DNS Illyse poussées par le serveur VPN.
181
182
<pre>
183
<mit-mit> Bon, ça marche, faut ajouter à la config :
184
<mit-mit> script-security 2
185
<mit-mit> up /etc/openvpn/update-resolv-conf
186
<mit-mit> down /etc/openvpn/update-resolv-conf
187
<mit-mit> et avoir resolvconf d'installé.
188
<mit-mit> (la première ligne étant l'autorisation de lancement de scripts externes)
189
</pre>
190
191
192 1 Pierre-Arnaud Poudret
h2. Windows XP
193 2 Pierre-Arnaud Poudret
194
+C:\Program Files\OpenVPN\config\illyse\illyse.ovpn+
195
<pre>
196
# C'est nous qui prenons l'initiative de nous connecter au serveur.
197
client
198
199
# On route de l'IP, on ne fait pas de l'ethernet.
200
dev tun0
201
202
# si on ne reçoit pas d'IP pour tun0:
203
# - soit on configure l'interface avec des ip privées bidon
204
#ifconfig 10.255.255.1 10.255.255.2
205
# - soit on utilise un script pour faire "ifconfig tun0 up"
206
#script-security 2
207
#up up.sh
208
209
# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
210
# cependant notable que les restrictions d'accès Internet laissent souvent
211
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
212
# pas, essayez tcp.
213
214
#proto udp6
215
proto udp
216
#proto tcp
217
218
# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
219
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
220
mssfix 1300
221
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
222
# quand ça dépasse.
223
fragment 1300
224
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
225
#mtu-disc yes
226
227
#mtu-test
228
#link-mtu 1300
229
#tun-mtu 1300
230
231
# En udp, Prévenir le serveur quand on termine, permet de relancer
232
# immédiatement sans attendre que le serveur se rende compte de la
233
# déconnexion par timeout.
234
explicit-exit-notify
235
236
# L'adresse du serveur.
237
remote vpn.illyse.net 1194
238
239
# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
240
#http-proxy 192.0.2.1 8080
241
242
# Pour windows: utiliser route.exe.
243
route-method exe
244
245
# Attendre un peu avant d'ajouter les routes.
246
route-delay 2
247
248
# Ne pas utiliser un port local statique, on est client de toutes façons.
249
nobind
250
251
# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
252
# redémarrage.
253
persist-key
254
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
255
#persist-tun
256
257
#ip-win32 ipapi
258
259
# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
260 1 Pierre-Arnaud Poudret
redirect-gateway def1
261 2 Pierre-Arnaud Poudret
262 1 Pierre-Arnaud Poudret
# On peut aussi vouloir plutôt router seulement quelques destinations, par
263 2 Pierre-Arnaud Poudret
# exemple ici tout Gitoyen:
264
#route 80.67.160.0 255.255.224.0
265
266 5 Baptiste Jonglez
# Activer IPv6 dans le VPN
267 2 Pierre-Arnaud Poudret
tun-ipv6
268 5 Baptiste Jonglez
# Faire passer tout le trafic IPv6 via le VPN:
269 2 Pierre-Arnaud Poudret
route-ipv6 ::/1
270
route-ipv6 8000::/1
271
272
# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
273
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
274
# fichier contenant ces deux informations, une par ligne.
275
auth-user-pass credentials
276
277
# Un minimum de debug, c'est toujours bien.
278
verb 3
279
280
#log-append /var/log/openvpn-illyse.log
281
282
# Certificat permettant de vérifier que c'est bien à Illyse que
283
# l'on se connecte et donc à qui on donne notre mot de passe.
284
remote-cert-tls server
285
<ca>
286
-----BEGIN CERTIFICATE-----
287
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
323
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
324
-----END CERTIFICATE-----
325
</ca>
326
</pre>
327
328
329
330
+C:\Program Files\OpenVPN\config\illyse\credentials+
331
332
<pre>
333
jkleboulet-vpn1
334
omgsuchsecured123
335
</pre>
336 4 Fabien Michel
337
h2. Mac OS X
338
339
Installer le client OpenVPN Tunnelblick : https://code.google.com/p/tunnelblick/
340
341
Créer un fichier illyse.ovpn avec la configuration voulue. Celle indiquée ci-dessous fonctionne sans modification necessaire.
342
Double-cliquer sur le fichier afin que TunnelBlick import la configuration.
343
A la première connexion, il va demander un couple login/password qu'il sera possible de stocker dans le trousseau.
344
345
Paramètres modifiés par rapport à la configuration pour Linux :
346
* log-append : Ce paramètre n'est pas accepté. Mais tunnelblick log déjà en interne.
347
* auth-user-pass : On ne précise pas de fichier de credential, c'est géré par Tunnelblick et Keychains au moment de la connexion
348
* Les commentaires ont été retirés car le fichier est tronqué au moment de l'import s'il est trop long (ce qui était le cas)
349
350
+illyse.ovpn+
351
<pre>
352
client
353
dev tun0
354
proto udp
355
mssfix 1300
356
fragment 1300
357
explicit-exit-notify
358
remote vpn.illyse.net 1194
359
#http-proxy 192.0.2.1 8080
360
route-delay 2
361
nobind
362
363
persist-key
364
persist-tun
365
366
redirect-gateway def1
367
#route 80.67.160.0 255.255.224.0
368
369
tun-ipv6
370
route-ipv6 ::/1
371
route-ipv6 8000::/1
372
373
auth-user-pass
374
verb 3
375
376
remote-cert-tls server
377
<ca>
378
-----BEGIN CERTIFICATE-----
379
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
412 1 Pierre-Arnaud Poudret
LSVaB9OD7iVWkW5eo6ng3XA390HIUUtf/0IdtiCoMsjuZbVagfiaUu0kUJpR6d2k
413
r5czdLFhRu8uw0sWn1rMQXlUAqH0WAfoq8XinaHesWs5MEnvevjoUTkNhFnqe1Ra
414
rkwU9mzr1/N6GfpPalbveD0duTGAkJN5mwLZi+HZ4ctLgO1ShYFU/NbC7jNU3YCU
415
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
416
-----END CERTIFICATE-----
417
</ca>
418 4 Fabien Michel
419
</pre>
420 8 Baptiste Jonglez
421 9 Baptiste Jonglez
h1. Configurations avancées
422 8 Baptiste Jonglez
423 9 Baptiste Jonglez
h2. Client sans IP montée sur le tunnel
424 8 Baptiste Jonglez
425
Pour ceux qui veulent bricoler, il est possible (via l'interface web abonné) ne pas monter du tout d'IP (v4 ou v6) sur l'interface tun du client. Dans ce cas, les paquets destinés aux ranges v4 et v6 de l'abonné sont toujours routés correctement vers le client, mais il appartient à l'abonné de s'assurer qu'ils seront correctement routés plus avant sur son réseau interne.
426 10 Baptiste Jonglez
427
h2. Utiliser simultanément la connexion normale et le VPN
428
429
Lorsqu'on a un serveur, on peut avoir envie d'être joignable à la fois via la connexion normale (e.g. Free) et via le VPN.  Pour se faire, on utilise le **policy routing** du noyau Linux : quand quelqu'un nous parle sur l'IP normale, on lui répond via la connexion normale, et quand quelqu'un nous parle sur l'IP du VPN, on répond via le VPN.  Notons que ça ne concerne que les connexions entrantes (donc principalement utile pour un serveur).
430
431
Pour les connexions sortantes, on a le choix : soit on passe dans le VPN, soit on passe par la connexion normale.  La configuration ci-dessous fait passer les connexions sortantes par la connexion normale (parce que c'est plus simple).
432
433
Note : il faut s'assurer de bien avoir configuré une IPv4 et une IPv6 sur l'interface tun (sur https://coin.illyse.org).  Sinon, les scripts ne feront rien.
434
435
Bonus : si vous avez un noyau Multipath-TCP, cette configuration permettra d'utiliser les deux connexions en parallèle ! Pratique pour joindre Youtube si on est chez Free, par exemple :)
436
(la configuration ci-dessous est similaire à http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting )
437
438
+/etc/openvpn/up.sh+
439
<pre>
440
#!/bin/bash
441
442
dev="$1"
443
tun_mtu="$2"
444
link_mtu="$3"
445
local_ip="$4"
446
remote_ip="$5"
447
448
# Routing table to use
449
table=4242
450
451
# Source-specific routing: use the normal default route by default,
452
# but use the VPN for replying to packets coming from the VPN.
453
# IPv4
454
[ -n "$local_ip" ] && ip rule add from "$local_ip" table "$table" && ip route add default dev "$dev" table "$table"
455
# IPv6
456
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule add from "$ifconfig_ipv6_local" table "$table" && ip -6 route add default dev "$dev" table "$table"
457
</pre>
458
459
+/etc/openvpn/down.sh+
460
<pre>
461
#!/bin/bash
462
463
dev="$1"
464
tun_mtu="$2"
465
link_mtu="$3"
466
local_ip="$4"
467
remote_ip="$5"
468
469
table=4242
470
471
# Delete table for source-specific routing.
472
[ -n "$local_ip" ] && ip rule del from "$local_ip" && ip route del default table "$table"
473
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule del from "$ifconfig_ipv6_local" && ip -6 route del default table "$table"
474
475
exit 0
476
</pre>
477
478
+/etc/openvpn/illyse.conf+
479
<pre>
480
## Configuration VPN Illyse pour accepter des connexions entrantes
481
## à la fois via le VPN et via la connexion normale, grâce au policy routing (Linux uniquement)
482
## https://www.illyse.org/projects/publicdocs/wiki/Vpn_doc_user#Utiliser-simultanément-la-connexion-normale-et-le-VPN
483
484
# Gestion des routes via des scripts externes.
485
script-security 2
486
up up.sh
487
down down.sh
488
489
490
# Reste de la configuration normale.
491
# Penser à enlever "redirect-gateway" et "route-ipv6", on gère les
492
# routes via up.sh et down.sh
493
client
494
remote vpn.illyse.net 1194
495
#http-proxy 192.0.2.1 8080
496
dev tun0
497
498
#proto udp6
499
proto udp
500
#proto tcp
501
explicit-exit-notify
502
503
mssfix 1300
504
fragment 1300
505
506
route-delay 2
507
nobind
508
persist-key
509
persist-tun
510
511
tun-ipv6
512
513
auth-user-pass credentials
514
515
verb 3
516
log-append /var/log/openvpn-illyse.log
517
518
# Certificat permettant de vérifier que c'est bien à Illyse que
519
# l'on se connecte et donc à qui on donne notre mot de passe.
520
remote-cert-tls server
521
<ca>
522
-----BEGIN CERTIFICATE-----
523
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
559
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
560
-----END CERTIFICATE-----
561
</ca>
562
</pre>