Devrais-je utiliser tap ou tun pour openvpn?


85

Quelles sont les différences entre dev tap et dev tun pour openvpn? Je sais que les différents modes ne peuvent pas inter-opérer. Quelles sont les différences techniques, si ce n’est que l’opération couche 2 vs 3? Existe-t-il différentes caractéristiques de performance ou différents niveaux de frais généraux? Quel mode est le meilleur. Quelle fonctionnalité est exclusivement disponible dans chaque mode.


S'il vous plaît expliquer la différence? Qu'est-ce qu'un pont Ethernet et pourquoi est-ce mauvais?
Thomaschaaf

Réponses:


74

si vous pouvez créer un vpn sur la couche 3 (encore un saut entre sous-réseaux), optez pour tun.

Si vous avez besoin de relier deux segments Ethernet à deux endroits différents, utilisez Tap. dans une telle configuration, vous pouvez avoir des ordinateurs dans le même sous-réseau ip (par exemple 10.0.0.0/24) aux deux extrémités du vpn, et ils pourront «se parler» directement sans modification de leurs tables de routage. VPN agira comme un commutateur Ethernet. cela peut sembler cool et est utile dans certains cas, mais je vous conseillerais de ne pas y aller à moins d'en avoir vraiment besoin. Si vous choisissez une telle configuration de pontage de couche 2, il y aura un peu de «déchets» (c'est-à-dire des paquets de diffusion) traversant votre vpn.

En utilisant tap, vous aurez un peu plus de temps système. Outre les en-têtes ip, 38 ou plusieurs en -têtes Ethernet seront envoyés via le tunnel (en fonction du type de votre trafic, il introduira éventuellement plus de fragmentation).


24

J'ai choisi "Tap" lors de la configuration d'un VPN pour un ami propriétaire d'une petite entreprise car son bureau utilise un enchevêtrement de machines Windows, d'imprimantes commerciales et d'un serveur de fichiers Samba. Certains utilisent purement TCP / IP, d'autres ne semblent utiliser que NetBIOS (et ont donc besoin de paquets de diffusion Ethernet) pour communiquer, d'autres encore, dont je ne suis même pas sûr.

Si j'avais choisi "tun", j'aurais probablement dû faire face à de nombreux services défectueux - beaucoup de choses qui ont fonctionné pendant que vous êtes au bureau physiquement, mais qui se briseraient si vous alliez hors site et que votre ordinateur portable ne pouvait pas "voir" les périphériques sur le sous-réseau Ethernet plus.

Mais en choisissant "tap", je dis au VPN de donner aux machines distantes la sensation d'être sur le réseau local, avec des paquets Ethernet diffusés et des protocoles Ethernet bruts disponibles pour communiquer avec les imprimantes et les serveurs de fichiers et pour alimenter leur affichage Voisinage réseau. Cela fonctionne très bien et je ne reçois jamais de rapports sur des choses qui ne fonctionnent pas hors site!


15

J'ai toujours mis en place tun. Tap est utilisé par les ponts Ethernet dans OpenVPN et introduit un niveau de complexité sans précédent qui ne vaut tout simplement pas la peine d'être dérangé. Habituellement, lorsqu'un VPN doit être installé, il le faut maintenant et les déploiements complexes ne se font pas rapidement.

La FAQ OpenVPN et le Ethernet Bridging HOWTO sont d’ excellentes ressources sur ce sujet.


9
D'après mon expérience, tun est plus facile à configurer mais ne prend pas en charge autant de configurations réseau. Vous rencontrez donc des problèmes de réseau beaucoup plus étranges. En revanche, tap est un peu plus compliqué à installer, mais une fois que vous le faites, cela "fonctionne" pour tout le monde.
Cerin

8

Si vous envisagez de connecter des périphériques mobiles (iOS ou Android) à l'aide d'OpenVPN, vous devez utiliser TUN, car TAP n'est actuellement pas pris en charge par OpenVPN :

Inconvénients TAP: ..... ne peut pas être utilisé avec les appareils Android ou iOS


TAP est pris en charge sur Android via une application tierce: Client OpenVPN (développeur: colucci-web.it)
Boo

5

J'ai commencé par utiliser tun, mais je suis passé au tap parce que je n'aimais pas utiliser un sous-réseau / 30 pour chaque PC (je dois prendre en charge Windows). J'ai trouvé cela inutile et déroutant.

Ensuite, j'ai découvert l'option "sous-réseau de topologie" sur le serveur. Fonctionne avec les RC 2.1 (pas 2.0), mais cela me donne tous les avantages de tun (pas de pontage, de performances, de routage, etc.) avec l'avantage d'une adresse IP (séquentielle) par machine (Windows).


5

Parce que j'ai du mal à trouver des conseils simples:

Vous pouvez utiliser TUN si vous utilisez uniquement le VPN pour vous connecter à Internet .

Vous devez utiliser TAP si vous souhaitez vous connecter au réseau distant réel (imprimantes, bureaux distants, etc.).


4

J'avais la même question il y a des années et j'ai tenté de l'expliquer simplement (je trouvais personnellement qu'il manquait d'autres ressources) sur mon blog: Un guide OpenVPN

J'espère que ça aide quelqu'un


2
Bien que cela puisse théoriquement répondre à la question, il serait préférable d’inclure ici les parties essentielles de la réponse et de fournir le lien à titre de référence.
Mark Henderson

Très bonne publication! Je lis rarement un article complet comme celui-ci, mais celui-ci l'a été. Je suis d’accord avec Mark Henderson, vous devriez écrire un petit résumé et mettre le lien après.
Pierre-Luc Bertrand

4

Mon «règles empiriques»
- si vous n’avez besoin que d’UN accès aux ressources connectées directement au serveur OpenVPN à l’autre extrémité et qu’il n’ya pas de problème Windows. Un peu de créativité ici peut aider, en faisant en sorte que les ressources "apparaissent" comme étant locales au serveur OpenVPN. (exemples pourraient être une connexion CUPS à une imprimante réseau ou un partage Samba sur une autre machine Fixé sur le serveur OpenVPN.)

TAP - si vous avez besoin d' accéder à de multiples ressources (machines, stockage, imprimantes, périphériques) connectés via le réseau au autre fin. TAP peut également être requis pour certaines applications Windows.


Avantages:
TUN limite normalement l’accès VPN à une seule machine (adresse IP) et donc (probablement) à une meilleure sécurité grâce à une connectivité limitée au réseau distant. La connexion TUN créera moins de charge sur le tunnel VPN et, à son tour, sur le réseau du côté distant, car seul le trafic en provenance / à destination de la même adresse IP traverse le VPN de l'autre côté. Les routes IP vers d'autres stations du sous-réseau ne sont pas incluses. Par conséquent, le trafic n'est pas envoyé via le tunnel VPN et une communication faible ou inexistante est possible au-delà du serveur OpenVPN.

TAP - permet généralement aux paquets de circuler librement entre les points d'extrémité. Cela donne la flexibilité de la communication avec d'autres stations sur le réseau distant, y compris certaines méthodes utilisées par les logiciels Microsoft plus anciens. TAP présente les risques de sécurité inhérents à l’octroi d’un accès extérieur "derrière le pare-feu". Cela permettra à davantage de paquets de trafic de circuler dans le tunnel VPN. Cela ouvre également la possibilité de conflits d'adresses entre les points d'extrémité.

Il y adifférences de latence en raison de la couche de pile, mais dans la plupart des scénarios d’utilisateur final, la vitesse de connexion des points finaux contribue probablement beaucoup plus à la latence que la couche de pile particulière de la transmission. Si la latence est en cause, il pourrait être judicieux d’envisager d’autres solutions. Les multiprocesseurs au niveau GHz actuels dépassent généralement le goulot d’étranglement de la transmission via Internet.

"Mieux" et "Pire" ne peuvent être définis sans contexte.
(C'est la réponse préférée du consultant: "Cela dépend ...")
Une Ferrari est-elle "meilleure" qu'un camion-benne? Si vous essayez d'aller vite, c'est peut-être; mais si vous essayez de transporter de lourdes charges, probablement pas.

Des contraintes telles que "besoin d'accès" et "exigences de sécurité" doivent être définies, ainsi que des contraintes telles que le débit du réseau et les limitations d'équipement, avant de pouvoir décider si TUN ou TAP est le mieux adapté à vos besoins.


2

L'installation de TAP ne nécessite presque aucun travail supplémentaire de la part de la personne qui l'installe.

Bien sûr, si vous savez comment configurer TUN mais ne comprenez pas ce que vous faites et si vous suivez simplement un tutoriel, vous vous battrez pour configurer TAP, mais pas parce que c'est plus difficile, mais parce que vous ne savez pas ce que vous êtes. Faire. Ce qui peut facilement conduire à des conflits de réseau dans un environnement TAP, ce qui semble alors plus compliqué.

En fait, si vous n'avez pas besoin d'un tutoriel parce que vous savez ce que vous faites, la configuration de tap prend autant de temps que la configuration de tun.

avec robinet il y a beaucoup de solutions sur les sous-réseaux, je me suis trouvé le moyen le plus simple est d'utiliser un sous-réseau de classe B. site1 (Réseau1) utilisant 172.22.1.0/16 site2 (réseau2) utilisant 172.22.2.0/16 site3 utilisant 172.22.3.0/16, etc.

vous configurez site1 avec le serveur oVPN et donnez aux clients la plage d'adresses ip 172.22.254.2 - 172.22.254.255/16 de sorte que vous puissiez avoir plus de 200 clients ovpn (sous-réseaux), chaque sous-réseau pouvant contenir plus de 200 clients. Donne un total de 40 000 clients que vous pouvez gérer (doutons qu'OVPN puisse gérer cela, mais comme vous le voyez, la configuration d'un sous-réseau approprié vous en donnera plus que suffisamment pour répondre à vos besoins)

vous utilisez un robinet et tous les clients sont réunis comme dans un vaste réseau d'entreprise.

SI, cependant, chaque site a son propre DHCP, comme il se doit, vous devez vous assurer que vous utilisez ebtables, iptables ou dnsmasq pour bloquer la distribution DHCP au hasard. ebtables va toutefois ralentir la performance. en utilisant dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, ignorer par exemple sera une tâche énorme à configurer sur tous les serveurs DHCP. Cependant, sur le matériel moderne, l’impact d’ebbtables n’est pas si important. seulement 1 ou 2%

la surcharge du tap, environ 32 par tun, ne pose pas non plus de problème (peut-être sur des réseaux non cryptés), mais sur les réseaux cryptés, c'est généralement l'AES qui provoque le ralentissement.

Sur mon wrt3200acm par exemple non crypté, je reçois 360 Mbps. En utilisant le cryptage, il descend à 54-100Mbps en fonction du type de cryptage que je choisis) mais openvpn ne fait pas de cryptage sur 1500 et un deuxième cryptage sur la surcharge 32. Au lieu de cela, il effectue un chiffrement 1 fois sur 1500 + 32 overhead.

Donc, l'impact ici est minime.

Vous constaterez peut-être davantage l’impact sur les matériels plus anciens, mais sur les matériels modernes, c’est au minimum.

Le chiffrement entre 2 machines virtuelles prenant en charge AES me permet d’obtenir mon ovpn avec TAP à 120-150 Mbit / s.

Certains rapportent que les routeurs dédiés avec le cryptage matériel AES atteignent 400 Mbps! 3 fois plus rapide qu'un i5-3570k peut faire (ce qui sur mon système de test ne pouvait pas dépasser 150Mbps à 100% d'une utilisation de base) 25% du noyau openvpn utilisé a été utilisé. Donc, le E3 pourrait très probablement augmenter la connexion de 3 à 4 fois.

de sorte que vous auriez quelque chose entre 360 ​​Mbps et 600 Mbps avec une connexion entre le processeur E3-1231 v3 faisant tapotement chiffrement AES265, authentification SHA256 et ta.key, certificats tls-cipher 256-SHA256

Pour signaler ceci, avec tap: wrt3200acm obtient jusqu'à 70-80mbps avec le cryptage. i5-3570k obtient à 120-150 avec le cryptage. E3-1231 v3 obtient au moins 360 Mbit / s avec le chiffrement (ceci est interpolé de mes conclusions avec les cas 1 et 2 car je n'avais pas 2 E3-1231 v3 pour tester.)

Ce sont mes conclusions basées sur la copie de Windows à Windows entre 2 clients de 2 sous-réseaux différents connectés par openvpn TAP


-1

Si alors, pourquoi, combien avez-vous? J'utiliserais TAP, explicitement parce que la mise en couches des paquets se fait avec beaucoup moins de temps de latence et de perte de transmission, ce qui est atténué par cette méthode. Cependant, seule la couche 3 affecte les effets apparents sur le fonctionnement du VPN, notamment l'aspect tunnel et les adresses IP autorisées et les adresses attribuables. L'utilisation du protocole UDP introduit éventuellement une autre situation dans laquelle vous devrez choisir le meilleur itinéraire à prendre pour vous. Chaque réseau est différent et nécessite un ensemble unique de paramètres. J'espère que cela t'aides.


1
Assez déroutant. Pensez à le clarifier, à expliquer les différences qui comptent et à les définir.
vonbrand
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.