Das Einschalten von Hardware-NAT-Beschleunigung kann ein VPN-Setup schneller machen, und es kann auch bewirken, dass eine Routingrichtlinie ohne jeden Fehler aufhört, für einige Pakete zu gelten. Welches der beiden eintritt, hängt davon ab, was der schnelle Pfad überspringt, und das unterscheidet sich zwischen Firmware, Kernelversion und der Art der verwendeten Beschleunigung. Das Einstellungsmenü sagt Ihnen selten, welche Sie gerade aktiviert haben.

Zwei Behauptungen verdienen eine Trennung, bevor der Beschleuniger beschuldigt wird: dass eine Regel nicht mehr durchgesetzt wird und dass ein Zähler nicht mehr aktualisiert wird. Das sind nicht dieselben Beobachtungen.

Drei verschiedene Beschleunigungen werden vermischt

Weiterleitungs-Offload, kryptografische Beschleunigung und Tunnel-Datenkanal-Offload sind getrennte Mechanismen, die sich oft einen einzigen Schalter teilen. Weiterleitungs-Offload lässt etablierte Flows einen Teil des normalen Stacks überspringen, kryptografische Beschleunigung macht Verschlüsselungsarbeit billiger, und Tunnel-Offload verlagert die Kapselung in die Hardware. Ein Router, der gewöhnlichen gerouteten Verkehr beschleunigt, kann Tunnelverkehr vollständig auf dem langsamen Pfad belassen, was ein Leistungsergebnis und keine Richtlinienänderung ist. Auch der umgekehrte Fall existiert, bei dem Tunnelverkehr per Offload verarbeitet wird, während die umgebende Richtlinie noch ausgewertet wird.

Linux-Flowtables sind der dokumentierte Fall, der am meisten zu lesen lohnt, da etablierte Flows an einen schnellen Pfad übergeben werden können. Ihre Abrechnung und Zustandsbehandlung unterscheiden sich dann von der klassischen Weiterleitung, weshalb die Zähler seltsam aussehen.

Ein Zähler, der stehen bleibt, beweist wenig

Regelzähler zählen die Pakete, die die Regel passieren, und ein per Offload verarbeiteter Flow passiert sie nach dem ersten Paket möglicherweise nie wieder. Das erzeugt einen Zähler, der einfriert, während der Verkehr weiterläuft, und er sieht genau wie eine Umgehung aus, wenn Sie der Zahl vertrauen. Den Zähler zu beobachten bleibt nützlich als Hinweis darauf, dass der Flow den gezählten Pfad verlassen hat. Der Rest der Diagnose muss daraus kommen, wohin die Pakete tatsächlich gehen.

Der umgekehrte Schluss scheitert genauso schlecht. Ein schneller Download zeigt nicht, dass Ihre Ausnahmeregeln und die Fehlerbehandlung noch greifen, denn er übt einen Flow aus und nicht die Richtlinie.

Drei Bedingungen entscheiden, ob Offload die Richtlinie bricht

Die erste Bedingung ist, ob der schnelle Pfad den Hook befragt, auf den Ihre Richtlinie angewiesen ist, denn eine Richtlinie, die als Markierungen und Routen ausgedrückt ist, überlebt häufiger als eine, die auf Filterung pro Paket aufbaut. Die zweite ist, ob die Firmware die Kombination überhaupt zulässt, weil manche Builds Offload automatisch abschalten, wenn ein Tunnel oder eine Firewall-Funktion aktiv ist. Die dritte ist, ob der Verkehr in Frage kommt, da Beschleunigung normalerweise an etablierte Flows gebunden ist und fragmentierte oder ungewöhnliche Pakete ausschließen kann. Wo alle drei die Beschleunigung begünstigen, gilt die Richtlinie weiterhin, und wo die erste scheitert, stellt kein Maß an Feintuning sie wieder her.

Lesen Sie die Herstellerdokumentation für die Kombination, die Sie betreiben, und nicht für das Routermodel im Allgemeinen. Firmware-Versionen ändern diese Antworten still.

Testen Sie die Richtlinie, nicht den Durchsatz

Messen Sie, was die Richtlinie garantieren soll, bevor Sie messen, wie schnell sie läuft. Die folgenden Befehle zeigen, ob eine Flowtable installiert ist, was die Verbindungsverfolgung sieht und über welche Adresse der Client das Netz verlässt. Vergleichen Sie eine neue Verbindung nach der Änderung, da eine etablierte ihren alten Pfad behalten kann.

nft list flowtables
conntrack -L | head -n 20
curl -sS --max-time 8 https://api.ipify.org; echo
ping -c 3 192.168.50.20

Ein Flowtable-Eintrag, der den Tunnelverkehr abdeckt, sagt Ihnen, dass der schnelle Pfad im Spiel ist, und die Verbindungstabelle zeigt, ob der Flow so verfolgt wird, wie Sie es erwarten. Die Adressprüfung bestätigt den Ausgang, wenn die Richtlinie den Internetzugang betrifft, während der Ping ein privates Ziel bestätigt, das erreichbar bleiben soll. Führen Sie denselben Satz mit ausgeschalteter und dann eingeschalteter Beschleunigung aus, und vergleichen Sie die Ergebnisse statt der Zeiten.

Notieren Sie die vorherige Einstellung, damit das Experiment umkehrbar bleibt. Eine allgemeine Anweisung, Offload überall zu deaktivieren, gilt als Behelf und nicht als Befund.

Ähnliche Artikel