Projet

Général

Profil

Vpn doc user » Historique » Version 59

Sylvain David, 07/03/2018 21:03

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 18 Nicolas Nadisic
h3. Avant de commencer 
12
13
Se connecter au SI d'Illyse avec le nom d'utilisateur communiqué par mail : "COIN.":https://coin.illyse.org/members/login/?next=/ Si c'est votre première connexion, choisir un mot de passe pour COIN et bien le retenir.
14
15 44 Florent Guillot
Aller dans la catégorie "Mes Abonnements". Si rien n’apparaît alors que vous avez souscrit au VPN, contacter adminsys@illyse.org.
16
17
A la ligne "VPN", cliquer sur "*Configuration*". Noter le nom d'utilisateur (le mieux est de le copier dans un fichier texte brut, nous verrons pourquoi ensuite). Générer un mot de passe et le copier dans le même fichier. Attention, si vous perdez votre mot de passe il faudra en générer un nouveau.
18
Si on installe le VPN sur une "brique internet":https://labriqueinter.net/ , noter aussi l'adresse IPv4 et l'adresse IPv6 liées à votre VPN.
19 18 Nicolas Nadisic
20 11 Baptiste Jonglez
h2. Note importante sur la sécurité
21 1 Pierre-Arnaud Poudret
22 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. 
23 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. 
24 1 Pierre-Arnaud Poudret
25 13 Rémi Bouhl
Vous pourriez vous retrouver à exposer sur Internet, entre autres :
26
27 22 Baptiste Jonglez
* un serveur SSH, avec des mots de passe faibles,
28
* un serveur Web, avec une application en cours de développement,
29
* 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),
30
* le protocole SMB sur les systèmes Microsoft Windows, qui permet entre autres d'accéder aux partages réseaux et aux imprimantes.
31 13 Rémi Bouhl
32
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.
33
34
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. 
35
 
36
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 :)
37 11 Baptiste Jonglez
38 24 Baptiste Jonglez
h2. Paramètres de connexion OpenVPN
39 12 Baptiste Jonglez
40 23 Baptiste Jonglez
Si vous savez déjà utiliser OpenVPN, les informations les plus importantes sont les suivantes :
41
42
* *Serveur :* vpn.illyse.net
43
* *Protocole :* UDP recommandé, TCP possible
44
* *Port :* quelconque (1194 est le port standard OpenVPN, mais tous les ports mènent au serveur VPN)
45
* *Compression :* non
46
* *Fragmentation :* 1300 octets
47
* *TCP MSS fix :* 1300 octets
48
49
Notez donc que 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 !
50 12 Baptiste Jonglez
51
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
52
53 15 Rémi Bouhl
h1. Exemples de configuration.
54
55 17 Nicolas Nadisic
Ces exemples de fichiers de configuration sont là pour vous aider à vous connecter au VPN.
56
57 53 Florent Guillot
h2. GNU/Linux (Debian Stretch)
58 17 Nicolas Nadisic
59
h3. Pour les débutants 
60 1 Pierre-Arnaud Poudret
61 53 Florent Guillot
* Installer OpenVPN : ouvrir un terminal et taper "sudo apt install openvpn". 
62 56 Florent Guillot
* Créer le fichier de configuration openvpn: "sudo nano /etc/openvpn/illyse.conf" Copier dedans la configuration [[Vpn_doc_user#etcopenvpnillyseconf|ci-dessous]].
63 53 Florent Guillot
* Fermer nano en utilisant Ctrl + X, suivi de la touche "O" pour indiquer que l'on souhaite sauvegarder.
64 1 Pierre-Arnaud Poudret
65 56 Florent Guillot
* Créer le fichier texte nommé credentials ("sudo nano /etc/openvpn/credentials") et y insérer le nom d'utilisateur et le mot de passe donnés par COIN (une ligne chacun, voir modèle [[Vpn_doc_user#etcopenvpncredentials|ci-dessous]]).
66 53 Florent Guillot
* Lancer le VPN avec la commande "sudo systemctl start openvpn@illyse". Ça devrait fonctionner ! 
67
* Pour que le VPN se lance automatiquement à chaque démarrage, utiliser la commande "sudo systemctl enable openvpn@illyse"
68
69
Pour vérifier si le VPN est bien lancé, une méthode simple est d'utiliser un site comme http://www.test-ipv6.com/ qui donne les adresses IP utilisées par son PC pour sortir sur internet. Si l'on passes bien par le VPN, on retrouve ses IP Illyse (aussi affichées par COIN).
70
71
En cas de problème, vérifier les étapes précédentes, et la connexion Internet. Si ça ne fonctionne toujours pas, écrire un gentil mail à support@illyse.org en donnant le résultat des deux commandes suivantes : 
72
- sudo systemctl status openvpn@illyse
73
- sudo tail -f -n 100 /var/log/openvpn-illyse.log
74
75
76 55 Florent Guillot
Pour stopper le VPN, taper la commande "sudo systemctl stop openvpn@illyse". (et "sudo systemctl disable openvpn@illyse" si l'on ne veut plus que le VPN se lance automatiquement au démarrage du PC)
77 17 Nicolas Nadisic
78
h3. Fichier de configuration OpenVPN
79
80 12 Baptiste Jonglez
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.
81 1 Pierre-Arnaud Poudret
82 54 Florent Guillot
h4. +/etc/openvpn/illyse.conf+
83
84 1 Pierre-Arnaud Poudret
<pre>
85
# C'est nous qui prenons l'initiative de nous connecter au serveur.
86
client
87
88
# On route de l'IP, on ne fait pas de l'ethernet.
89
dev tun0
90
91
# si on ne reçoit pas d'IP pour tun0:
92
# - soit on configure l'interface avec des ip privées bidon
93
#ifconfig 10.255.255.1 10.255.255.2
94
# - soit on utilise un script pour faire "ifconfig tun0 up"
95
#script-security 2
96
#up up.sh
97
98
# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
99
# cependant notable que les restrictions d'accès Internet laissent souvent
100
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
101
# pas, essayez tcp.
102
103
# 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)
104
# 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.
105
#proto udp6
106
proto udp
107
#proto tcp
108
109
# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
110
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
111
mssfix 1300
112
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
113
# quand ça dépasse.
114
fragment 1300
115
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
116
#mtu-disc yes
117
118
# En udp, Prévenir le serveur quand on termine, permet de relancer
119
# immédiatement sans attendre que le serveur se rende compte de la
120
# déconnexion par timeout.
121
explicit-exit-notify
122
123
# L'adresse du serveur.
124
remote vpn.illyse.net 1194
125
126
# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
127
#http-proxy 192.0.2.1 8080
128
129
# Attendre un peu avant d'ajouter les routes.
130
route-delay 2
131
132
# Ne pas utiliser un port local statique, on est client de toutes façons.
133
nobind
134
135
# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
136
# redémarrage.
137
persist-key
138
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
139
#persist-tun
140
141
# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
142
redirect-gateway def1
143
144
# On peut aussi vouloir plutôt router seulement quelques destinations, par
145
# exemple ici tout Gitoyen:
146
#route 80.67.160.0 255.255.224.0
147
148 5 Baptiste Jonglez
# Activer IPv6 dans le tunnel
149 1 Pierre-Arnaud Poudret
tun-ipv6
150 5 Baptiste Jonglez
# et faire passer tout le trafic IPv6 via le VPN:
151 1 Pierre-Arnaud Poudret
route-ipv6 ::/1
152
route-ipv6 8000::/1
153
154
# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
155
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
156
# fichier contenant ces deux informations, une par ligne.
157
auth-user-pass credentials
158
159 36 Alarig Le Lay
# Retenter le l’authentification même si le serveur la refuse (utile pour
160
# éviter de faire mourir le client si le serveur LDAP ne répond pas)
161
auth-retry nointeract
162
163 1 Pierre-Arnaud Poudret
# Un minimum de debug, c'est toujours bien.
164
verb 3
165
166
log-append /var/log/openvpn-illyse.log
167
168
# Certificat permettant de vérifier que c'est bien à Illyse que
169
# l'on se connecte et donc à qui on donne notre mot de passe.
170
remote-cert-tls server
171
<ca>
172
-----BEGIN CERTIFICATE-----
173
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
209
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
210
-----END CERTIFICATE-----
211
</ca>
212
</pre>
213
214
215 57 Florent Guillot
h4. +/etc/openvpn/credentials+
216
217 1 Pierre-Arnaud Poudret
(Seulement si vous voulez stocker votre mot de passe. En clair. Oui, c'est moche.)
218
219
Spécifier login et mot de passe sur deux lignes différences.
220
221
<pre>
222
jkleboulet-vpn1
223
omgsuchsecured123
224
</pre>
225
226
227 3 Pierre-Arnaud Poudret
h3. Mise à jour automatique de resolv.conf
228
229
Pour que resolv.conf soit mis à jour par openvpn avec les IP des resolvers DNS Illyse poussées par le serveur VPN.
230
231
<pre>
232
<mit-mit> Bon, ça marche, faut ajouter à la config :
233
<mit-mit> script-security 2
234
<mit-mit> up /etc/openvpn/update-resolv-conf
235
<mit-mit> down /etc/openvpn/update-resolv-conf
236
<mit-mit> et avoir resolvconf d'installé.
237
<mit-mit> (la première ligne étant l'autorisation de lancement de scripts externes)
238
</pre>
239
240 26 Côme chillie
h2. GNU/Linux (Network Manager)
241
242
Il est possible de configurer graphiquement le VPN via Network Manager.
243
(J’utilise la version KDE, des détails peuvent varier si vous utilisez la version gtk)
244
245 31 Florent Guillot
Téléchargez le fichier attachment:vpn-illyse.crt.
246
247 28 Côme chillie
Installez le backend openvpn pour Network Manager, puis créez une nouvelle connexion de type openvpn.
248 27 Côme chillie
Complétez comme suit, indiquez le chemin du fichier crt, votre login et votre mot de passe VPN :
249 1 Pierre-Arnaud Poudret
!vpn1.png!
250 27 Côme chillie
Cliquez sur «Avancé», mettez 1300 dans «Taille du fragment UDP» et cochez «Restreindre la taille maximale du segment TCP (MSS)»
251
!vpn2.png!
252 3 Pierre-Arnaud Poudret
253 29 Côme chillie
h2. Windows
254 1 Pierre-Arnaud Poudret
255 29 Côme chillie
Installez OpenVPN, par exemple en suivant la documentation présente ici : http://www.rezine.org/documentation/tunnels_chiffres/#index4h1
256
257
Créez ensuite le fichier suivant.  
258
Faites attention à l’extension des fichiers : parfois Windows ajoute une extension .txt aux fichiers sans le dire.
259
260 2 Pierre-Arnaud Poudret
+C:\Program Files\OpenVPN\config\illyse\illyse.ovpn+
261
<pre>
262
# C'est nous qui prenons l'initiative de nous connecter au serveur.
263
client
264
265
# On route de l'IP, on ne fait pas de l'ethernet.
266
dev tun0
267
268
# si on ne reçoit pas d'IP pour tun0:
269
# - soit on configure l'interface avec des ip privées bidon
270
#ifconfig 10.255.255.1 10.255.255.2
271
# - soit on utilise un script pour faire "ifconfig tun0 up"
272
#script-security 2
273
#up up.sh
274
275
# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
276
# cependant notable que les restrictions d'accès Internet laissent souvent
277
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
278
# pas, essayez tcp.
279
280
#proto udp6
281
proto udp
282
#proto tcp
283
284
# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
285
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
286
mssfix 1300
287
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
288
# quand ça dépasse.
289
fragment 1300
290
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
291
#mtu-disc yes
292
293
#mtu-test
294
#link-mtu 1300
295
#tun-mtu 1300
296
297
# En udp, Prévenir le serveur quand on termine, permet de relancer
298
# immédiatement sans attendre que le serveur se rende compte de la
299
# déconnexion par timeout.
300
explicit-exit-notify
301
302
# L'adresse du serveur.
303
remote vpn.illyse.net 1194
304
305
# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
306
#http-proxy 192.0.2.1 8080
307
308
# Pour windows: utiliser route.exe.
309
route-method exe
310
311
# Attendre un peu avant d'ajouter les routes.
312
route-delay 2
313
314
# Ne pas utiliser un port local statique, on est client de toutes façons.
315
nobind
316
317
# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
318
# redémarrage.
319
persist-key
320
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
321
#persist-tun
322
323
#ip-win32 ipapi
324
325
# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
326 1 Pierre-Arnaud Poudret
redirect-gateway def1
327 2 Pierre-Arnaud Poudret
328 1 Pierre-Arnaud Poudret
# On peut aussi vouloir plutôt router seulement quelques destinations, par
329 2 Pierre-Arnaud Poudret
# exemple ici tout Gitoyen:
330
#route 80.67.160.0 255.255.224.0
331
332 5 Baptiste Jonglez
# Activer IPv6 dans le VPN
333 2 Pierre-Arnaud Poudret
tun-ipv6
334 5 Baptiste Jonglez
# Faire passer tout le trafic IPv6 via le VPN:
335 2 Pierre-Arnaud Poudret
route-ipv6 ::/1
336
route-ipv6 8000::/1
337
338
# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
339
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
340
# fichier contenant ces deux informations, une par ligne.
341
auth-user-pass credentials
342
343
# Un minimum de debug, c'est toujours bien.
344
verb 3
345
346
#log-append /var/log/openvpn-illyse.log
347
348
# Certificat permettant de vérifier que c'est bien à Illyse que
349
# l'on se connecte et donc à qui on donne notre mot de passe.
350
remote-cert-tls server
351
<ca>
352
-----BEGIN CERTIFICATE-----
353
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
389
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
390
-----END CERTIFICATE-----
391
</ca>
392
</pre>
393 1 Pierre-Arnaud Poudret
394 29 Côme chillie
Il est également possible de créer un fichier contenant vos logins et mots de passe pour éviter de les taper à chaque connexion. Par exemple :
395 2 Pierre-Arnaud Poudret
396
+C:\Program Files\OpenVPN\config\illyse\credentials+
397
398
<pre>
399
jkleboulet-vpn1
400 1 Pierre-Arnaud Poudret
omgsuchsecured123
401
</pre>
402 29 Côme chillie
403
Si vous ne voulez pas utiliser un tel fichier, commentez la ligne «auth-user-pass credentials» dans la configuration.
404 4 Fabien Michel
405
h2. Mac OS X
406
407
Installer le client OpenVPN Tunnelblick : https://code.google.com/p/tunnelblick/
408
409
Créer un fichier illyse.ovpn avec la configuration voulue. Celle indiquée ci-dessous fonctionne sans modification necessaire.
410
Double-cliquer sur le fichier afin que TunnelBlick import la configuration.
411
A la première connexion, il va demander un couple login/password qu'il sera possible de stocker dans le trousseau.
412
413
Paramètres modifiés par rapport à la configuration pour Linux :
414
* log-append : Ce paramètre n'est pas accepté. Mais tunnelblick log déjà en interne.
415
* 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
416
* 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)
417
418
+illyse.ovpn+
419
<pre>
420
client
421
dev tun0
422
proto udp
423
mssfix 1300
424
fragment 1300
425
explicit-exit-notify
426
remote vpn.illyse.net 1194
427
#http-proxy 192.0.2.1 8080
428
route-delay 2
429
nobind
430
431
persist-key
432
persist-tun
433
434
redirect-gateway def1
435
#route 80.67.160.0 255.255.224.0
436
437
tun-ipv6
438
route-ipv6 ::/1
439
route-ipv6 8000::/1
440
441
auth-user-pass
442
verb 3
443
444
remote-cert-tls server
445
<ca>
446
-----BEGIN CERTIFICATE-----
447
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
480 1 Pierre-Arnaud Poudret
LSVaB9OD7iVWkW5eo6ng3XA390HIUUtf/0IdtiCoMsjuZbVagfiaUu0kUJpR6d2k
481
r5czdLFhRu8uw0sWn1rMQXlUAqH0WAfoq8XinaHesWs5MEnvevjoUTkNhFnqe1Ra
482
rkwU9mzr1/N6GfpPalbveD0duTGAkJN5mwLZi+HZ4ctLgO1ShYFU/NbC7jNU3YCU
483
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
484
-----END CERTIFICATE-----
485
</ca>
486 15 Rémi Bouhl
487
</pre>
488
489
490
h2. Android 
491
492
Configuration OpenVPN pour Android (testé sous Android 4.4.4 et OpenVPN for Android v0.6.17)
493
Ci-après un fichier de configuration qui devrait fonctionner avec l'application Android OpenVPN for Android, 
494
Disponible sur F-Droid : https://f-droid.org/repository/browse/?fdfilter=openvpn&fdid=de.blinkt.openvpn
495
Ou au pire sur le PlayStore : https://play.google.com/store/apps/details?id=de.blinkt.openvpn
496
Posez le fichier de configuration, renommé en VPN-Illyse.conf par exemple, sur l'appareil.
497
Une fois l'application installée et démarrée, cliquez sur le dossier en bas à droite et chezchez le fichier de configuration.
498
Il suffit de renseigner les identifiants.
499
500
<pre>
501 16 Rémi Bouhl
502 15 Rémi Bouhl
#
503
# Fichier de configuration VPN Illyse pour Android
504
# 2014-10-14
505
#
506
# Enables connection to GUI
507
management /data/data/de.blinkt.openvpn/cache/mgmtsocket unix
508
management-client
509
management-query-passwords
510
management-hold
511
setenv IV_GUI_VER "de.blinkt.openvpn 0.6.17" 
512
machine-readable-output
513
client
514
verb 4
515
connect-retry-max 5
516
connect-retry 5
517
resolv-retry 60
518
dev tun
519
remote vpn.illyse.net 1194 udp
520
auth-user-pass
521
route-ipv6 ::/0
522
route 0.0.0.0 0.0.0.0 vpn_gateway
523
remote-cert-tls server
524
persist-tun
525
# persist-tun also enables pre resolving to avoid DNS resolve problem
526
preresolve
527
# Use system proxy setting
528
management-query-proxy
529
# Custom configuration options
530
# You are on your on own here 
531
mssfix 1300 
532
fragment 1300
533
<ca>
534
-----BEGIN CERTIFICATE-----
535
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
571
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
572
-----END CERTIFICATE-----
573
</ca>
574 16 Rémi Bouhl
575 4 Fabien Michel
576
</pre>
577 8 Baptiste Jonglez
578 30 Florent Guillot
h2. Yunohost
579
580 32 Florent Guillot
h3. Installer le client VPN
581 30 Florent Guillot
582 32 Florent Guillot
* Dans Applications > Install, en bas de la page, entrer 'https://github.com/labriqueinternet/vpnclient_ynh' dans le champ *Install custom app*.
583
* Lire et valider l'avertissement.
584
* Valider l'installation en cliquant sur le bouton *Install*
585 1 Pierre-Arnaud Poudret
586 40 Florent Guillot
h3. Configurer le client VPN
587 34 Florent Guillot
588 51 Florent Guillot
h4. Méthode automatique, ".cube"
589 39 Florent Guillot
590
Le .cube est un fichier permettant de configurer l'application vpn-client automatiquement. Idéalement, ce fichier devrait être automatiquement généré pour chaque adhérant dans notre SI, Coin. Ce n'est pour l'instant pas encore le cas. Il faut donc faire son .cube à la main, en utilisant la base suivante :
591 41 Florent Guillot
* télécharger le .cube de base: attachment:illyse.cube
592 50 Florent Guillot
* l'éditer avec n'importe quel éditeur de texte (notepad, gedit, nano, vim, etc) afin de remplacer les 4 champs vous concernant: ip6_net, ip4_addr, login_user, login_passphrase. Ces infos sont à retrouver dans Coin (cf #Avant-de-commencer)
593 46 Florent Guillot
* importer le .cube dans l'application vpn_client (onglet "Automatic" dans la configuration de l'application)
594 40 Florent Guillot
595 48 Florent Guillot
h4. Méthode manuelle
596 39 Florent Guillot
597 52 Florent Guillot
La méthode ".cube" décrite ci-dessus est vivement conseillée, car elle permet de simplifier la procédure et d'éviter les erreurs. La méthode manuelle est donnée uniquement à titre informatif.
598 42 Florent Guillot
599 34 Florent Guillot
* Dans Applications > VPN Client, cliquer sur l'URL _https://maBrique.nohost.me/vpnadmin_
600
> * Server Address: vpn.illyse.net
601
> * Server Port: 1194
602
> * Protocol: UDP
603
> * Advanced: copier coller la configuration suivante:
604
<pre>
605
remote <TPL:SERVER_NAME>
606
proto <TPL:PROTO>
607
port <TPL:SERVER_PORT>
608
609
pull
610
nobind
611
dev tun
612
tun-ipv6
613
keepalive 10 30
614
resolv-retry infinite
615
616
mssfix 1300
617
618
route-delay 2
619
nobind
620
persist-key
621
622
# Authentication by login
623
<TPL:LOGIN_COMMENT>auth-user-pass /etc/openvpn/keys/credentials
624
625
# UDP only
626
<TPL:UDP_COMMENT>explicit-exit-notify
627
<TPL:UDP_COMMENT>fragment 1300
628
629
# TLS
630
tls-client
631
<TPL:TA_COMMENT>tls-auth /etc/openvpn/keys/user_ta.key 1
632
remote-cert-tls server
633
ns-cert-type server
634
ca /etc/openvpn/keys/ca-server.crt
635
<TPL:CERT_COMMENT>cert /etc/openvpn/keys/user.crt
636
<TPL:CERT_COMMENT>key /etc/openvpn/keys/user.key
637
638
# Logs
639
verb 3
640
mute 5
641
status /var/log/openvpn-client.status
642
log-append /var/log/openvpn-illyse.log
643
644
# Routing
645
route-ipv6 2000::/3
646
redirect-gateway def1
647 35 Florent Guillot
</pre>
648
> * Server CA: Téléchargez le fichier attachment:vpn-illyse.crt et le téléverser.
649
> * Username: pdupond-vpn1 (information issue de coin, cf section #Avant-de-commencer)
650
> * Password: idem
651 38 Florent Guillot
> * First resolver: 80.67.169.12
652
> * 2nd resolver : 2001:913::8
653 1 Pierre-Arnaud Poudret
654 35 Florent Guillot
L'ensemble des autres champs est à laisser sur la valeur par défaut.
655 30 Florent Guillot
656 59 Sylvain David
h2. pfsense 
657
658
La configuration OpenVPN pour pfsense fonctionne parfaitement. Elle a été testée sous pfsense 2.4.2.
659
Voici comment effectuer cette configuration étape par étape :
660
661
h3. installation de l'autorité de certification Illyse.
662
663
- Naviguez dans le menu "system / Certificates Manager / CAs"
664
- cliquez sur "add" puis remplissez les champs comme il suit :
665
666
Descriptive Name : illyse
667
Method : Import an existing Certificate Auhtority
668
Certificate Data : copiez/collez la CA d'illyse
669
<pre>
670
-----BEGIN CERTIFICATE-----
671
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
707
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
708
-----END CERTIFICATE-----
709
</pre>
710
Puis sauvez.
711
712
h3. installation de la configuration VPN
713
714
- naviguez dans me menu "VPN / OpenVPN / Client"
715
- cliquez sur "add" puis remplissez les champs comme il suit :
716
NB : les champs non mentionnés dans cette documentation sont laissé à vide et/ou à leur valeur par défaut.
717
718
Server mode : Peer to Peer SSL/TLS
719
Protocol : UDP IPv4 and IPv6 on all interfaces (multihome)
720
device mode : tun layer3 tunnel mode
721
interface : LAN
722
server host or address : 89.234.140.3
723
Description : illyse
724
725
Username : votre login fournit par illyse. exemple : johndoe-vpn1
726
password : le mot de passe que vous avez créé vous même sur coin
727
728
Peer certificate auhtority : illyse
729
client certificate : None (Username and/or password required)
730
Encryption algorithm : BF-CBC (128 bit ley by default, 64 bit block)
731
Enable NCP : coché
732
NCP algorithm : sélectionnez AES-256-GCM et AES-128-GCM
733
Auth digest algorithm : SHA1 (160-bit)
734
735
Compression : Omit preference, + Disable apaptative LZO Compression [legacy style, comp-no]
736
Topology : Subnet - One IP address per client in a common subnet
737
738
Custom options : copiez collez ceci :
739
<pre>
740
redirect-gateway def1;fragment 1300;mssfix 1300
741
</pre>
742
cliquez sur "save"
743
744
h3. autorisez votre réseau local à sortir par illyse.
745
746
Le VPN devrait monter tout seul. Toutefois, il faut encore configurer pfsense pour autoriser vos machines du LAN à sortir par le tunnel.
747
Pour cela, allez dans Firewall / NAT / Outbound
748
outbound NAT mode : "Hybrid Outbound NAT rule generation. (Automatic Outbound NAT + rules below)"
749
cliquez sur "save"
750
751
Toujours dans ce menu, dans "mapping", cliquez sur "add"
752
interface : ovpnc1-illyse
753
protocl : any
754
source : network
755
remplissez le champs réseau avec l'IP de votre réseau local. exemple : 192.168.0.0/24
756
destination : any
757
translation : interface address
758
description : autoriser le LAN à sortir par Illyse
759
760
cliquez sur "save"
761
762
763 9 Baptiste Jonglez
h1. Configurations avancées
764 8 Baptiste Jonglez
765 9 Baptiste Jonglez
h2. Client sans IP montée sur le tunnel
766 8 Baptiste Jonglez
767 25 Baptiste Jonglez
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.  Ça peut être utile si on ne veut pas utiliser l'IPv4 publique Illyse directement sur le routeur qui monte le VPN, mais sur une autre machine du réseau local.
768 1 Pierre-Arnaud Poudret
769 25 Baptiste Jonglez
Attention, si il n'y a pas d'IPv4 installée sur l'interface tun, OpenVPN est très bête et n'arrivera pas à installer la route par défaut par le VPN... OpenVPN essaie d'ajouter des routes avec 89.234.140.129 comme gateway, mais il ne sait pas joindre cette IP.  Pour résoudre la stupidité d'OpenVPN^W^W^W ce problème, on utilise un script qui rajoute la route :
770
771
+/etc/openvpn/illyse.conf+
772
<pre>
773
...
774
route-delay 2
775
redirect-gateway def1
776
777
script-security 2
778
up illyse-up.sh
779
...
780
</pre>
781
782
+/etc/openvpn/illyse-up.sh+
783
<pre>
784
#!/bin/sh
785
tun_dev="$1"
786
ip link set "$tun_dev" up
787
ip route add "$route_vpn_gateway" dev "$tun_dev"
788
exit 0
789
</pre>
790
791
h2. Utiliser simultanément la connexion normale et le VPN, sortie par défaut par la connexion normale
792 10 Baptiste Jonglez
793
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).
794
795
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).
796
797
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.
798
799
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 :)
800
(la configuration ci-dessous est similaire à http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting )
801
802
+/etc/openvpn/up.sh+
803
<pre>
804
#!/bin/bash
805
806
dev="$1"
807
tun_mtu="$2"
808
link_mtu="$3"
809
local_ip="$4"
810
remote_ip="$5"
811
812
# Routing table to use
813
table=4242
814
815
# Source-specific routing: use the normal default route by default,
816
# but use the VPN for replying to packets coming from the VPN.
817
# IPv4
818
[ -n "$local_ip" ] && ip rule add from "$local_ip" table "$table" && ip route add default dev "$dev" table "$table"
819
# IPv6
820 58 Sylvain David
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule add from "$ifconfig_ipv6_local" table "$table" && ip -6 route add default dev "$dev" table "$table"
821
</pre>
822
823
+/etc/openvpn/down.sh+
824
<pre>
825
#!/bin/bash
826
827
dev="$1"
828
tun_mtu="$2"
829
link_mtu="$3"
830
local_ip="$4"
831
remote_ip="$5"
832
833
table=4242
834
835
# Delete table for source-specific routing.
836
[ -n "$local_ip" ] && ip rule del from "$local_ip" && ip route del default table "$table"
837
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule del from "$ifconfig_ipv6_local" && ip -6 route del default table "$table"
838
839
exit 0
840
</pre>
841
842
+/etc/openvpn/illyse.conf+
843
<pre>
844
## Configuration VPN Illyse pour accepter des connexions entrantes
845
## à la fois via le VPN et via la connexion normale, grâce au policy routing (Linux uniquement)
846
## https://www.illyse.org/projects/publicdocs/wiki/Vpn_doc_user#Utiliser-simultanément-la-connexion-normale-et-le-VPN
847
848
# Gestion des routes via des scripts externes.
849
script-security 2
850
up up.sh
851
down down.sh
852
853
854
# Reste de la configuration normale.
855
# Penser à enlever "redirect-gateway" et "route-ipv6", on gère les
856
# routes via up.sh et down.sh
857
client
858
remote vpn.illyse.net 1194
859
#http-proxy 192.0.2.1 8080
860
dev tun0
861
862
#proto udp6
863
proto udp
864
#proto tcp
865
explicit-exit-notify
866
867
mssfix 1300
868
fragment 1300
869
870
route-delay 2
871
nobind
872
persist-key
873
persist-tun
874
875
tun-ipv6
876
877
auth-user-pass credentials
878
879
verb 3
880
log-append /var/log/openvpn-illyse.log
881
882
# Certificat permettant de vérifier que c'est bien à Illyse que
883
# l'on se connecte et donc à qui on donne notre mot de passe.
884
remote-cert-tls server
885
<ca>
886
-----BEGIN CERTIFICATE-----
887
MIIG2TCCBMGgAwIBAgIJAPAWK4ceEBXzMA0GCSqGSIb3DQEBBQUAMIGjMQswCQYD
888
VQQGEwJGUjEMMAoGA1UECBMDUkhBMRUwEwYDVQQHEwxWaWxsZXVyYmFubmUxDzAN
889
BgNVBAoTBklMTFlTRTEQMA4GA1UECxMHb3BlbnZwbjEaMBgGA1UEAxMRaWxseXNl
890
LW9wZW52cG4tY2ExDzANBgNVBCkTBklMTFlTRTEfMB0GCSqGSIb3DQEJARYQYWJ1
891
c2VAaWxseXNlLm9yZzAeFw0xNDAzMTgyMTMyMjNaFw0yNDAzMTUyMTMyMjNaMIGj
892
MQswCQYDVQQGEwJGUjEMMAoGA1UECBMDUkhBMRUwEwYDVQQHEwxWaWxsZXVyYmFu
893
bmUxDzANBgNVBAoTBklMTFlTRTEQMA4GA1UECxMHb3BlbnZwbjEaMBgGA1UEAxMR
894
aWxseXNlLW9wZW52cG4tY2ExDzANBgNVBCkTBklMTFlTRTEfMB0GCSqGSIb3DQEJ
895
ARYQYWJ1c2VAaWxseXNlLm9yZzCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoC
896
ggIBAKl/s6IoAsJTxw82xps5PHPTMjKhONFNk4gJMdSngbhGMcRM5ebwD9Dhfava
897
w9NjWiwNhikhnRWW3HGrv+BE7cqga16ryuLCievG1nfqZMpa3EnfWwwmHClMV9Zf
898
OPb/AD2V3t2MAvZ1ZcvyTe/p/3eHovHhEHJ2qXtd0iI9u8b7xcEm9vXIw7kYN2dQ
899
xIe9Wd85tja2IBtf67oBS8JZxSkIcEY7KAXsFUtFyGn6fbPGj8UGM+roiYqzEYa/
900
BNvc2eEfhhpHSoN5vRKu0LrVUA3uA41dOKcxW15af4Xy058l0aUWeSK64jK/cL24
901
fmBZoQfdS9U5P5wnm4tpRR7oesdrohhbVWn4JjRyF31HM1FtAoT6oTqhhlrImpGw
902
j7nAGlItT04C73wgiSajFJryo24XuedzjFxm3BetAcSUyE5e3BSqTUbEtWdTdiw1
903
l3/WQyyBrn98SChBExmpklecI5eFp/DoLBqwW/U/vseD7zMfF7OHnHtbsbniUujN
904
WjNGiWnVJ636nTfPIDsngGTACWh5ZwxX0fGW2+RqS2NN9R1dGWdW34lgfwx04Wzc
905
l0NZ++itmJq5iJUw9Kj9mmQZn96V8b6hDnhcJfkvUlgxhHcZ5isfOwQq6UcP3mZP
906
zOCWuCwIKNPMLcJmC684mkJJrJuCc6N9pNm7jjmdPkW/0j2VAgMBAAGjggEMMIIB
907
CDAdBgNVHQ4EFgQUXUSESsSBdTGjlbvo+Sbsiwo+E/4wgdgGA1UdIwSB0DCBzYAU
908
XUSESsSBdTGjlbvo+Sbsiwo+E/6hgamkgaYwgaMxCzAJBgNVBAYTAkZSMQwwCgYD
909
VQQIEwNSSEExFTATBgNVBAcTDFZpbGxldXJiYW5uZTEPMA0GA1UEChMGSUxMWVNF
910
MRAwDgYDVQQLEwdvcGVudnBuMRowGAYDVQQDExFpbGx5c2Utb3BlbnZwbi1jYTEP
911
MA0GA1UEKRMGSUxMWVNFMR8wHQYJKoZIhvcNAQkBFhBhYnVzZUBpbGx5c2Uub3Jn
912
ggkA8BYrhx4QFfMwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAgEATAlP
913
EQXjzQ10xkQdUNXjy+s87DWcbpu3n4Wlc4E828Ek6D1LhbPeVL7wTyhHj+Txxy8o
914
4sCCL+oH/HgnMEy7VHs0HXpD3F9iPD8U3QiL1sfO+0IKOhBOKAsjmpuH+oCsXpZ0
915
J/GnebPQ6S+wBFCZH3uU5jIeB4WCFpzn2WQVIXh+lzKKWLN3GxfxdWkIyl4Fluj4
916
6k0Lj35EtE74wZTWbCkum7rNOp9gnGtrcyAupwj2MTeVcLzigYLth/G6AA3a7VeE
917
hlvJqV7URhiwXL8lQjaMoDFYiD8zhBn44tLwKMiTvyHfNs0+1mcteoDwI20SKo3F
918
VUnyCqc9k9Dq0YfE4RqhjmsMcV6HydaznCclnIrugPdFAQzGbk7bNZJ3yv0ATj9Z
919
wcfHxIUEuPl392OvJDm/JEbegonQ4yyv2B8OAacZ4HPm/6FeYS/jyOe66BUku0rd
920
LSVaB9OD7iVWkW5eo6ng3XA390HIUUtf/0IdtiCoMsjuZbVagfiaUu0kUJpR6d2k
921
r5czdLFhRu8uw0sWn1rMQXlUAqH0WAfoq8XinaHesWs5MEnvevjoUTkNhFnqe1Ra
922
rkwU9mzr1/N6GfpPalbveD0duTGAkJN5mwLZi+HZ4ctLgO1ShYFU/NbC7jNU3YCU
923
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
924
-----END CERTIFICATE-----
925
</ca>
926
</pre>
927
928 21 Mit Mit
h2. Utiliser simultanément la connexion normale et le VPN, sortie par défaut via le VPN
929
930
Dans la configuration précédente, les deux IPs, FAI et VPN, sont accessibles de l'extérieur et répondent correctement.
931
La machine toutefois utilise par défaut la sortie FAI plutôt que le VPN.
932
Le cas décrit ici a son IP FAI obtenue par DHCP, avec la table de routage main, et sans IPv6.
933
Il faut bidouiller les routes pour que si on contacte l'IP du serveur VPN, on passe bien par l'IP FAI et l'interface qui correspond, puis répondre à ce qui vient de l'IP FAI par la table main, et enfin par défaut sortir par le table correspondant au VPN.
934
935
Étape 1, dans le fichier illyse.conf, il faut ajouter l'option 'ifconfig-noexec' pour éviter qu'openVPN ne monte l'IP du VPN avant qu'on ne gère ça dans le script up.sh
936
Étape 2, changer les scripts up.sh et down.s. Actuellement, on n'a pas trouvé de solution propre pour éviter de coder en dur des paramètres dans ce scripts.
937
+/etc/openvpn/up.conf+
938
<pre>
939
#!/bin/bash
940
941
dev="$1"
942
isp_dev="eth0"
943
tun_mtu="$2"
944
link_mtu="$3"
945
local_ip="$4"
946
remote_ip="$5"
947
isp_ip="WWW.XXX.YYY.ZZZ"
948
isp_gateway="WWW.XXX.YYY.ZZZ"
949
vpn_server="89.234.140.3"
950
951
# Routing table to use
952
tableVPN=4242
953
tableLOC=1337
954
955
# IP inconnue de COIN, donc tun0 à monter
956
ip link set "$dev" up
957
ip addr add "$local_ip"/32 dev "$dev"
958
959
# Source-specific routing: use the normal default route by default,
960
# but use the VPN for replying to packets coming from the VPN.
961
# IPv4
962
if [ -n "local_ip" ]; then
963
  ip rule add pref 31000 lookup "$tableLOC"
964
  ip rule add pref 31050 from "$isp_ip" lookup main
965
  ip rule add pref 31100 lookup "$tableVPN"
966
  ip route add default dev "$dev" table "$tableVPN"
967
  ip route add "$vpn_server" via "$isp_gateway" table "$tableLOC" dev "$isp_dev"
968
fi
969
970
# IPv6
971
[ -n "$ifconfig_ipv6_local" ] && ip -6 addr add "$ifconfig_ipv6_local" dev "$dev" && ip -6 route add default dev "$dev"
972
973
exit 0
974
</pre>
975
976
+/etc/openvpn/down.conf+
977
<pre>
978
dev="$1"
979
tun_mtu="$2"
980
link_mtu="$3"
981
local_ip="$4"
982
remote_ip="$5"
983
isp_ip="WWW.XXX.YYY.ZZZ"
984
isp_gateway="WWW.XXX.YYY.ZZZ"
985
vpn_server="89.234.140.3"
986
987
# Routing table to use
988
tableVPN=4242
989
tableLOC=1337
990
991
# Delete table for source-specific routing.
992
if [ "$local_ip" ]; then
993
  ip route del "$vpn_server" via "$isp_gateway" table "$tableLOC"
994
  ip route del default dev "$dev" table "$tableVPN"
995
  ip rule del pref 31100 lookup "$tableVPN"
996
  ip rule del pref 31050 from "$isp_ip" lookup main
997
  ip rule del pref 31000 lookup "$tableLOC"
998
fi
999
1000
[ -n "$ifconfig_ipv6_local" ] && ip -6 route del default dev "$dev" && ip -6 addr del "$ifconfig_ipv6_local" dev "$dev"
1001
1002
exit 0
1003
</pre>
1004 37 Mit Mit
1005
h3. Utiliser simultanément la connexion normale et le VPN, sortie par défaut via le VPN, et faire AP WiFi
1006
1007
On a foutu le bordel dans les routes, ce qui fait que hostapd n'arrive pas à faire tomber le bousin en marche, car il met ses routes dans la table main au lieu de les mettre dans la tableVPN  4242.
1008
Du coup, on l'aide (en supposant que le wlan soit en 192.168.2.0/24) :
1009
<pre>
1010
ip route del 192.168.2.0/24 dev wlan0 table main
1011
ip route add 192.168.2.0/24 dev wlan0 table 4242
1012
</pre>
1013
Il ne reste plus qu'à activer le NAT sur l'interface tun0 du VPN et paf ! On fait un beau AP WiFi (vilainement naté) qui fournit une connexion Illyse.