Comparatif VPN » Historique » Version 13
Samuel Thibault, 30/09/2015 11:17
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 | 11 | Laurent GUERBY | http://en.wikipedia.org/wiki/Generic_Routing_Encapsulation |
35 | 11 | Laurent GUERBY | |
36 | 5 | Baptiste Jonglez | Avantages : |
37 | 5 | Baptiste Jonglez | |
38 | 5 | Baptiste Jonglez | * extrêmement simple à mettre en place, disponible absolument partout |
39 | 5 | Baptiste Jonglez | * performance : implémentation kernelspace, encapsulation très simple |
40 | 5 | Baptiste Jonglez | |
41 | 5 | Baptiste Jonglez | Inconvénients : |
42 | 5 | Baptiste Jonglez | |
43 | 5 | Baptiste Jonglez | * pas d'authentification |
44 | 5 | Baptiste Jonglez | * pas de chiffrement |
45 | 5 | Baptiste Jonglez | * maintenabilité : configurer un nouveau tunnel pour chaque connexion VPN |
46 | 5 | Baptiste Jonglez | * ni TCP, ni UDP : certains firewalls n'aiment pas (e.g. Livebox) |
47 | 5 | Baptiste Jonglez | * pas de keepalive intégré : pose problème pour la connectivité bidirectionnelle à travers un NAT / firewall stateful |
48 | 5 | Baptiste Jonglez | * IPv6 pas super bien intégré (notamment, pas mal de bugs sur le link-local) |
49 | 11 | Laurent GUERBY | |
50 | 13 | Samuel Thibault | h2. IPIP/SIT |
51 | 11 | Laurent GUERBY | |
52 | 11 | Laurent GUERBY | http://en.wikipedia.org/wiki/IP_in_IP |
53 | 11 | Laurent GUERBY | http://www.inetdoc.net/guides/lartc/lartc.tunnel.ip-ip.html |
54 | 11 | Laurent GUERBY | http://beeznest.wordpress.com/2008/07/14/ip-in-ip-or-gre-tunnel-using-iproute/ |
55 | 1 | Laurent GUERBY | |
56 | 13 | Samuel Thibault | Même avantages/inconvénients que GRE |
57 | 13 | Samuel Thibault | |
58 | 13 | Samuel Thibault | |
59 | 13 | Samuel Thibault | h2. FoU (Foo over UDP) |
60 | 13 | Samuel Thibault | |
61 | 13 | Samuel Thibault | Principe indentique à GRE/IPIP/SIT, sauf que c'est encapsulé dans UDP, ce qui évite la plupart des problèmes de firewall. |
62 | 1 | Laurent GUERBY | |
63 | 6 | Baptiste Jonglez | h2. PPP/L2TPv2 |
64 | 6 | Baptiste Jonglez | |
65 | 6 | Baptiste Jonglez | On parle ici de L2TPv2 (RFC 2661), qui encapsule obligatoirement du PPP et qui est obligatoirement transporté sur UDP. |
66 | 6 | Baptiste Jonglez | |
67 | 8 | Baptiste Jonglez | Avantages : |
68 | 8 | Baptiste Jonglez | |
69 | 8 | Baptiste Jonglez | * authentification (login / mot de passe) |
70 | 8 | Baptiste Jonglez | * performance : datapath en kernelspace |
71 | 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 |
72 | 8 | Baptiste Jonglez | * transport sur UDP, passe bien les firewalls |
73 | 8 | Baptiste Jonglez | |
74 | 8 | Baptiste Jonglez | Inconvénients : |
75 | 8 | Baptiste Jonglez | |
76 | 8 | Baptiste Jonglez | * pas de chiffrement |
77 | 8 | Baptiste Jonglez | * authentification faible (MSCHAP et compagnie) |
78 | 8 | Baptiste Jonglez | * difficile à mettre en place (interaction userspace/kernelspace, outils antiques comme pppd) |
79 | 8 | Baptiste Jonglez | * overhead (20 octets IP + 8 octets UDP + 8 octets L2TP + 4 octets PPP = 40 octets) |
80 | 8 | Baptiste Jonglez | |
81 | 6 | Baptiste Jonglez | Liens : |
82 | 6 | Baptiste Jonglez | |
83 | 6 | Baptiste Jonglez | * https://www.kernel.org/doc/Documentation/networking/l2tp.txt |
84 | 8 | Baptiste Jonglez | * https://www.xelerance.com/services/software/xl2tpd/ |
85 | 9 | Baptiste Jonglez | * http://www.frameip.com/l2tp-pppoe-ppp-ethernet/ : très bon article sur PPP, L2TP, etc |
86 | 6 | Baptiste Jonglez | |
87 | 6 | Baptiste Jonglez | h2. PPP/L2TPv2/IPsec |
88 | 1 | Laurent GUERBY | |
89 | 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. |
90 | 8 | Baptiste Jonglez | |
91 | 6 | Baptiste Jonglez | Liens : |
92 | 6 | Baptiste Jonglez | |
93 | 6 | Baptiste Jonglez | * RFC 3193 |
94 | 6 | Baptiste Jonglez | |
95 | 1 | Laurent GUERBY | h2. L2TPv3 |
96 | 1 | Laurent GUERBY | |
97 | 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. |
98 | 6 | Baptiste Jonglez | |
99 | 8 | Baptiste Jonglez | Linux supporte L2TPv3 depuis quelques années (2.6.35), et OpenWRT supporte les tunnels statiques L2TPv3 dans uci. |
100 | 6 | Baptiste Jonglez | |
101 | 12 | Baptiste Jonglez | Tunnel broker pour L2TPv3 : https://dev.wlan-si.net/wiki/Tunneldigger |
102 | 12 | Baptiste Jonglez | |
103 | 6 | Baptiste Jonglez | Liens : |
104 | 6 | Baptiste Jonglez | |
105 | 6 | Baptiste Jonglez | * https://www.kernel.org/doc/Documentation/networking/l2tp.txt |
106 | 6 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/uci/network#protocol.l2tp.l2tp.pseudowire.tunnel |
107 | 6 | Baptiste Jonglez | * http://wiki.openwrt.org/doc/howto/pseudowire#l2tpv3.with.openwrt |
108 | 6 | Baptiste Jonglez | * http://en.wikipedia.org/wiki/L2TPv3 |
109 | 6 | Baptiste Jonglez | * http://www.openl2tp.org/pipermail/openl2tp-users/2010-April/000836.html |
110 | 5 | Baptiste Jonglez | |
111 | 5 | Baptiste Jonglez | h2. Tinc |
112 | 4 | Baptiste Jonglez | |
113 | 10 | Laurent GUERBY | * http://www.tinc-vpn.org/ |
114 | 1 | Laurent GUERBY | |
115 | 10 | Laurent GUERBY | Plus facile a configurer que OpenVPN, fait du mesh automatiquement quand c'est possible. |
116 | 10 | Laurent GUERBY | |
117 | 10 | Laurent GUERBY | h2. socat |
118 | 10 | Laurent GUERBY | |
119 | 1 | Laurent GUERBY | * http://www.dest-unreach.org/socat/doc/socat-tun.html |
120 | 10 | Laurent GUERBY | |
121 | 10 | Laurent GUERBY | h2. OpenSSH |
122 | 10 | Laurent GUERBY | |
123 | 10 | Laurent GUERBY | http://www.debian-administration.org/article/539/Setting_up_a_Layer_3_tunneling_VPN_with_using_OpenSSH |
124 | 10 | Laurent GUERBY | |
125 | 10 | Laurent GUERBY | h2. Autres |
126 | 10 | Laurent GUERBY | |
127 | 10 | Laurent GUERBY | TODO |