Projet

Général

Profil

Vpn doc user » Historique » Version 55

Florent Guillot, 08/05/2017 18:38

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 55 Florent Guillot
* Créer le fichier de configuration openvpn: "sudo nano /etc/openvpn/illyse.conf" Copier dedans la configuration ci-dessous. [[#etcopenvpnillyseconf]]
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 53 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 ci-dessous).
66
* 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
+/etc/openvpn/credentials+
216
(Seulement si vous voulez stocker votre mot de passe. En clair. Oui, c'est moche.)
217
218
Spécifier login et mot de passe sur deux lignes différences.
219
220
<pre>
221
jkleboulet-vpn1
222
omgsuchsecured123
223
</pre>
224
225
226 3 Pierre-Arnaud Poudret
h3. Mise à jour automatique de resolv.conf
227
228
Pour que resolv.conf soit mis à jour par openvpn avec les IP des resolvers DNS Illyse poussées par le serveur VPN.
229
230
<pre>
231
<mit-mit> Bon, ça marche, faut ajouter à la config :
232
<mit-mit> script-security 2
233
<mit-mit> up /etc/openvpn/update-resolv-conf
234
<mit-mit> down /etc/openvpn/update-resolv-conf
235
<mit-mit> et avoir resolvconf d'installé.
236
<mit-mit> (la première ligne étant l'autorisation de lancement de scripts externes)
237
</pre>
238
239 26 Côme chillie
h2. GNU/Linux (Network Manager)
240
241
Il est possible de configurer graphiquement le VPN via Network Manager.
242
(J’utilise la version KDE, des détails peuvent varier si vous utilisez la version gtk)
243
244 31 Florent Guillot
Téléchargez le fichier attachment:vpn-illyse.crt.
245
246 28 Côme chillie
Installez le backend openvpn pour Network Manager, puis créez une nouvelle connexion de type openvpn.
247 27 Côme chillie
Complétez comme suit, indiquez le chemin du fichier crt, votre login et votre mot de passe VPN :
248 1 Pierre-Arnaud Poudret
!vpn1.png!
249 27 Côme chillie
Cliquez sur «Avancé», mettez 1300 dans «Taille du fragment UDP» et cochez «Restreindre la taille maximale du segment TCP (MSS)»
250
!vpn2.png!
251 3 Pierre-Arnaud Poudret
252 29 Côme chillie
h2. Windows
253 1 Pierre-Arnaud Poudret
254 29 Côme chillie
Installez OpenVPN, par exemple en suivant la documentation présente ici : http://www.rezine.org/documentation/tunnels_chiffres/#index4h1
255
256
Créez ensuite le fichier suivant.  
257
Faites attention à l’extension des fichiers : parfois Windows ajoute une extension .txt aux fichiers sans le dire.
258
259 2 Pierre-Arnaud Poudret
+C:\Program Files\OpenVPN\config\illyse\illyse.ovpn+
260
<pre>
261
# C'est nous qui prenons l'initiative de nous connecter au serveur.
262
client
263
264
# On route de l'IP, on ne fait pas de l'ethernet.
265
dev tun0
266
267
# si on ne reçoit pas d'IP pour tun0:
268
# - soit on configure l'interface avec des ip privées bidon
269
#ifconfig 10.255.255.1 10.255.255.2
270
# - soit on utilise un script pour faire "ifconfig tun0 up"
271
#script-security 2
272
#up up.sh
273
274
# Il est préférable d'utiliser udp, le résultat fonctionne mieux. Il est
275
# cependant notable que les restrictions d'accès Internet laissent souvent
276
# plus facilement passer tcp. Essayez donc udp, et seulement s'il ne fonctionne
277
# pas, essayez tcp.
278
279
#proto udp6
280
proto udp
281
#proto tcp
282
283
# Certains réseaux ont en fait une MTU bien inférieure à 1450. Dire aux connexions
284
# TCP d'être très conservatives, pour que ça marche plus ou moins partout.
285
mssfix 1300
286
# En UDP, on peut s'assurer que ça passe de toutes façons en fragmentant au besoin
287
# quand ça dépasse.
288
fragment 1300
289
# Idéalement, ça devrait être détecté tout seul, mais c'est loin de toujours fonctionner...
290
#mtu-disc yes
291
292
#mtu-test
293
#link-mtu 1300
294
#tun-mtu 1300
295
296
# En udp, Prévenir le serveur quand on termine, permet de relancer
297
# immédiatement sans attendre que le serveur se rende compte de la
298
# déconnexion par timeout.
299
explicit-exit-notify
300
301
# L'adresse du serveur.
302
remote vpn.illyse.net 1194
303
304
# Éventuellement, on peut avoir besoin de passer par un proxy http, décommenter cette ligne en mettant l'adresse et le port du proxy.
305
#http-proxy 192.0.2.1 8080
306
307
# Pour windows: utiliser route.exe.
308
route-method exe
309
310
# Attendre un peu avant d'ajouter les routes.
311
route-delay 2
312
313
# Ne pas utiliser un port local statique, on est client de toutes façons.
314
nobind
315
316
# Garder la clé en mémoire, pour ne pas avoir besoin de la relire lors d'un
317
# redémarrage.
318
persist-key
319
# Ne pas tuer l'interface du tunnel lors d'un redémarrage.
320
#persist-tun
321
322
#ip-win32 ipapi
323
324
# Décommenter cette ligne pour faire passer tout le trafic via le VPN:
325 1 Pierre-Arnaud Poudret
redirect-gateway def1
326 2 Pierre-Arnaud Poudret
327 1 Pierre-Arnaud Poudret
# On peut aussi vouloir plutôt router seulement quelques destinations, par
328 2 Pierre-Arnaud Poudret
# exemple ici tout Gitoyen:
329
#route 80.67.160.0 255.255.224.0
330
331 5 Baptiste Jonglez
# Activer IPv6 dans le VPN
332 2 Pierre-Arnaud Poudret
tun-ipv6
333 5 Baptiste Jonglez
# Faire passer tout le trafic IPv6 via le VPN:
334 2 Pierre-Arnaud Poudret
route-ipv6 ::/1
335
route-ipv6 8000::/1
336
337
# Envoyer un login et un mot de passe. Pour éviter de taper à la main login
338
# et mot de passe, vous pouvez ajouter à droite de "auth-user-pass" le nom d'un
339
# fichier contenant ces deux informations, une par ligne.
340
auth-user-pass credentials
341
342
# Un minimum de debug, c'est toujours bien.
343
verb 3
344
345
#log-append /var/log/openvpn-illyse.log
346
347
# Certificat permettant de vérifier que c'est bien à Illyse que
348
# l'on se connecte et donc à qui on donne notre mot de passe.
349
remote-cert-tls server
350
<ca>
351
-----BEGIN CERTIFICATE-----
352
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
388
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
389
-----END CERTIFICATE-----
390
</ca>
391
</pre>
392 1 Pierre-Arnaud Poudret
393 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 :
394 2 Pierre-Arnaud Poudret
395
+C:\Program Files\OpenVPN\config\illyse\credentials+
396
397
<pre>
398
jkleboulet-vpn1
399 1 Pierre-Arnaud Poudret
omgsuchsecured123
400
</pre>
401 29 Côme chillie
402
Si vous ne voulez pas utiliser un tel fichier, commentez la ligne «auth-user-pass credentials» dans la configuration.
403 4 Fabien Michel
404
h2. Mac OS X
405
406
Installer le client OpenVPN Tunnelblick : https://code.google.com/p/tunnelblick/
407
408
Créer un fichier illyse.ovpn avec la configuration voulue. Celle indiquée ci-dessous fonctionne sans modification necessaire.
409
Double-cliquer sur le fichier afin que TunnelBlick import la configuration.
410
A la première connexion, il va demander un couple login/password qu'il sera possible de stocker dans le trousseau.
411
412
Paramètres modifiés par rapport à la configuration pour Linux :
413
* log-append : Ce paramètre n'est pas accepté. Mais tunnelblick log déjà en interne.
414
* 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
415
* 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)
416
417
+illyse.ovpn+
418
<pre>
419
client
420
dev tun0
421
proto udp
422
mssfix 1300
423
fragment 1300
424
explicit-exit-notify
425
remote vpn.illyse.net 1194
426
#http-proxy 192.0.2.1 8080
427
route-delay 2
428
nobind
429
430
persist-key
431
persist-tun
432
433
redirect-gateway def1
434
#route 80.67.160.0 255.255.224.0
435
436
tun-ipv6
437
route-ipv6 ::/1
438
route-ipv6 8000::/1
439
440
auth-user-pass
441
verb 3
442
443
remote-cert-tls server
444
<ca>
445
-----BEGIN CERTIFICATE-----
446
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
479 1 Pierre-Arnaud Poudret
LSVaB9OD7iVWkW5eo6ng3XA390HIUUtf/0IdtiCoMsjuZbVagfiaUu0kUJpR6d2k
480
r5czdLFhRu8uw0sWn1rMQXlUAqH0WAfoq8XinaHesWs5MEnvevjoUTkNhFnqe1Ra
481
rkwU9mzr1/N6GfpPalbveD0duTGAkJN5mwLZi+HZ4ctLgO1ShYFU/NbC7jNU3YCU
482
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
483
-----END CERTIFICATE-----
484
</ca>
485 15 Rémi Bouhl
486
</pre>
487
488
489
h2. Android 
490
491
Configuration OpenVPN pour Android (testé sous Android 4.4.4 et OpenVPN for Android v0.6.17)
492
Ci-après un fichier de configuration qui devrait fonctionner avec l'application Android OpenVPN for Android, 
493
Disponible sur F-Droid : https://f-droid.org/repository/browse/?fdfilter=openvpn&fdid=de.blinkt.openvpn
494
Ou au pire sur le PlayStore : https://play.google.com/store/apps/details?id=de.blinkt.openvpn
495
Posez le fichier de configuration, renommé en VPN-Illyse.conf par exemple, sur l'appareil.
496
Une fois l'application installée et démarrée, cliquez sur le dossier en bas à droite et chezchez le fichier de configuration.
497
Il suffit de renseigner les identifiants.
498
499
<pre>
500 16 Rémi Bouhl
501 15 Rémi Bouhl
#
502
# Fichier de configuration VPN Illyse pour Android
503
# 2014-10-14
504
#
505
# Enables connection to GUI
506
management /data/data/de.blinkt.openvpn/cache/mgmtsocket unix
507
management-client
508
management-query-passwords
509
management-hold
510
setenv IV_GUI_VER "de.blinkt.openvpn 0.6.17" 
511
machine-readable-output
512
client
513
verb 4
514
connect-retry-max 5
515
connect-retry 5
516
resolv-retry 60
517
dev tun
518
remote vpn.illyse.net 1194 udp
519
auth-user-pass
520
route-ipv6 ::/0
521
route 0.0.0.0 0.0.0.0 vpn_gateway
522
remote-cert-tls server
523
persist-tun
524
# persist-tun also enables pre resolving to avoid DNS resolve problem
525
preresolve
526
# Use system proxy setting
527
management-query-proxy
528
# Custom configuration options
529
# You are on your on own here 
530
mssfix 1300 
531
fragment 1300
532
<ca>
533
-----BEGIN CERTIFICATE-----
534
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
570
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
571
-----END CERTIFICATE-----
572
</ca>
573 16 Rémi Bouhl
574 4 Fabien Michel
575
</pre>
576 8 Baptiste Jonglez
577 30 Florent Guillot
h2. Yunohost
578
579 32 Florent Guillot
h3. Installer le client VPN
580 30 Florent Guillot
581 32 Florent Guillot
* Dans Applications > Install, en bas de la page, entrer 'https://github.com/labriqueinternet/vpnclient_ynh' dans le champ *Install custom app*.
582
* Lire et valider l'avertissement.
583
* Valider l'installation en cliquant sur le bouton *Install*
584 1 Pierre-Arnaud Poudret
585 40 Florent Guillot
h3. Configurer le client VPN
586 34 Florent Guillot
587 51 Florent Guillot
h4. Méthode automatique, ".cube"
588 39 Florent Guillot
589
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 :
590 41 Florent Guillot
* télécharger le .cube de base: attachment:illyse.cube
591 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)
592 46 Florent Guillot
* importer le .cube dans l'application vpn_client (onglet "Automatic" dans la configuration de l'application)
593 40 Florent Guillot
594 48 Florent Guillot
h4. Méthode manuelle
595 39 Florent Guillot
596 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.
597 42 Florent Guillot
598 34 Florent Guillot
* Dans Applications > VPN Client, cliquer sur l'URL _https://maBrique.nohost.me/vpnadmin_
599
> * Server Address: vpn.illyse.net
600
> * Server Port: 1194
601
> * Protocol: UDP
602
> * Advanced: copier coller la configuration suivante:
603
<pre>
604
remote <TPL:SERVER_NAME>
605
proto <TPL:PROTO>
606
port <TPL:SERVER_PORT>
607
608
pull
609
nobind
610
dev tun
611
tun-ipv6
612
keepalive 10 30
613
resolv-retry infinite
614
615
mssfix 1300
616
617
route-delay 2
618
nobind
619
persist-key
620
621
# Authentication by login
622
<TPL:LOGIN_COMMENT>auth-user-pass /etc/openvpn/keys/credentials
623
624
# UDP only
625
<TPL:UDP_COMMENT>explicit-exit-notify
626
<TPL:UDP_COMMENT>fragment 1300
627
628
# TLS
629
tls-client
630
<TPL:TA_COMMENT>tls-auth /etc/openvpn/keys/user_ta.key 1
631
remote-cert-tls server
632
ns-cert-type server
633
ca /etc/openvpn/keys/ca-server.crt
634
<TPL:CERT_COMMENT>cert /etc/openvpn/keys/user.crt
635
<TPL:CERT_COMMENT>key /etc/openvpn/keys/user.key
636
637
# Logs
638
verb 3
639
mute 5
640
status /var/log/openvpn-client.status
641
log-append /var/log/openvpn-illyse.log
642
643
# Routing
644
route-ipv6 2000::/3
645
redirect-gateway def1
646 35 Florent Guillot
</pre>
647
> * Server CA: Téléchargez le fichier attachment:vpn-illyse.crt et le téléverser.
648
> * Username: pdupond-vpn1 (information issue de coin, cf section #Avant-de-commencer)
649
> * Password: idem
650 38 Florent Guillot
> * First resolver: 80.67.169.12
651
> * 2nd resolver : 2001:913::8
652 1 Pierre-Arnaud Poudret
653 35 Florent Guillot
L'ensemble des autres champs est à laisser sur la valeur par défaut.
654 30 Florent Guillot
655 9 Baptiste Jonglez
h1. Configurations avancées
656 8 Baptiste Jonglez
657 9 Baptiste Jonglez
h2. Client sans IP montée sur le tunnel
658 8 Baptiste Jonglez
659 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.
660 1 Pierre-Arnaud Poudret
661 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 :
662
663
+/etc/openvpn/illyse.conf+
664
<pre>
665
...
666
route-delay 2
667
redirect-gateway def1
668
669
script-security 2
670
up illyse-up.sh
671
...
672
</pre>
673
674
+/etc/openvpn/illyse-up.sh+
675
<pre>
676
#!/bin/sh
677
tun_dev="$1"
678
ip link set "$tun_dev" up
679
ip route add "$route_vpn_gateway" dev "$tun_dev"
680
exit 0
681
</pre>
682
683
h2. Utiliser simultanément la connexion normale et le VPN, sortie par défaut par la connexion normale
684 10 Baptiste Jonglez
685
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).
686
687
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).
688
689
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.
690
691
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 :)
692
(la configuration ci-dessous est similaire à http://multipath-tcp.org/pmwiki.php/Users/ConfigureRouting )
693
694
+/etc/openvpn/up.sh+
695
<pre>
696
#!/bin/bash
697
698
dev="$1"
699
tun_mtu="$2"
700
link_mtu="$3"
701
local_ip="$4"
702
remote_ip="$5"
703
704
# Routing table to use
705
table=4242
706
707
# Source-specific routing: use the normal default route by default,
708
# but use the VPN for replying to packets coming from the VPN.
709
# IPv4
710
[ -n "$local_ip" ] && ip rule add from "$local_ip" table "$table" && ip route add default dev "$dev" table "$table"
711
# IPv6
712
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule add from "$ifconfig_ipv6_local" table "$table" && ip -6 route add default dev "$dev" table "$table"
713
</pre>
714
715
+/etc/openvpn/down.sh+
716
<pre>
717
#!/bin/bash
718
719
dev="$1"
720
tun_mtu="$2"
721
link_mtu="$3"
722
local_ip="$4"
723
remote_ip="$5"
724
725
table=4242
726
727
# Delete table for source-specific routing.
728
[ -n "$local_ip" ] && ip rule del from "$local_ip" && ip route del default table "$table"
729
[ -n "$ifconfig_ipv6_local" ] && ip -6 rule del from "$ifconfig_ipv6_local" && ip -6 route del default table "$table"
730
731
exit 0
732
</pre>
733
734
+/etc/openvpn/illyse.conf+
735
<pre>
736
## Configuration VPN Illyse pour accepter des connexions entrantes
737
## à la fois via le VPN et via la connexion normale, grâce au policy routing (Linux uniquement)
738
## https://www.illyse.org/projects/publicdocs/wiki/Vpn_doc_user#Utiliser-simultanément-la-connexion-normale-et-le-VPN
739
740
# Gestion des routes via des scripts externes.
741
script-security 2
742
up up.sh
743
down down.sh
744
745
746
# Reste de la configuration normale.
747
# Penser à enlever "redirect-gateway" et "route-ipv6", on gère les
748
# routes via up.sh et down.sh
749
client
750
remote vpn.illyse.net 1194
751
#http-proxy 192.0.2.1 8080
752
dev tun0
753
754
#proto udp6
755
proto udp
756
#proto tcp
757
explicit-exit-notify
758
759
mssfix 1300
760
fragment 1300
761
762
route-delay 2
763
nobind
764
persist-key
765
persist-tun
766
767
tun-ipv6
768
769
auth-user-pass credentials
770
771
verb 3
772
log-append /var/log/openvpn-illyse.log
773
774
# Certificat permettant de vérifier que c'est bien à Illyse que
775
# l'on se connecte et donc à qui on donne notre mot de passe.
776
remote-cert-tls server
777
<ca>
778
-----BEGIN CERTIFICATE-----
779
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
815
sjvtdavgLFaMPLPrI2DAcjpVMUuL1VgdqUcQkhc=
816
-----END CERTIFICATE-----
817
</ca>
818
</pre>
819 21 Mit Mit
820
h2. Utiliser simultanément la connexion normale et le VPN, sortie par défaut via le VPN
821
822
Dans la configuration précédente, les deux IPs, FAI et VPN, sont accessibles de l'extérieur et répondent correctement.
823
La machine toutefois utilise par défaut la sortie FAI plutôt que le VPN.
824
Le cas décrit ici a son IP FAI obtenue par DHCP, avec la table de routage main, et sans IPv6.
825
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.
826
827
É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
828
É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.
829
+/etc/openvpn/up.conf+
830
<pre>
831
#!/bin/bash
832
833
dev="$1"
834
isp_dev="eth0"
835
tun_mtu="$2"
836
link_mtu="$3"
837
local_ip="$4"
838
remote_ip="$5"
839
isp_ip="WWW.XXX.YYY.ZZZ"
840
isp_gateway="WWW.XXX.YYY.ZZZ"
841
vpn_server="89.234.140.3"
842
843
# Routing table to use
844
tableVPN=4242
845
tableLOC=1337
846
847
# IP inconnue de COIN, donc tun0 à monter
848
ip link set "$dev" up
849
ip addr add "$local_ip"/32 dev "$dev"
850
851
# Source-specific routing: use the normal default route by default,
852
# but use the VPN for replying to packets coming from the VPN.
853
# IPv4
854
if [ -n "local_ip" ]; then
855
  ip rule add pref 31000 lookup "$tableLOC"
856
  ip rule add pref 31050 from "$isp_ip" lookup main
857
  ip rule add pref 31100 lookup "$tableVPN"
858
  ip route add default dev "$dev" table "$tableVPN"
859
  ip route add "$vpn_server" via "$isp_gateway" table "$tableLOC" dev "$isp_dev"
860
fi
861
862
# IPv6
863
[ -n "$ifconfig_ipv6_local" ] && ip -6 addr add "$ifconfig_ipv6_local" dev "$dev" && ip -6 route add default dev "$dev"
864
865
exit 0
866
</pre>
867
868
+/etc/openvpn/down.conf+
869
<pre>
870
dev="$1"
871
tun_mtu="$2"
872
link_mtu="$3"
873
local_ip="$4"
874
remote_ip="$5"
875
isp_ip="WWW.XXX.YYY.ZZZ"
876
isp_gateway="WWW.XXX.YYY.ZZZ"
877
vpn_server="89.234.140.3"
878
879
# Routing table to use
880
tableVPN=4242
881
tableLOC=1337
882
883
# Delete table for source-specific routing.
884
if [ "$local_ip" ]; then
885
  ip route del "$vpn_server" via "$isp_gateway" table "$tableLOC"
886
  ip route del default dev "$dev" table "$tableVPN"
887
  ip rule del pref 31100 lookup "$tableVPN"
888
  ip rule del pref 31050 from "$isp_ip" lookup main
889
  ip rule del pref 31000 lookup "$tableLOC"
890
fi
891
892
[ -n "$ifconfig_ipv6_local" ] && ip -6 route del default dev "$dev" && ip -6 addr del "$ifconfig_ipv6_local" dev "$dev"
893
894
exit 0
895
</pre>
896 37 Mit Mit
897
h3. Utiliser simultanément la connexion normale et le VPN, sortie par défaut via le VPN, et faire AP WiFi
898
899
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.
900
Du coup, on l'aide (en supposant que le wlan soit en 192.168.2.0/24) :
901
<pre>
902
ip route del 192.168.2.0/24 dev wlan0 table main
903
ip route add 192.168.2.0/24 dev wlan0 table 4242
904
</pre>
905
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.