Thomas-Krenn OPNsense Firewall Performance

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Die freie Firewall-Lösung OPNsense kann auf vielen unterschiedlichen Geräten und Servern eingesetzt werden. Um die passende Hardware für Ihren Einsatzzweck zu finden, werden die Systeme umfassenden Leistungstests unterzogen. Dieser Artikel zeigt tabellarisch diese Ergebnisse auf. Die Tabelle wird laufend um weitere Systeme erweitert, wenn diese getestet wurden.

Wichtiger Hinweis: Diese Tests wurden unter Laborbedingungen durchgeführt, Realwerte in Produktivumgebungen können abweichen.

Testergebnisse

Die folgende Tabelle zeigt die bisher verfügbaren Ergebnisse:

Server LES compact 4L

LES-compact-4L.jpg

(Anmerkung: Tests mit OPNsense 19.7)

Edge 4L

DC3455-4-4-F.jpg

(Anmerkung: Tests mit OPNsense 22.7.2)

LES v4

LES-v4.jpg

(Anmerkung: Tests mit OPNsense 22.7.10_2, außer WireGuard)

LES network 6L

(Version 1, Intel Core i5-8250U)
LES-network-6L.jpg

(Anmerkung: Tests mit OPNsense 22.7_4-amd64)

LES network 6L

(Version 2, Intel Core i5-10210U)
LES-network-6L-v2.jpg

(Anmerkung: Tests mit OPNsense 23.1)

RI1102A-F (Version 2.0, Supermicro A2SDi-4C-HLN4F mit Intel Atom C3558)

RI1102A-F.jpg

(Anmerkung: Tests mit OPNsense 23.1.1_2-amd64, 25 Gbit/s Broadcom P225P Zusatzkarte)

RI1102D-F (Version 1, Intel Xeon D-1518)

RI1102D-F.jpg

(Anmerkung: Tests mit OPNsense 22.7.9_3, 25 Gbit/s Broadcom P225P Zusatzkarte)

Hardware Ausstattung im Test RAM 2 GB RAM 2 GB RAM 32 GB (RAM Bedarf war maximal bei 11 GB (IPS Test)) RAM 4 GB RAM 16 GB RAM 16 GB RAM 16 GB
Einstellung

(genaue Testeinstellungen weiter unten aufgelistet)

Leistung Last (CPU Time in %) Leistung Last (CPU Time in %) Leistung Last (CPU Time in %) Leistung Last (CPU Time in %) Leistung Last (CPU Time in %) Leistung Last (CPU Time in %) Leistung Last (CPU Time in %)
Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download Upload Download
Routing
  • NAT deaktiviert
  • reines Routing
nicht getestet nicht getestet nicht getestet nicht getestet 2,35 Gbit/s 2,35 Gbit/s 10 11 9,33 Gbit/s 9,46 Gbit/s 51 66 11,7 Gbit/s 12 Gbit/s 39,5 45,4
(Anmerkung: 2,5 Gbit/s NIC ausgereizt)
Firewall
  • NAT aktiv
  • Spamhaus DROP und EDROP Listen auf WAN und LAN Interface
nicht getestet 942 Mbit/s 942 Mbit/s 31 29 2,35 Gbit/s 2,35 Gbit/s 19 20 940 Mbit/s 941 Mbit/s 15 18 2,35 Gbit/s 2,35 Gbit/s 17 18 7,11 Gbit/s 6,31 Gbit/s 83 66 5,9 Gbit/s 6,2 Gbit/s 50 50
(Anmerkung: 1 Gbit/s NIC ausgereizt) (Anmerkung: 2,5 Gbit/s NIC ausgereizt) (Anmerkung: 1 Gbit/s NIC ausgereizt) (Anmerkung: 2,5 Gbit/s NIC ausgereizt) (Anmerkungen: Messwerte schwankten deutlich, Last auf der Firewall ebenso)
Firewall und IDS
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu Intrusion Detection (IDS) auf dem WAN Interface aktiv
  • Anzahl der Regeln (fehlt)
nicht getestet 941 Mbit/s 941 Mbit/s 51 58 2,35 Gbit/s 2,35 Gbit/s 51 52 942 Mbit/s 942 Mbit/s 15 18 2,35 Gbit/s 2,35 Gbit/s 19 20 6,51 Gbit/s 6,02 Gbit/s 92 89 5,2 Gbit/s 4,7 Gbit/s 68 61
(Anmerkung: 1 Gbit/s NIC ausgereizt, aber deutlich erhöhte Last im Vergleich zu reinem Firewalling) (Anmerkung: 2,5 Gbit/s NIC ausgereizt, aber deutlich erhöhte Last im Vergleich zu reinem Firewalling) (Anmerkung: 1 Gbit/s NIC ausgereizt) (Anmerkung: 2,5 Gbit/s NIC ausgereizt, nur minimal erhöhte Last im Vergleich zu reinem Firewalling) (Anmerkungen: Ergebnisse eher zweifelhaft, denn sie schwankten stark, zwischen 3,2 und 8 Gbit/s. Ebenso schwankte dadurch die Last auf der Firewall von knapp 60% bis 100%)
Firewall und IPS
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu Intrusion Prevention (IPS) auf dem WAN Interface aktiv
  • Anzahl der Regeln (fehlt)
nicht getestet (nicht empfohlen, CPU zu schwach) 606 Mbit/s 420 Mbit/s 62 41 770 Mbit/s 630 Mbit/s 44 33,5 942 Mbit/s 942 Mbit/s 21 19 2,35 Gbit/s 2,30 Gbit/s 23 18 918 Mbit/s 631 Mbit/s 52 40 5,4 Gbit/s 3,2 Gbit/s 65 41
(Anmerkung: CPU und Software nun der limitierende Faktor, nicht mehr die 1 Gbit/s NIC) (Anmerkung: 1 Gbit/s NIC ausgereizt, Last leicht höher als bei IDS) (Anmerkung: 2,5 Gbit/s NIC im Upload ausgereizt, Download minimal weniger Durchsatz, leicht erhöhte Last im Vergleich zu IDS) (Anmerkung: Tests mit 1 Gbit/s onboard NIC durchgeführt)
Firewall und Zenarmor
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu Zenarmor auf dem LAN Interface aktiv
nicht getestet (nicht empfohlen, CPU zu schwach) 769 Mbit/s 825 Mbit/s 36 47 893 Mbit/s 941 Mbit/s 32 33 940 Mbit/s 942 Mbit/s 17 19 2,35 Gbit/s 2,35 Gbit/s 16 21 33,6 Mbit/s 1,76 Gbit/s 12 44 11 Mbit/s 1,2 Gbit/s 6 27
(Anmerkung: 1 Gbit/s NIC ausgereizt, Last leicht höher als bei IDS) (Anmerkung: 2,5 Gbit/s NIC ausgereizt, Einstellungen: MongoDB Datenbank, Routed Mode with native netmap) (Anmerkung: Sehr schwache Leistung im Upload, Einstellungen: MongoDB Datenbank, Routed Mode mit emulated netmap) (Anmerkung: Sehr schwache Leistung im Upload, Einstellungen: MongoDB Datenbank, Routed Mode mit emulated netmap)
OpenVPN Tunnel
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu ein OpenVPN Tunnel zwischen den beiden Firewalls
84 Mbit/s 114 Mbit/s 33 33 145 Mbit/s 175 Mbit/s 36 34 435 Mbit/s 436 Mbit/s 28 27 470 Mbit/s 462 Mbit/s 17 16 997 Mbit/s 788 Mbit/s 17 14 268 Mbit/s 271 Mbit/s 31 34 372 Mbit/s 373 Mbit/s 17 16
IPsec VPN Tunnel
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu ein IPsec VPN Tunnel zwischen den beiden Firewalls
403 Mbit/s 324 Mbit/s 70 53 746 Mbit/s 479 Mbit/s 75 48 1,77 Gbit/s 1,3 Gbit/s 64 43 825 Mbit/s 847 Mbit/s 17 19 1,87 Gbit/s 1,74 Gbit/s 20 21 1,23 Gbit/s 1,13 Gbit/s 61 51 1,6 Gbit/s 814 Mbit/s 42 23
WireGuard VPN Tunnel
  • Grundeinstellungen wie Firewall Test
  • Zusätzlich dazu ein WireGuard VPN Tunnel zwischen den beiden Firewalls
178 Mbit/s 171 Mbit/s 89 86 296 Mbit/s 331 Mbit/s 82 80 896 Mbit/s 849 Mbit/s 70 74 865 Mbit/s 889 Mbit/s 48 45 1,35 Gbit/s 1,26 Gbit/s 49 50 - - 749 Mbit/s 816 Mbit/s 43 44
(Anmerkung: Die WireGuard Tests wurden mit OPNsense 22.7.11-amd64 durchgeführt) (Anmerkung: Es wurde mit wireguard-go und OPNsense-23.1.1_2 getestet) (Anmerkungen: Tests nicht möglich, Tunnel konnte durch Softwareprobleme nicht stabil aufgebaut werden)

Setup Performancetests

Die nachfolgende Tabelle zeigt die weiteren Komponenten der Firewall Tests, die zu testende Firewall ist immer als Firewall Site 2 gekennzeichnet. Um die maximale Leistung testen zu können, wurde als performante Gegenstelle (Firewall Site 1) ein Server basierend auf einem Supermicro H12SSL-NT Mainboard ausgewählt:

Einsatzzweck Hardware BIOS Informationen Software
Firewall Site 1
  • Mainboard: Supermicro H12SSL-NT
  • CPU: AMD EPYC 72F3 (8 Kerne)
  • RAM: 32 GB
  • Version: 2.3
  • BIOS Einstellungen
    • default
  • Immer mit der jeweils aktuellen Community Version von OPNsense getestet
Firewall Site 2
  • wechselnde zu testende Firewall
Client Site 1
  • Mainboard: Supermicro X11SSH-LN4F
  • CPU: Intel Xeon CPU E3-1230 v6 (3.50GHz, 4 Kerne)
  • RAM: 4 GB
  • Version: 2.7
  • Ubuntu Server 22.04.1
Client Site 2
  • Mainboard Supermicro X10SLH-F
  • CPU: Intel Xeon CPU E3-1220 v3 (3.10GHz, 4 Kerne)
  • RAM: 4 GB
  • Version: 3.4

Benchmark Tools

Die Performancetests wurden mit iperf durchgeführt.

  • Das Tool iperf wurde mit folgendem Kommando auf der Serverseite gestartet: iperf -p 5000 -f m -s
  • Die Clientseite hat sich per folgendem Kommando zum iperf Server verbunden: iperf -p 5000 -f m -c <IP-de-Servers> -t 180 -P 10
  • Mit dem Kommando "vmstat -w 180 -c 2" wurde die Last auf den Firewalls gemessen.

Upload-Test

Um einen Upload-Test zu simulieren wurde am Client Site 2 iperf im Clientmodus gestartert, am Client Site 1 wurde iperf mit dem Parameter -s im Servermodus gestartet.

Download-Test

Für einen Download-Test wurden die Richtungen umgedreht, Client Site 1 wurde per Parameter -c als Client gestartet und Client Site 2 mit -s im Servermodus.

Testdurchläufe

Generell sind die Werte in den Tabellen als Mittelwerte von bis zu 10 Durchläufen anzusehen. Bei manchen Tests (wenn die Netzwerkbuchse ausgelastet war) sind die Ergebnisse nicht in mehreren Durchläufen generiert worden, da die Ergebnisse immer identisch waren.

Einstellungen

Die folgenden Einstellungen wurden an den OPNsense Firewalls vorgenommen. Grundsätzlich wurden keine speziellen Optimierungsschritte durchgeführt, OPNsense wurde mit den Standardeinstellungen eingesetzt. Da auch die Einstellungen bei den einzelnen VPN-Technologien anspruchsvoll sind kann man die Messwerte durchaus als absolutes Minimum ansehen.

  • Firewall Test
    • Spamhaus DROP und EDROP Listen auf LAN und WAN Interface aktiviert
  • OpenVPN Test
    • Server Mode: Peer to Peer (SSL/TLS)
    • Protocol: UDP4
    • Device Mode: tun
    • TLS Authentication: Enabled - Authentication & encryption
    • TLS Shared Key: 2048bit OpenVPN static key
    • DH Parameters Length: 4096 bit
    • Encryption Algorithm: AES-256-GCM (256 bit key, 128 bit block, TLS client/server mode only)
    • Auth Digest Algorithm: SHA512 (512-bit)
    • Certificate Depth: Do Not Check
    • Compression: Enabled - LZO algorithm (--compress lzo)
  • IPsec VPN Test
    • Phase 1
      • Authentication method: Mutual PSK
      • Pre-Shared Key: ja
      • Encryption algorithm: 256 bit AES-GCM with 128 bit ICV
      • Hash algorithm: SHA256
      • DH key group: 14 (heißt 2048 bits)
    • Phase 2
      • Protocol: ESP
      • Encryption algorithms: aes256gcm16
      • Hash algorithms: SHA256
      • PFS key group: 14 (2048 bits)
  • WireGuard VPN Test
    • Shared secret (PSK)


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

Icon-Twitter.png 

Das könnte Sie auch interessieren

FreeBSD Hardwareinformationen abfragen
OPNsense serielle Konsole
Realtek NICs in OPNsense