Perché il trasporto IPSec esiste ancora se quasi sempre potrebbe essere cambiato in tunneling e viceversa?
Oggi non vedo la modalità di trasporto IPSec utilizzata nella popolazione generale degli utenti di dispositivi in rete. Penso che non abbia mai accumulato abbastanza slancio per essere distribuito universalmente. I fornitori di software e di rete erano motivati a vendere implementazioni in modalità tunnel (oltre a ampi backend) a clienti aziendali con necessità di accesso remoto, ma non hanno spinto la modalità di trasporto a nessuno. Le capacità potrebbero essere esistite, ma la facilità d'uso lascia ancora molto a desiderare.
Quindi esiste, ma è ancora rilevante? Storicamente la modalità di trasporto non era accessibile a un gran numero di utenti. Un'eccezione è stata la gente del software libero.
Cronologia e stato di implementazione di Opportunistic Encryption for IPsec
Il link sopra descrive lo sforzo storico per mettere IPSec in uso ovunque e come questi sforzi sono stati ostacolati. I motivi possono essere sintetizzati come l'insicurezza dell'infrastruttura Internet (ovvero DNS) e la relativa compiacenza da parte di coloro che sono coinvolti nel modificarlo.
perché esistono tutti questi approcci e si duplicano l'un l'altro?
Tutti questi approcci esistono principalmente a causa dell'identificazione indipendente e della soluzione alle variazioni della necessità di un accesso remoto sicuro, approssimativamente nello stesso periodo di tempo. Una versione leggermente migliorata della tua domanda potrebbe essere "perché tutti questi approcci sono ancora in uso?"
Hai risposto alla tua domanda sul perché L2TP è ancora in uso: contabilità e configurazione. (potrebbe essere più interessante esaminare perché altri protocolli, come PPTP, non sono più in uso.) In molti casi, anche se non ti interessa la contabilità e la configurazione,
In altri casi la risposta non è così chiara. Prendi il caso gateway-to-gateway. È possibile utilizzare IPSec in modalità Tunnel puro o utilizzare tunnel GRE su IPSec (in effetti, credo che siano in modalità IPSec di trasporto). Non so che ci sia qualche vantaggio in un modo o nell'altro oltre alla familiarità. Personalmente, non ho mai impostato la modalità tunnel IPSec su un router Cisco. Ho sempre fatto GRE crittografato. Perché? Perché tutto ciò che so di GRE semplice si applica a GRE crittografato. Quindi mi è familiare.
Non dimenticare VPN / tunnel a livello di applicazione, come OpenVPN o Secure Shell. Questi hanno generalmente prestazioni inferiori rispetto alle implementazioni a livello di kernel o di appliance. Ma erano (e sono) generalmente più facili da usare e avevano il vantaggio di superare più facilmente proxy e firewall (almeno fino all'avvento dell'ispezione del contenuto approfondito). Inoltre, hanno spesso meno dipendenze; è molto più semplice compilare OpenVPN su un vecchio server Linux piuttosto che ricompilare il kernel per supportare IPSec.
Potresti darmi un esempio di situazione in cui uno di questi metodi è "l'unico giusto da usare"?
Nel networking (come nel caso dell'informatica), non vedrai mai "l'unico giusto da usare". Nella maggior parte dei casi, sei bloccato con ciò che è fattibile. Ad esempio, tutti i dispositivi Android funzionano con VPN basate su L2TP. Questo è fattibile, anche se non hai bisogno di configurazione o contabilità. La familiarità che ho con i tunnel GRE sui dispositivi Cisco mi rende più semplice da implementare rispetto alla pura modalità IPSec a tunnel. E posso realizzare un OpenVPN o un tunnel basato su SSH su un antico server Linux che non posso aggiornare (per qualche motivo o altro).