Warum gibt es noch IPSec-Transport, wenn er fast immer auf Tunneln umgestellt werden kann und umgekehrt?
Ich sehe heute keinen Transportmodus-IPSec, der in der allgemeinen Bevölkerung von Benutzern von Netzwerkgeräten verwendet wird. Ich denke, es hat nie genug Dynamik aufgebaut, um universell eingesetzt zu werden. Software- und Netzwerkanbieter waren bestrebt, Implementierungen im Tunnelmodus (einschließlich umfangreicher Backends) an Unternehmenskunden mit Fernzugriff zu verkaufen, haben den Transportmodus jedoch nicht an Dritte weitergegeben. Die Fähigkeiten sind zwar vorhanden, die Benutzerfreundlichkeit lässt jedoch noch zu wünschen übrig.
Es existiert also, aber ist es immer noch relevant? Der Transportmodus war bisher für eine große Anzahl von Benutzern nicht zugänglich. Eine Ausnahme waren die freien Software-Leute.
Historie und Implementierungsstatus von Opportunistic Encryption für IPsec
Der obige Link beschreibt die historischen Bemühungen, IPSec überall einzusetzen, und wie diese Bemühungen behindert wurden. Die Gründe können als die Unsicherheit der Internetinfrastruktur (z. B. DNS) und die relative Selbstzufriedenheit der Beteiligten, diese zu ändern, zusammengefasst werden.
Warum gibt es all diese Ansätze und duplizieren sich gegenseitig?
Alle diese Ansätze beruhen hauptsächlich auf der unabhängigen Identifizierung und Lösung von Schwankungen des Bedarfs an sicherem Fernzugriff in etwa der gleichen Zeitspanne. Eine etwas verbesserte Version Ihrer Frage könnte sein: "Warum werden all diese Ansätze noch verwendet?"
Sie haben Ihre eigene Frage beantwortet, warum L2TP noch verwendet wird: Buchhaltung und Konfiguration. (Es kann interessanter sein zu untersuchen, warum andere Protokolle wie PPTP nicht mehr verwendet werden.) In vielen Fällen, auch wenn Sie sich nicht für Buchhaltung und Konfiguration interessieren,
In anderen Fällen ist die Antwort nicht so klar. Nehmen Sie den Fall Gateway-to-Gateway. Sie können reines Tunnelmodus-IPSec oder GRE-Tunnel über IPSec verwenden (tatsächlich glaube ich, dass sie über den Transportmodus IPSec verfügen). Ich weiß nicht, dass es auf die eine oder andere Weise neben der Vertrautheit einen Vorteil gibt. Persönlich habe ich niemals den Tunnelmodus IPSec auf einem Cisco-Router eingerichtet. Ich habe schon immer GRE verschlüsselt. Warum? Denn alles, was ich über einfaches GRE weiß, gilt für verschlüsseltes GRE. Es ist mir also vertraut.
Vergessen Sie auf VPNs / Tunnels auf Anwendungsebene nicht, wie OpenVPN oder Secure Shell. Diese haben im Allgemeinen eine schlechtere Leistung als Implementierungen auf Kernel- oder Appliance-Ebene. Sie waren (und sind) jedoch im Allgemeinen einfacher zu bedienen und hatten den Vorteil, dass sie durch Proxys und Firewalls (zumindest bis zur Einführung einer umfassenden Inhaltsprüfung) leichter durchkommen. Außerdem haben sie oft weniger Abhängigkeiten. Es ist viel einfacher, OpenVPN auf einem alten Linux-Server zu kompilieren, als den Kernel für die Unterstützung von IPSec neu zu kompilieren.
Könnten Sie mir ein Beispiel nennen, wenn eine dieser Methoden "die einzig richtige ist"?
Im Networking (wie bei so viel im Computing) wird nie "das einzig richtige zu verwenden" angezeigt. In den meisten Fällen bleiben Sie bei dem Machbaren. Beispielsweise arbeiten alle Android-Geräte mit L2TP-basierten VPNs. Das ist also machbar, auch wenn Sie keine Konfiguration oder Abrechnung benötigen. Die Vertrautheit, die ich mit GRE-Tunneln auf Cisco-Geräten habe, macht es mir einfacher, sie zu implementieren als reine IPSec im Tunnelmodus. Ich kann auf einem alten Linux-Server einen OpenVPN- oder einen SSH-basierten Tunnel erstellen, den ich (aus irgendeinem Grund) nicht aktualisieren kann.