sviluppo-web-qa.it

Dovrei usare tap o tun per openvpn?

Quali sono le differenze tra l'utilizzo di dev tap e dev tun per openvpn? So che le diverse modalità non possono interagire. Quali sono le differenze tecniche, oltre all'operazione di livello 2 vs 3. Esistono diverse caratteristiche prestazionali o diversi livelli di sovraccarico. Quale modalità è migliore. Quale funzionalità è disponibile esclusivamente in ciascuna modalità.

87
Thomaschaaf

se va bene creare vpn sul layer 3 (un altro salto tra le sottoreti) - vai a tun.

se devi collegare due segmenti Ethernet in due posizioni diverse, quindi tocca. in tale configurazione è possibile avere computer nella stessa sottorete IP (ad es. 10.0.0.0/24) su entrambe le estremità di vpn e saranno in grado di "dialogare" direttamente senza alcuna modifica nelle loro tabelle di routing. vpn funzionerà come switch ethernet. questo potrebbe sembrare interessante ed è utile in alcuni casi, ma consiglierei di non provarlo a meno che non ne abbia davvero bisogno. se scegli tale configurazione di bridge di livello 2, ci sarà un po 'di "spazzatura" (ovvero pacchetti di trasmissione) che attraversano la tua VPN.

usando il tocco avrai un po 'più di sovraccarico - oltre alle intestazioni ip anche 8B o più delle intestazioni Ethernet verranno inviate tramite il tunnel (a seconda del tipo di traffico - probabilmente introdurrà più frammentazione).

76
pQd

Ho scelto "tap" durante l'impostazione di una VPN per un amico che possedeva una piccola impresa perché il suo ufficio utilizza un groviglio di macchine Windows, stampanti commerciali e un file server Samba. Alcuni usano puro TCP/IP, altri sembrano usare solo NetBIOS (e quindi necessitano di pacchetti di trasmissione Ethernet) per comunicare, e altri non ne sono nemmeno sicuro.

Se avessi scelto "tun", probabilmente avrei dovuto affrontare molti servizi rotti - molte cose che funzionavano mentre eri fisicamente in ufficio, ma poi si rompevano quando eri fuori sede e il tuo laptop non poteva "vedere" i dispositivi sulla sottorete Ethernet più.

Ma scegliendo "tap", dico alla VPN di far sentire le macchine remote esattamente come se fossero sulla LAN, con pacchetti Ethernet di trasmissione e protocolli Ethernet grezzi disponibili per comunicare con stampanti e file server e per alimentare il loro display di vicinato di rete. Funziona benissimo e non ricevo mai segnalazioni di cose che non funzionano fuori sede!

24
Brandon Rhodes

Ho sempre impostato tun. Il tocco viene utilizzato dal bridge Ethernet in OpenVPN e introduce un livello di complessità senza precedenti che non vale la pena preoccuparsi. Di solito, quando è necessario installare una VPN, è necessario ora e le distribuzioni complesse non arrivano velocemente.

OpenVPN FAQ e Ethernet Bridging HOWTO sono risorse eccellenti su questo argomento.

16
jtimberman

Se prevedi di connettere dispositivi mobili (iOS o Android) usando OpenVPN, allora dovresti usare TUN come attualmente TAP non è supportato da OpenVPN su di essi:

Svantaggi di TAP: ..... non può essere utilizzato con Android o iOS

8

Ho iniziato a utilizzare tun, ma sono passato a toccare poiché non mi piaceva l'uso di una sottorete/30 per ciascuno PC (ho bisogno di supportare Windows). Ho scoperto che è dispendioso e confuso.

Poi ho scoperto l'opzione "sottorete topologia" sul server. Funziona con i 2.1 RC (non 2.0), ma mi offre tutti i vantaggi di tun (nessun ponte, prestazioni, routing, ecc.) Con la comodità di un indirizzo IP (sequenziale) per macchina (windows).

5
Mikeage

Perché trovo difficile trovare semplici consigli:

È possibile utilizzare TUN se si utilizza semplicemente la VPN per connettersi a internet.

È necessario utilizzare TAP se si desidera connettersi a rete remota effettiva (stampanti, desktop remoti, ecc.)

5
user541686

Le mie "regole empiriche"
TUN - se hai SOLO accesso alle risorse connesse direttamente alla macchina server OpenVPN all'altra estremità e non ci sono problemi di Windows. Un po 'di creatività qui può essere d'aiuto, facendo apparire le risorse locali sul server OpenVPN. (esempi potrebbero essere una connessione CUPS a una stampante di rete o una condivisione Samba su un altro computer MONTATO sul server OpenVPN.)

TAP: se è necessario accedere a più risorse (macchine, memoria, stampanti, dispositivi) connesse tramite la rete all'altro capo. TAP può anche essere richiesto per alcune applicazioni Windows.







siamo





5
oldbaritone

Ho avuto questa stessa domanda anni fa e ho cercato di spiegarla in termini semplici (che ho trovato personalmente carente di altre risorse) sul mio blog: An OpenVPN Primer

Spero che aiuti qualcuno

4
Steve

L'impostazione di TAP non richiede quasi alcun lavoro aggiuntivo da parte della persona che lo configura.

Naturalmente se sai come impostare TUN ma non capisci cosa stai facendo e semplicemente seguendo un tutorial di tun, dovrai combattere per impostare TAP ma non perché è più difficile ma perché non sai cosa stai facendo. Il che può facilmente portare a conflitti di rete in un ambiente TAP e quindi sembra più complicato.

il fatto è che se non hai bisogno di un tutorial perché sai cosa stai facendo, la configurazione del tap richiede tanto tempo quanto la configurazione di tun.

con tap ci sono molte soluzioni sulla sottorete, mi sono trovato il modo più semplice di usare una sottorete di classe B. site1 (Network1) utilizzando 172.22.1.0/16 site2 (network2) utilizzando 172.22.2.0/16 site3 utilizzando 172.22.3.0/16 ecc.

si configura site1 con il server oVPN e si fornisce ai client l'intervallo ip 172.22.254.2 - 172.22.254.255/16 in modo da poter avere oltre 200 client ovpn (sottoreti) ogni sottorete può avere più di 200 client in sé. Compone un totale di 40.000 clienti che puoi gestire (dubbio che oVPN può gestirlo, ma come vedi, impostare una subnet corretta ti darà più di quanto tu abbia bisogno)

usi un tocco e tutti i clienti stanno insieme come in un'enorme rete aziendale.

SE, tuttavia, ogni sito ha il proprio DHCP e dovrebbe esserlo, è necessario assicurarsi di utilizzare ebtables o iptables o dnsmasq per bloccare la distribuzione di dhcp in modo selvaggio. ebtables tuttavia rallenterà le prestazioni. usando dnsmasq dhcp-Host = 20: a9: 9b: 22: 33: 44, ignorare per esempio sarà un compito enorme da configurare su tutti i server dhcp. tuttavia, sull'hardware moderno l'impatto di ebtables non è così grande. solo 1 o 2%

il sovraccarico del rubinetto, circa 32 al tun, non è nemmeno un problema (potrebbe essere su reti non crittografate) ma su reti crittografate è di solito l'AES che causerà il rallentamento.

Sul mio wrt3200acm per esempio non crittografato ottengo 360 Mbps. L'uso della crittografia scende a 54-100 Mbps a seconda del tipo di crittografia che scelgo), ma openvpn non esegue la crittografia su 1500 e una seconda crittografia su 32 overhead. Invece esegue una crittografia 1 volta su 1500 + 32 overhead.

Quindi l'impatto qui è minimo.

Sull'hardware più vecchio potresti notare l'impatto maggiore, ma sull'hardware moderno è davvero al minimo.

La crittografia tra 2 macchine virtuali con supporto AES mi porta il mio ovpn con TAP a 120-150 Mbps.

Alcuni riportano router dedicati CON supporto per la crittografia hardware AES che arriva fino a 400 Mbps! 3 volte più veloce di quanto possa fare un i5-3570k (che sul mio sistema di test non potrebbe essere superiore a 150 Mbps al 100% di 1 utilizzo di base) L'altra mia estremità: E3-1231 v3, quindi era all'incirca al 7% di utilizzo della CPU, circa È stato utilizzato il 25% del core openvpn utilizzato. Quindi l'E3 molto probabilmente potrebbe aumentare la connessione da 3 a 4 volte.

quindi avresti qualcosa tra 360 Mbps e 600 Mbps con una connessione tra E3-1231 v3 cpu facendo toccare la cifra AES265, autenticazione SHA256 e ta.key, certificati tls-cipher Ho anche usato il più alto TLS-DHE-RSA-WITH-AES- 256-SHA256

Per evidenziarlo, con tap: wrt3200acm arriva fino a 70-80 Mbps con crittografia. i5-3570k arriva a 120-150 con la crittografia. E3-1231 v3 ottiene almeno 360 Mbps con crittografia (questo è interpolato dai miei risultati con i casi 1 e 2 perché non avevo 2 E3-1231 v3 con cui testare.)

Queste sono le mie scoperte basate sulla copia da Windows a Windows tra 2 client in 2 sottoreti diverse collegate da TAP openvpn

2
Vincent