Frage Sollte ich Tap oder tun für openvpn verwenden?


Was sind die Unterschiede zwischen der Verwendung von Dev Tap und Dev Tun für Openvpn? Ich weiß, dass die verschiedenen Modi nicht miteinander interagieren können. Was sind die technischen Unterschiede, andere nur Layer 2 vs 3 Betrieb. Gibt es unterschiedliche Leistungsmerkmale oder unterschiedliche Overhead-Ebenen? Welcher Modus ist besser? Welche Funktionalität steht ausschließlich in jedem Modus zur Verfügung?


79
2018-06-06 15:12


Ursprung


Bitte erläutern Sie den Unterschied? Was ist Ethernet Bridging und warum ist es schlecht? - Thomaschaaf


Antworten:


Wenn es in Ordnung ist, VPN auf Layer 3 zu erstellen (ein weiterer Hop zwischen den Subnetzen), gehen Sie zu tun.

Wenn Sie zwei Ethernet-Segmente an zwei verschiedenen Standorten überbrücken müssen, tippen Sie auf tippen. In einem solchen Setup können Sie Computer im selben IP-Subnetz (z. B. 10.0.0.0/24) an beiden Enden von vpn haben, und sie können direkt miteinander kommunizieren, ohne ihre Routing-Tabellen zu ändern. vpn verhält sich wie ein Ethernet-Switch. Das hört sich vielleicht cool an und ist in einigen Fällen nützlich, aber ich würde empfehlen, es nicht zu tun, es sei denn, Sie brauchen es wirklich. Wenn Sie sich für ein solches Bridging-Setup für Layer 2 entscheiden, wird es ein bisschen "Müll" geben (das sind Broadcast-Pakete), die über Ihren VPN gehen.

Mit tap haben Sie etwas mehr Overhead - neben IP-Header auch 38B oder mehr von Ethernet-Headern werden über den Tunnel gesendet (abhängig von der Art Ihres Datenverkehrs - führt dies möglicherweise zu mehr Fragmentierung).


70
2018-06-06 15:34





Ich habe "tippen" gewählt, als ich ein VPN für einen Freund eingerichtet habe, der ein kleines Unternehmen besitzt, weil sein Büro ein Gewirr von Windows-Maschinen, kommerziellen Druckern und einem Samba-Dateiserver verwendet. Einige von ihnen verwenden reines TCP / IP, einige scheinen nur NetBIOS zu verwenden (und benötigen daher Ethernet-Broadcast-Pakete), um zu kommunizieren, und einige, von denen ich mir nicht einmal sicher bin.

Wenn ich "tun" gewählt hätte, hätte ich wahrscheinlich viele kaputte Dienste in Anspruch genommen - viele Dinge, die während der Arbeit im Büro funktionierten, aber dann kaputt gingen, wenn Sie nicht auf der Baustelle waren und Ihr Laptop nicht "sehen" konnte die Geräte im Ethernet-Subnetz nicht mehr.

Aber indem ich "tap" wähle, sage ich dem VPN, dass Remote-Maschinen genau das Gefühl haben, im LAN zu sein, mit Broadcast-Ethernet-Paketen und rohen Ethernet-Protokollen für die Kommunikation mit Druckern und Dateiservern und für die Anzeige der Netzwerkumgebung. Es funktioniert super und ich bekomme nie Berichte über Dinge, die nicht extern arbeiten!


22
2018-03-22 21:30





Ich richte Tun immer ein. Tap wird von Ethernet Bridging in OpenVPN verwendet und führt zu einer beispiellosen Komplexität, die sich einfach nicht lohnt. Wenn ein VPN installiert werden muss, wird es normalerweise benötigt jetztund komplexe Bereitstellungen kommen nicht schnell.

Das OpenVPN FAQ und das Ethernet-Bridging-HOWTO sind Ausgezeichnet Ressourcen zu diesem Thema.


14
2018-06-07 06:52



Nach meiner Erfahrung ist tun einfacher zu installieren, aber nicht so viele Netzwerkkonfigurationen, so dass Sie mehr seltsame Netzwerkprobleme haben. Im Gegensatz dazu ist das Tippen etwas komplizierter, aber wenn du es einmal getan hast, funktioniert es normalerweise "einfach" für alle. - Cerin


Wenn Sie mobile Geräte (iOS oder Android) mit OpenVPN verbinden möchten, sollten Sie TUN als derzeit TAP verwenden wird von OpenVPN nicht unterstützt auf sie:

TAP-Nachteile: ..... kann nicht mit Android- oder iOS-Geräten verwendet werden


7
2017-09-24 15:35



TAP wird auf Android über eine Drittanbieter-App unterstützt: OpenVPN Client (Entwickler: colucci-web.it) - Boo


Ich begann mit tun, aber wechselte zum tippen, da ich die Verwendung eines / 30-Subnetzes für nicht mochte jeder PC (Ich muss Windows unterstützen). Ich fand das verschwenderisch und verwirrend.

Dann entdeckte ich die Option "Topologie-Subnetz" auf dem Server. Arbeitet mit den 2.1 RCs (nicht 2.0), aber es gibt mir alle Vorteile von tun (ohne Bridging, Performance, Routing, etc) mit dem Komfort einer (sequenziellen) IP-Adresse pro (Windows) Maschine.


5
2018-06-07 08:20





Meine "Faustregeln"
TUN - wenn Sie nur Zugriff auf Ressourcen benötigen, die direkt am OpenVPN-Server angeschlossen sind und keine Windows-Probleme auftreten. Ein wenig Kreativität kann hier helfen, indem Ressourcen für den OpenVPN-Server "lokal" erscheinen. (Beispiele hierfür sind eine CUPS-Verbindung zu einem Netzwerkdrucker oder eine Samba-Freigabe auf einem anderen Computer, der auf dem OpenVPN-Server MOUNTed ist.)

TAP - wenn Sie Zugriff auf mehrere Ressourcen benötigen (Maschinen, Speicher, Drucker, Geräte), die am anderen Ende über das Netzwerk verbunden sind. TAP kann auch für bestimmte Windows-Anwendungen erforderlich sein.


Vorteile:
TUN beschränkt normalerweise den VPN-Zugriff auf eine einzelne Maschine (IP-Adresse) und daher (vermutlich) bessere Sicherheit durch begrenzte Konnektivität mit dem fernen Netzwerk. Die TUN-Verbindung erzeugt weniger Belastung für den VPN-Tunnel und umgekehrt für das ferne Netzwerk, da nur der Datenverkehr von / zu der einzelnen IP-Adresse das VPN zur anderen Seite durchquert. IP-Routen zu anderen Stationen im Subnetz sind nicht enthalten, so dass kein Datenverkehr über den VPN-Tunnel gesendet wird und nur eine geringe oder keine Kommunikation über den OpenVPN-Server hinaus möglich ist.

TAP - ermöglicht normalerweise den freien Fluss von Paketen zwischen den Endpunkten. Dies bietet die Flexibilität der Kommunikation mit anderen Stationen im fernen Netzwerk, einschließlich einiger Methoden, die von älterer Microsoft-Software verwendet werden. TAP hat die Sicherheitsrisiken, die mit dem Gewähren von Zugriff von außen "hinter der Firewall" verbunden sind. Dadurch können mehr Verkehrspakete durch den VPN-Tunnel fließen. Dies eröffnet auch die Möglichkeit von Adresskonflikten zwischen den Endpunkten.

Dort sind Unterschiede in der Latenz aufgrund der Stapelschicht, aber in den meisten Endbenutzerszenarien ist die Verbindungsgeschwindigkeit der Endpunkte wahrscheinlich ein signifikanterer Beitrag zur Latenz als die bestimmte Stapelschicht der Übertragung. Wenn es um Latenz geht, ist es vielleicht eine gute Idee, andere Alternativen in Betracht zu ziehen. Aktuelle Multiprozessoren auf GHz-Ebene übertreffen normalerweise den Engpass der Übertragung über das Internet.

"Besser" und "Schlechter" sind ohne Kontext nicht definierbar.
(Dies ist die Lieblingsantwort des Beraters, "Nun, das kommt darauf an ...")
Ist ein Ferrari "besser" als ein Muldenkipper? Wenn Sie versuchen, schnell zu gehen, kann es sein; Aber wenn Sie versuchen, schwere Lasten zu ziehen, wahrscheinlich nicht.

Constraints wie "Notwendigkeit des Zugriffs" und "Sicherheitsanforderungen" müssen definiert werden, sowie Einschränkungen wie Netzwerkdurchsatz und Geräteeinschränkungen definiert werden, bevor man entscheiden kann, ob TUN oder TAP für Ihre Bedürfnisse besser geeignet ist.


4
2018-02-22 21:15





Ich hatte dieselbe Frage vor Jahren und versuchte, sie in einfachen Worten (die ich persönlich in anderen Quellen mangelte) auf meinem Blog zu erklären: Eine OpenVPN-Grundierung

Hoffe es hilft jemandem


3
2018-04-08 18:13



Während dies theoretisch die Frage beantworten könnte, es wäre vorzuziehen um die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz bereitzustellen. - Mark Henderson♦
Guter Eintrag! Ich lese selten einen ganzen Beitrag wie diesen, aber diesen habe ich gemacht. Ich stimme Mark Henderson zu, aber Sie sollten eine kleine Zusammenfassung schreiben und den Link danach einfügen. - Pierre-Luc Bertrand
Der Posten war ausgezeichnet. Vielen Dank! - Compeek


Das Einrichten von TAP erfordert fast keine zusätzliche Arbeit von der Person, die es eingerichtet hat.

Natürlich, wenn Sie wissen, wie man TUN einrichtet, aber nicht versteht, was Sie tun, und einfach einem Tun-Tutorial folgen, werden Sie zwar versuchen, TAP einzurichten, aber nicht, weil es schwieriger ist, aber weil Sie nicht wissen, was Sie sind tun. Das kann leicht zu Netzwerkkonflikten in einer TAP-Umgebung führen und dann sieht es so aus, als wäre es komplizierter.

Tatsache ist, wenn Sie kein Tutorial benötigen, weil Sie wissen, was Sie tun, dauert die Einrichtung von tap genauso viel Zeit wie das Einrichten von tun.

mit tap gibt es viele lösungen über subnetting, ich fand mich der einfachste weg ist ein klasse b-teilnetz zu verwenden. site1 (Network1) unter Verwendung von 172.22.1.0/16 site2 (network2) unter Verwendung von 172.22.2.0/16 site3 mit 172.22.3.0/16 usw.

Sie richten site1 mit dem oVPN-Server ein und geben den Clients den IP-Bereich 172.22.254.2 - 172.22.254.255/16 so können Sie über 200 ovpn Clients (Subnetze) haben Jedes Subnetz kann mehr als 200 Clients haben. Macht insgesamt 40.000 Clients, die Sie bearbeiten können (Zweifel, dass oVPN damit umgehen kann, aber wie Sie sehen, gibt Ihnen das Einrichten eines richtigen Subnetzes mehr als genug, was Sie wahrscheinlich benötigen)

Sie verwenden einen Tipp und alle Clients sind zusammen wie in einem großen Unternehmensnetzwerk.

Wenn jedoch jede Site ihr eigenes DHCP hat, und es sollte, müssen Sie sicherstellen, dass Sie mit ebtables oder iptables oder dnsmasq die DHCP-Distribution blockieren, um wild zu werden. Ebtables werden jedoch die Leistung verlangsamen. mit dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, ignorieren zum Beispiel wird eine große Aufgabe auf allen DHCP-Servern einrichten. Auf modernen Hardware ist der Einfluss von Ebtables jedoch nicht so groß. nur 1 oder 2%

der Overhead des Tap, etwa 32 zum tun, ist auch nicht so ein Problem (möglicherweise in unverschlüsselten Netzwerken), aber in verschlüsselten Netzwerken ist es normalerweise der AES, der die Verlangsamung verursacht.

Auf meinem wrt3200acm zum Beispiel unverschlüsselt bekomme ich 360Mbps. Die Verwendung von Verschlüsselung ist abhängig von der gewählten Verschlüsselung auf 54-100Mbps reduziert. aber openvpn macht keine Verschlüsselung auf 1500 und eine zweite Verschlüsselung auf dem 32 Overhead. Stattdessen führt es eine 1-malige Verschlüsselung bei 1500 + 32 Overhead durch.

Der Einfluss ist also minimal.

Auf älterer Hardware magst du den Einfluss mehr bemerken, aber auf moderner Hardware ist es wirklich auf ein Minimum reduziert.

Die Verschlüsselung zwischen zwei virtuellen Maschinen mit AES-Unterstützung bringt mir meinen OVPN mit TAP auf 120-150Mbps.

Einige berichten dedizierte Router mit AES-Hardware-Verschlüsselung Unterstützung so hoch wie 400 Mbps! 3 mal schneller als ein i5-3570k (was auf meinem Testsystem nicht höher als 150Mbps bei 100% der 1-Kern-Auslastung sein konnte) Mein anderes Ende: E3-1231 v3, war dann ungefähr bei 7% CPU-Auslastung, rund 25% des Kerns, den openvpn benutzte, wurde genutzt. So könnte die E3 die Verbindung wahrscheinlich um 3 bis 4 Mal erhöhen.

also hättest du etwas zwischen 360Mbps und 600Mbps mit einer Verbindung zwischen E3-1231 v3 cpu tun tap AES265 cipher, auth SHA256 und ta.key, Zertifikate tls-cipher Ich habe auch das höchste TLS-DHE-RSA-WITH-AES- 256-SHA256

Um das zu verdeutlichen, tippen Sie auf: wrt3200acm bekommt bis zu 70-80mbps mit Verschlüsselung. i5-3570k wird mit Verschlüsselung 120-150 erreicht. E3-1231 v3 erhält mindestens 360Mbps mit Verschlüsselung (dies ist interpoliert von meinen Ergebnissen in Fall 1 und 2, da ich nicht 2 E3-1231 v3 zum Testen hatte.)

Dies sind meine Ergebnisse basierend auf Windows zu Windows kopieren zwischen 2 Clients in 2 verschiedenen Subnetzen, die durch openvpn TAP verbunden sind


2
2017-11-28 08:37





Weil ich einfache Ratschläge finde, die schwer zu bekommen sind:

Sie können TUN verwenden, wenn Sie nur das VPN verwenden, um eine Verbindung zum Internet.

Sie müssen TAP verwenden, wenn Sie sich mit dem verbinden möchten tatsächliches entferntes Netzwerk (Drucker, Remote-Desktops usw.)


2
2018-04-06 23:07





Wenn dann, warum was, wie viel hast du? Ich würde TAP verwenden, und zwar aus dem Grund, dass das Schichten der Pakete mit viel weniger Latenz und Übertragungsverlust abläuft, was mit dieser Methode verringert wird. Dies wirkt sich jedoch nur auf Layer 3 auf die offensichtliche Auswirkung auf den Betrieb des VPN aus, insbesondere auf den Tunnelaspekt und die erlaubten IPs und zuweisbaren Adressen. Die Verwendung von UDP führt möglicherweise eine andere Situation ein, in der Sie entscheiden müssen, welche die beste Route für Sie ist. Jedes Netzwerk ist anders und erfordert einen einzigartigen Satz von Parametern. Hoffe das hilft.


-1
2018-06-25 19:03



Ziemlich verwirrend. Bitte überlegen Sie, es aufzuräumen, erklären Sie die Unterschiede, die wichtig sind, und geben Sie sie ein. - vonbrand