Comparatif VPN » Historique » Version 10
Laurent GUERBY, 31/05/2014 09:02
1 | 7 | Baptiste Jonglez | {{>toc}} |
---|---|---|---|
2 | 7 | Baptiste Jonglez | |
3 | 1 | Laurent GUERBY | h1. VPN |
4 | 1 | Laurent GUERBY | |
5 | 4 | Baptiste Jonglez | Comparaison de différentes solutions de VPN, selon plusieurs critères (facilité de mise en place, performance, sécurité, etc). L'usage considéré est celui de transport d'IP publiques (collecte virtuelle), voir [[Partage ADSL OpenVPN]]. |
6 | 4 | Baptiste Jonglez | |
7 | 4 | Baptiste Jonglez | Pour des benchmarks détaillés sur des petits routeurs OpenWRT, voir [[Benchmark VPN]]. |
8 | 4 | Baptiste Jonglez | |
9 | 6 | Baptiste Jonglez | Overview OpenWRT : http://wiki.openwrt.org/doc/howto/vpn.overview |
10 | 6 | Baptiste Jonglez | |
11 | 4 | Baptiste Jonglez | h2. OpenVPN |
12 | 4 | Baptiste Jonglez | |
13 | 4 | Baptiste Jonglez | Avantages : |
14 | 4 | Baptiste Jonglez | |
15 | 4 | Baptiste Jonglez | * simple à mettre en place, éprouvé, documenté |
16 | 4 | Baptiste Jonglez | * standard de fait, existe pour tous les OS décents |
17 | 4 | Baptiste Jonglez | * chiffrement (optionnel) |
18 | 4 | Baptiste Jonglez | * authentification forte (certificat SSL, secret partagé, ...) |
19 | 5 | Baptiste Jonglez | * transport UDP ou TCP (passe bien le NAT, voire les firewalls restrictifs) |
20 | 5 | Baptiste Jonglez | * fragmentation intégrée (mais peut aussi poser problème niveau performances) |
21 | 4 | Baptiste Jonglez | |
22 | 4 | Baptiste Jonglez | Inconvénients : |
23 | 1 | Laurent GUERBY | |
24 | 4 | Baptiste Jonglez | * faible performance sur des petits routeurs (même sans chiffrement) → raison : tunnel userspace |
25 | 5 | Baptiste Jonglez | * maintenabilité : obligé de configurer un nouveau tunnel point-à-point pour chaque connexion VPN (alternative : mode serveur multi-client, mais peu pratique pour faire du routage un peu complexe) |
26 | 4 | Baptiste Jonglez | |
27 | 4 | Baptiste Jonglez | Liens : |
28 | 4 | Baptiste Jonglez | |
29 | 4 | Baptiste Jonglez | * [[OpenVPN]] |
30 | 1 | Laurent GUERBY | * [[Partage_ADSL_OpenVPN]] |
31 | 1 | Laurent GUERBY | |
32 | 5 | Baptiste Jonglez | h2. GRE |
33 | 5 | Baptiste Jonglez | |
34 | 5 | Baptiste Jonglez | Avantages : |
35 | 5 | Baptiste Jonglez | |
36 | 5 | Baptiste Jonglez | * extrêmement simple à mettre en place, disponible absolument partout |
37 | 5 | Baptiste Jonglez | * performance : implémentation kernelspace, encapsulation très simple |
38 | 5 | Baptiste Jonglez | |
39 | 5 | Baptiste Jonglez | Inconvénients : |
40 | 5 | Baptiste Jonglez | |
41 | 5 | Baptiste Jonglez | * pas d'authentification |
42 | 5 | Baptiste Jonglez | * pas de chiffrement |
43 | 5 | Baptiste Jonglez | * maintenabilité : configurer un nouveau tunnel pour chaque connexion VPN |
44 | 5 | Baptiste Jonglez | * ni TCP, ni UDP : certains firewalls n'aiment pas (e.g. Livebox) |
45 | 5 | Baptiste Jonglez | * pas de keepalive intégré : pose problème pour la connectivité bidirectionnelle à travers un NAT / firewall stateful |
46 | 5 | Baptiste Jonglez | * IPv6 pas super bien intégré (notamment, pas mal de bugs sur le link-local) |
47 | 1 | Laurent GUERBY | |
48 | 6 | Baptiste Jonglez | h2. PPP/L2TPv2 |
49 | 6 | Baptiste Jonglez | |
50 | 6 | Baptiste Jonglez | On parle ici de L2TPv2 (RFC 2661), qui encapsule obligatoirement du PPP et qui est obligatoirement transporté sur UDP. |
51 | 6 | Baptiste Jonglez | |
52 | 8 | Baptiste Jonglez | Avantages : |
53 | 8 | Baptiste Jonglez | |
54 | 8 | Baptiste Jonglez | * authentification (login / mot de passe) |
55 | 8 | Baptiste Jonglez | * performance : datapath en kernelspace |
56 | 8 | Baptiste Jonglez | * maintenabilité : un daemon userspace s'occupe automatiquement de créer des interfaces pppX quand les clients se connectent, et d'attribuer des IP aux clients |
57 | 8 | Baptiste Jonglez | * transport sur UDP, passe bien les firewalls |
58 | 8 | Baptiste Jonglez | |
59 | 8 | Baptiste Jonglez | Inconvénients : |
60 | 8 | Baptiste Jonglez | |
61 | 8 | Baptiste Jonglez | * pas de chiffrement |
62 | 8 | Baptiste Jonglez | * authentification faible (MSCHAP et compagnie) |
63 | 8 | Baptiste Jonglez | * difficile à mettre en place (interaction userspace/kernelspace, outils antiques comme pppd) |
64 | 8 | Baptiste Jonglez | * overhead (20 octets IP + 8 octets UDP + 8 octets L2TP + 4 octets PPP = 40 octets) |
65 | 8 | Baptiste Jonglez | |
66 | 6 | Baptiste Jonglez | Liens : |
67 | 6 | Baptiste Jonglez | |
68 | 6 | Baptiste Jonglez | * https://www.kernel.org/doc/Documentation/networking/l2tp.txt |
69 | 8 | Baptiste Jonglez | * https://www.xelerance.com/services/software/xl2tpd/ |
70 | 9 | Baptiste Jonglez | * http://www.frameip.com/l2tp-pppoe-ppp-ethernet/ : très bon article sur PPP, L2TP, etc |
71 | 6 | Baptiste Jonglez | |
72 | 6 | Baptiste Jonglez | h2. PPP/L2TPv2/IPsec |
73 | 1 | Laurent GUERBY | |
74 | 8 | Baptiste Jonglez | Même chose, mais en utilisant IPsec comme transport. Ce qui veut dire encore plus difficile à mettre en place, et des performances moindres. |
75 | 8 | Baptiste Jonglez | |
76 | 6 | Baptiste Jonglez | Liens : |
77 | 6 | Baptiste Jonglez | |
78 | 6 | Baptiste Jonglez | * RFC 3193 |
79 | 6 | Baptiste Jonglez | |
80 | 1 | Laurent GUERBY | h2. L2TPv3 |
81 | 1 | Laurent GUERBY | |
82 | 8 | Baptiste Jonglez | Il existe également L2TPv3 (RFC 3931) qui est censé permettre plus de choses : transport d'autres protocols que PPP (IP, Ethernet, etc), meilleure sécurité, possibilité de tunnels statiques, encapsulation directe dans IP, etc. |
83 | 6 | Baptiste Jonglez | |
84 | 8 | Baptiste Jonglez | Linux supporte L2TPv3 depuis quelques années (2.6.35), et OpenWRT supporte les tunnels statiques L2TPv3 dans uci. |
85 | 6 | Baptiste Jonglez | |
86 | 6 | Baptiste Jonglez | Liens : |
87 | 6 | Baptiste Jonglez | |
88 | 6 | Baptiste Jonglez | * https://www.kernel.org/doc/Documentation/networking/l2tp.txt |
89 | 6 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/uci/network#protocol.l2tp.l2tp.pseudowire.tunnel |
90 | 6 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/howto/pseudowire#l2tpv3.with.openwrt |
91 | 6 | Baptiste Jonglez | * http://en.wikipedia.org/wiki/L2TPv3 |
92 | 6 | Baptiste Jonglez | * http://www.openl2tp.org/pipermail/openl2tp-users/2010-April/000836.html |
93 | 5 | Baptiste Jonglez | |
94 | 5 | Baptiste Jonglez | h2. Tinc |
95 | 4 | Baptiste Jonglez | |
96 | 10 | Laurent GUERBY | * http://www.tinc-vpn.org/ |
97 | 1 | Laurent GUERBY | |
98 | 10 | Laurent GUERBY | Plus facile a configurer que OpenVPN, fait du mesh automatiquement quand c'est possible. |
99 | 10 | Laurent GUERBY | |
100 | 10 | Laurent GUERBY | h2. socat |
101 | 10 | Laurent GUERBY | |
102 | 1 | Laurent GUERBY | * http://www.dest-unreach.org/socat/doc/socat-tun.html |
103 | 10 | Laurent GUERBY | |
104 | 10 | Laurent GUERBY | h2. OpenSSH |
105 | 10 | Laurent GUERBY | |
106 | 10 | Laurent GUERBY | http://www.debian-administration.org/article/539/Setting_up_a_Layer_3_tunneling_VPN_with_using_OpenSSH |
107 | 10 | Laurent GUERBY | |
108 | 10 | Laurent GUERBY | h2. Autres |
109 | 10 | Laurent GUERBY | |
110 | 10 | Laurent GUERBY | TODO |