Devo utilizzare il tap o il tun per openvpn?

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

  • Connessione Bridge VPN con LAN
  • Server iPSec VPN compatibile con iOS / Mac su Ubuntu
  • Sottantesi sovrapposte - VPN
  • Che cosa fa il tracert fare NETBIOS lavoro su Win7?
  • Server 2003 VPN - può vedere solo il server
  • Come esportre il filesystem del mio host web-host (VPS) ad un'image da caricare localmente in un VM?
  • significato di 'event_wait: chiamata di sistema interrotta'
  • Scoperta di networking attraverso VPN e sottoreti locali
  • 9 Solutions collect form web for “Devo utilizzare il tap o il tun per openvpn?”

    se è giusto creare vpn sul livello 3 (un altro salto tra le sottoreti) – andare per tun.

    se è necessario ponticellare due segmenti ethernet in due diverse posizioni – quindi utilizzare il rubinetto. in tale configuration è ansible disporre di computer nella stessa substring ip (ad es. 10.0.0.0/24) su entrambe le estremità del vpn e potranno "parlare" direttamente senza modifiche nelle loro tabelle di routing. vpn agirà come interruttore ethernet. questo potrebbe sembrare freddo ed è utile in alcuni casi, ma consiglierei di non andare a less che non lo abbiate veramente bisogno. se si sceglie l'impostazione di ponte di tale livello 2 – ci sarà un po 'di "spazzatura" (ossia pacchetti di trasmissione) che attraversano il tuo vpn.

    usando il rubinetto avrai un po 'più in testa – oltre alle intestazioni ip anche 38B o più intestazioni ethernet verranno inviate attraverso il tunnel (a seconda del tipo di traffico – potrebbe forse introdurre una maggiore frammentazione).

    Ho scelto "toccare" quando creo un VPN per un amico che ha una piccola azienda perché il suo ufficio utilizza un groviglio di macchine Windows, printingnti commerciali e un file server Samba. Alcuni di essi utilizzano TCP / IP puro, alcuni sembrano utilizzare solo NetBIOS (e quindi bisogno di pacchetti di trasmissione Ethernet) per comunicare, e alcuni non sono neanche sicuro.

    Se avessi scelto "tun", probabilmente avrei dovuto affrontare un sacco di rotture di servizi – molte cose che hanno funzionato mentre sei fisicamente nell'ufficio, ma poi si rompere quando sei andato in loco e il tuo computer porttile non potrebbe "vedere" i dispositivi della substring Ethernet più.

    Ma scegliendo "toccare", dico alla VPN che le macchine remote si sentano esattamente come se fossero sulla LAN, con i pacchetti Ethernet di trasmissione e protocolli Ethernet grezzi disponibili per comunicare con printingnti e file server e per alimentare la visualizzazione di Network Neighborhood. Funziona bene e non ho mai ricevuto rapporti di cose che non funzionano fuori sede!

    Ho sempre impostato tun. Il colpetto viene utilizzato da bridge ethernet in OpenVPN e introduce un livello di complessità non preciso che semplicemente non vale la pena di preoccuparsi. Di solito quando una VPN deve essere installata, la sua necessità ora e le implementazioni complesse non vengono veloci.

    Le FAQ di OpenVPN e l' Ethernet HOWTO di bridging sono risorse eccellenti su questo argomento.

    Ho iniziato usando tun, ma ho commutato a toccare perché non mi è piaciuto l'utilizzo di una subnet di 30 per each PC (ho bisogno di supportre Windows). Ho scoperto che essere spreco e confuso.

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

    Se si prevede di connettere dispositivi mobili (iOS o Android) utilizzando OpenVPN, è necessario utilizzare TUN poiché attualmente TAP non è supportto da OpenVPN :

    Gli inconvenienti TAP: ….. non possono essere utilizzati con i dispositivi Android o iOS

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

    Spero che aiuta qualcuno

    Le mie "regole del pollice"
    TUN – se è necessario accedere solo alle risorse collegate direttamente alla macchina server OpenVPN all'altra estremità e non ci sono problemi di Windows. Una piccola creatività qui può aiutare, facendo apparire le risorse "locali" al server OpenVPN. (gli esempi potrebbero essere una connessione CUPS a una printingnte di networking o una condivisione Samba su un'altra macchina installata sul server OpenVPN.)

    TAP – se hai bisogno di accesso a più risorse (macchine, storage, printingnti, dispositivi) collegati tramite la networking all'altra estremità. TAP può essere richiesto anche per alcune applicazioni Windows.


    vantaggi:
    TUN normalmente confina l'accesso VPN a una singola macchina (indirizzo IP) e quindi (probabilmente) una migliore sicurezza grazie alla connettività limitata alla networking di fianco. La connessione TUN creerà less carico sul tunnel VPN e a sua volta la networking esterna perché solo il traffico da / verso l'unico indirizzo IP attraverserà la VPN verso l'altro lato. I routes IP ad altre stazioni della substring non sono inclusi, pertanto il traffico non viene inviato attraverso il tunnel VPN e la comunicazione è limitata o non è ansible oltre il server OpenVPN.

    TAP – consente di consentire ai pacchetti di fluire liberamente tra gli endpoint. Ciò dà la flessibilità di comunicazione con altre stazioni della networking esterna, inclusi alcuni methods utilizzati dai vecchi software Microsoft. TAP ha le esposizioni intrinseche di protezione implicate nel concedere l'accesso esterno "dietro il firewall". Permetta di passare più pacchetti di traffico attraverso il tunnel VPN. Questo apre anche la possibilità di contrastare gli indirizzi tra gli endpoint.

    Ci sono differenze di latenza a causa dello strato di stack, ma nella maggior parte degli scenari degli utenti finali la velocità di connessione degli endpoint è probabilmente un contributore più significativo alla latenza rispetto al particolare livello dello stack della trasmissione. Se la latenza è in discussione, potrebbe essere una buona idea prendere in considerazione altre alternative. I multiprocessri a livello di corrente a GHz normalmente superano il collo di bottiglia della trasmissione via Internet.


    "Better" e "Worse" non sono definibili senza un context.
    (Questa è la risposta preferita dal consulente, "Beh dipende …")
    È una Ferrari "meglio" di un camioncino? Se stai cercando di andare veloce, può essere; ma se stai cercando di portre carichi pesanti, probabilmente no.

    Devono essere definiti vincoli come "necessità di accesso" e "requisiti di sicurezza", nonché definire vincoli come il throughput di networking e le limitazioni dell'apparecchiatura, prima di decidere se TUN o TAP è più adatto alle tue esigenze.

    Se allora, perché, che cosa hai? Vorrei utilizzare TAP, esplicitamente per il motivo che la stratificazione dei pacchetti procede con molto less latenza e perdita di trasmissione che è abbassata con questo metodo. Tuttavia solo con lo strato 3 questo influisce su qualsiasi effetto apparente sul funzionamento della VPN, in particolare l'aspetto tunneling e quali IP sono consentiti tramite indirizzi assegnabili. L'utilizzo di UDP prevede forse un'altra situazione in cui dovreste decidere quale sia la strada migliore da intraprendere per te. Ogni networking è diversa e richiede un insieme unico di parametri. Spero che questo ti aiuti.

    L'impostazione di TAP richiede quasi nessun lavoro aggiuntivo dalla persona che lo imposta.

    Naturalmente se sai come impostare il TUN ma non capisci cosa stai facendo e semplicemente seguendo un tut tut, ti combatterai per impostare TAP, ma non perché è più difficile, ma perché non sai quello che sei facendo. Che facilmente può portre a conflitti di networking in un ambiente TAP e poi sembra che sia più complicato.

    Infatti, se non hai bisogno di un tutorial perché tu sai che cosa stai facendo, mettere in function il rubinetto richiede tanto tempo quanto l'impostazione del tun.

    con il rubinetto ci sono molte soluzioni sulla subnetting, mi sono trovato il modo più semplice è utilizzare una substring di class 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 imposta il sito1 con il server oVPN e per dare ai clienti la gamma ip 172.22.254.2 – 172.22.254.255/16 in modo da poter avere più di 200 client (sottoreti) ovpn each substring può avere più di 200 client in sé. Fa un totale di 40.000 clienti in grado di gestire (dubbi che l'oVPN può gestire, ma come vedete, la creazione di una sottorettazione appropriata vi darà più di quanto abbastanza probabilmente mai occorre)

    si utilizza un tap e tutti i clienti sono insieme come in una grande networking aziendale.

    IF, tuttavia each sito ha il proprio DHCP e dovrebbe essere necessario assicurarsi di utilizzare ebtables o iptables o dnsmasq per bloccare la distribuzione di dhcp per andare selvaggio. gli ebtables tuttavia rallentano le performance. utilizzando dnsmasq dhcp-host = 20: a9: 9b: 22: 33: 44, ignorare per esempio sarà un task enorme da configurare su tutti i server dhcp. tuttavia, su hardware moderno l'impatto degli ebtables non è così grande. solo 1 o 2%

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

    Sul mio wrt3200acm per esempio non crittografato ho 360Mbps. Utilizzando la crittografia si scende a 54-100Mbps a seconda di quale tipo di crittografia scelgo) ma openvpn non fa la crittografia del 1500 e una seconda crittografia sui 32 overhead. Invece fa una cifratura di 1 volta su 1500 + 32overhead.

    Quindi l'impatto qui è minimo.

    Su hardware più vecchio si potrebbe notare l'impatto più, ma su hardware moderno è davvero al minimo.

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

    Alcuni riferiscono i router dedicati con il supporto di crittografia hardware AES che raggiunge i 400Mbps! 3 volte più veloce che un i5-3570k può fare (che sul mio sistema di prova non poteva get più alti di 150Mbps al 100% di 1 core utilization) La mia altra estremità: E3-1231 v3, allora era approssimativamente al 7% utilizzo della CPU, intorno È stato utilizzato il 25% del core openvpn. Quindi l'E3 probabilmente potrebbe aumentare la connessione da 3 a 4 volte.

    in modo da avresti qualcosa tra 360Mbps e 600Mbps con una connessione tra E3-1231 v3 cpu che fa la cifratura AES265, auth SHA256 e ta.key, certificati tls-cipher Ho anche usato il più alto TLS-DHE-RSA-WITH-AES- 256-SHA256

    Per indicarlo, con il touch: wrt3200acm ottiene fino a 70-80mbps con la crittografia. i5-3570k arriva a 120-150 con la crittografia. E3-1231 v3 ottiene alless 360Mbps con crittografia (questo è interpolato dalle mie scoperte con il caso 1 e 2 perché non ho 2 E3-1231 v3 per testare con.)

    Queste sono le mie conclusioni basate su windows da windows che copiano tra 2 client in 2 sottoreti differenti collegati da openvpn TAP

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.