Comparatif VPN » Historique » Version 6
Version 5 (Baptiste Jonglez, 31/05/2014 04:31) → Version 6/15 (Baptiste Jonglez, 31/05/2014 04:41)
h1. VPN
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]].
Pour des benchmarks détaillés sur des petits routeurs OpenWRT, voir [[Benchmark VPN]].
Overview OpenWRT : http://wiki.openwrt.org/doc/howto/vpn.overview
h2. OpenVPN
Avantages :
* simple à mettre en place, éprouvé, documenté
* standard de fait, existe pour tous les OS décents
* chiffrement (optionnel)
* authentification forte (certificat SSL, secret partagé, ...)
* transport UDP ou TCP (passe bien le NAT, voire les firewalls restrictifs)
* fragmentation intégrée (mais peut aussi poser problème niveau performances)
Inconvénients :
* faible performance sur des petits routeurs (même sans chiffrement) → raison : tunnel userspace
* 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)
Liens :
* [[OpenVPN]]
* [[Partage_ADSL_OpenVPN]]
h2. GRE
Avantages :
* extrêmement simple à mettre en place, disponible absolument partout
* performance : implémentation kernelspace, encapsulation très simple
Inconvénients :
* pas d'authentification
* pas de chiffrement
* maintenabilité : configurer un nouveau tunnel pour chaque connexion VPN
* ni TCP, ni UDP : certains firewalls n'aiment pas (e.g. Livebox)
* pas de keepalive intégré : pose problème pour la connectivité bidirectionnelle à travers un NAT / firewall stateful
* IPv6 pas super bien intégré (notamment, pas mal de bugs sur le link-local)
h2. PPP/L2TPv2
On parle ici de L2TPv2 (RFC 2661), qui encapsule obligatoirement du PPP et qui est obligatoirement transporté sur UDP.
Liens :
* https://www.kernel.org/doc/Documentation/networking/l2tp.txt
h2. PPP/L2TPv2/IPsec
Liens :
* RFC 3193
h2. L2TPv3
Il existe également L2TPv3 (RFC 3931) qui est censé permettre plus de choses : transport d'autres protocols que PPP (IP, Ethernet, etc), sécurité, tunnels statiques, encapsulation directe dans IP, etc.
Linux supporte L2TPv3 depuis quelques années (2.6.35), et
Liens :
* https://www.kernel.org/doc/Documentation/networking/l2tp.txt
* http://wiki.openwrt.org/doc/uci/network#protocol.l2tp.l2tp.pseudowire.tunnel
* http://wiki.openwrt.org/doc/howto/pseudowire#l2tpv3.with.openwrt
* http://en.wikipedia.org/wiki/L2TPv3
* http://www.openl2tp.org/pipermail/openl2tp-users/2010-April/000836.html L2TP
h2. Tinc
h2. Autres
* http://www.dest-unreach.org/socat/doc/socat-tun.html
* http://www.tinc-vpn.org/
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]].
Pour des benchmarks détaillés sur des petits routeurs OpenWRT, voir [[Benchmark VPN]].
Overview OpenWRT : http://wiki.openwrt.org/doc/howto/vpn.overview
h2. OpenVPN
Avantages :
* simple à mettre en place, éprouvé, documenté
* standard de fait, existe pour tous les OS décents
* chiffrement (optionnel)
* authentification forte (certificat SSL, secret partagé, ...)
* transport UDP ou TCP (passe bien le NAT, voire les firewalls restrictifs)
* fragmentation intégrée (mais peut aussi poser problème niveau performances)
Inconvénients :
* faible performance sur des petits routeurs (même sans chiffrement) → raison : tunnel userspace
* 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)
Liens :
* [[OpenVPN]]
* [[Partage_ADSL_OpenVPN]]
h2. GRE
Avantages :
* extrêmement simple à mettre en place, disponible absolument partout
* performance : implémentation kernelspace, encapsulation très simple
Inconvénients :
* pas d'authentification
* pas de chiffrement
* maintenabilité : configurer un nouveau tunnel pour chaque connexion VPN
* ni TCP, ni UDP : certains firewalls n'aiment pas (e.g. Livebox)
* pas de keepalive intégré : pose problème pour la connectivité bidirectionnelle à travers un NAT / firewall stateful
* IPv6 pas super bien intégré (notamment, pas mal de bugs sur le link-local)
h2. PPP/L2TPv2
On parle ici de L2TPv2 (RFC 2661), qui encapsule obligatoirement du PPP et qui est obligatoirement transporté sur UDP.
Liens :
* https://www.kernel.org/doc/Documentation/networking/l2tp.txt
h2. PPP/L2TPv2/IPsec
Liens :
* RFC 3193
h2. L2TPv3
Il existe également L2TPv3 (RFC 3931) qui est censé permettre plus de choses : transport d'autres protocols que PPP (IP, Ethernet, etc), sécurité, tunnels statiques, encapsulation directe dans IP, etc.
Linux supporte L2TPv3 depuis quelques années (2.6.35), et
Liens :
* https://www.kernel.org/doc/Documentation/networking/l2tp.txt
* http://wiki.openwrt.org/doc/uci/network#protocol.l2tp.l2tp.pseudowire.tunnel
* http://wiki.openwrt.org/doc/howto/pseudowire#l2tpv3.with.openwrt
* http://en.wikipedia.org/wiki/L2TPv3
* http://www.openl2tp.org/pipermail/openl2tp-users/2010-April/000836.html L2TP
h2. Tinc
h2. Autres
* http://www.dest-unreach.org/socat/doc/socat-tun.html
* http://www.tinc-vpn.org/