IPsec im Linux-Kernel

IPsec im Linux-Kernel

Ich habe einige Probleme (Fragen) im Zusammenhang mit der Implementierung von IPsec im Linux-Kernel und seiner Benutzerschnittstelle.

  1. Die größte Frage ist, welches das eigentliche offizielle Projekt für die Linux-Kernel-IPsec-Implementierung ist. Soweit ich verstanden habe, handelt es sich bei der Implementierung um einen Fork des Kame-Projekts, aber ein Freund meinte, das sei nicht wahr. Welches sind ihre offizielle Website und ihr offizielles Repo?
  2. Wo in der Kernel-Dokumentationsquelle finde ich entsprechende Hinweise?
  3. Welches User-Space-Frontend wird am häufigsten verwendet? ip-tools oder das iproute2-Paket? Verfolgen diese beiden den gleichen Ansatz oder hat eines von beiden einen größeren Overhead?
  4. Soweit ich gesehen habe, beziehen sich die Tutorials für den IPsec-Transportmodus von iproute2 auf das Dienstprogramm „setkey“ zum Laden der Konfigurationsdatei. Wird „setkey“ tatsächlich für das iproute2-Paket verwendet, oder wurde ich irregeführt? Ist „setkey“ an „racoon“ von ip-tools angehängt, oder ist es eine allgemeine Anwendung zum Laden von Konfigurationen? Was macht „setkey“ eigentlich (das verwirrt mich sehr)?

Antwort1

  1. Der seit 2.6 im Linux-Kernel integrierte IPsec-Stack (NETKEY) basierte ursprünglich auf dem KAME-Stack (zumindest in Bezug auf die API). Der Quellcode ist Teil desKernel-Repository, in dem die Hauptkomponenten im net/xfrmOrdner zu finden sind, einschließlich der Implementierung der Netlink/XFRM-Konfigurationsschnittstelle. Die alternative undstandardisiertDie (aber etwas erweiterte) Implementierung der PF_KEYv2-Schnittstelle befindet sich im net/keyOrdner.
  2. Es gibt nicht viel Dokumentation. Aber sehen Sie sich den Documentation/networkingOrdner an.
  3. Wenn Sie die manuelle Konfiguration von IPsec SAs und Richtlinien (manuelles Keying) durchführen, empfehle ichiproute2. Es verwendet die leistungsfähigere Netlink/XFRM-Schnittstelle und das Paket wird von den meisten Distributionen standardmäßig installiert. Normalerweise verwendet man jedoch die automatische Verschlüsselung, die von einem Userland bereitgestellt wird.IKEDaemon wie strongSwan, Open/libreswan oder racoon (ipsec-tools), so dass Sie SAs und Richtlinien nicht manuell installieren müssen und während des IKE über Diffie-Hellman erstellte temporäre Verschlüsselungs-/Integritätsschlüssel erhalten. Auch eine regelmäßige automatische Aushandlung neuer Schlüssel, die als Rekeying bezeichnet wird, ist möglich.
  4. setkeywird bereitgestellt durch dieIPSec-ToolsPaket für manuelle Eingabe, es besteht kein Bezug zumiproute2Paket. Mitiproute2Sie würden den Befehl verwenden, ip xfrmum SAs und Richtlinien manuell zu konfigurieren. Beide Befehle interagieren direkt mit SAD und SPD (sieheRFC 4301) im Kernel, um IPsec-SAs und -Richtlinien manuell zu verwalten. verwendet setkeywie racoonund andere BSD-basierte Tools die Schnittstelle PF_KEYv2 und ist daher weniger leistungsfähig als der ip xfrmBefehl. Beispielsweise können erweiterte Sequenznummern oder Markierungen unter Linux nicht mit PF_KEYv2 konfiguriert werden.

verwandte Informationen