Il design di una infrastruttura VPN basata su Linux dipende da diversi fattori che determinano anche il tipo di scelte tecnologiche da adottare.
Scenario 1: VPN LAN to LAN - VPN Server amministrati in proprio
Se si ha il controllo completo di tutti i peer di queste VPN (possono essere anche diverse, con una struttura hub and spoke (a raggio) avente un VPN concentrator centrale e diversi VPN server periferici) è possibile scegliere una soluzioni interamente basata su Linux e quindi, oltre a IpSec, anche alternative legacy come Tinc, Cipe, Opentun, oltre a Pptp o ssh over ppp. Vtun andrebbe usato solo dove non ci sono particolari necessità di sicurezza.
Le regole di firewalling dovrebbero essere stringenti e permettere VPN solo agli IP dei peer. Se si hanno a disposizione apparati hardware diversi (router Cisco, firewall Pix ecc), la scelta si restringe a IpSec e PPTP.
Via software, invece, è possibile gestire VPN Linux-Windows anche con OpenVPN o Tinc.
Se la rete è complessa e presenta una architettura distribuita (non un tipico hub and spoke con un concentratore VPN centrale) ha senso valutare Tinc per la sua scalabilità e ridondanza.
Scenario 2: VPN LAN to LAN - VPN Server misti
Se si ha a che fare con apparati non completamente sotto il proprio controllo (server di partner ecc.) IpSec diventa la scelta di riferimento, avendo cura di implementare IKE per il key management (lo scambio chiavi manuale diventerebbe poco gestibile) e di filtrare tutti gli IP esclusi quelli dei peer.
Assicurarsi di considerare le reti remote come non fidate di default, permettendo solo il traffico necessario alle attività richieste dalla VPN.
Scenario 3: VPN Client to LAN - Client e Server Linux
Generalmente se si prevede l'accesso in VPN direttamente da un client, è necessario poter lasciare la possibilità di collegarsi a qualsiasi IP e di prevedere la possibilità che questa avvenga da un client nattato. Se i client sono solo Linux è possibile scegliere uno dei vari protocolli disponibili, prediligendo quelli di configurazione più agevole che lavorano in userland come OpenVPN o Tinc.
Scenario 4: VPN Client to LAN - Client misti e Server Linux
Se i client (Windows) devono poter essere facilmente configurati da utenti non esperti, PPTP rimane la scelta più ovvia, in quanto nativa in Windows e semplice da configurare, se i client possono essere configurati da personale tecnico si può provare con IpSec o OpenVPN (comunque di semplice installazione) o Tinc.
Per gli scenari che devono poter lasciar accesso da qualsiasi IP arbitrario, vale la pena valutare soluzioni di port knocking, o analoghe alternative, per aprire le porte di accesso per le VPN solo on demand.