Testy wydajności OPNsense z IPsec

Z Thomas-Krenn-Wiki
Przejdź do nawigacji Przejdź do wyszukiwania

Bezpłatny firewall OPNsense oferuje różne opcje konfiguracji połączenia VPN. Domyślnie OPNsense obsługuje połączenia IPsec i OpenVPN. Techniki te mogą być wykorzystywane m.in. do statycznego połączenia dwóch lokalizacji za pomocą połączenia site-to-site. Wybór techniki szyfrowania jest zależy w dużym stopniu od wymaganej przepustowości. Ten artykuł przedstawia wyniki naszych testów wydajności z iperf i IPsec, przy użyciu połączenia site-to-site. Przetestowaliśmy również wydajność sieci VPN przy użyciu technologii OpenVPN. Szczegółowe wyniki tych testów można znaleźć w artykule Testy wydajności OPNsense z OpenVPN.

Porównanie wydajności systemów Thomas-Krenn LES compact 4L i LES network+ firmy Thomas-Krenn.

Środowisko testowe

Wykorzystana w tych testach instalacja testowa składa się z dwóch systemów firewall z oprogramowaniem OPNsense, z których każdy posiada po stronie sieci LAN jeden system kliencki. Oba firewalle są podłączone do switcha za pośrednictwem interfejsu WAN. Na obu firewallach użyto aktualnej, w momencie przeprowadzania testów, wersji OPNsense. Na systemach klienckich w czasie testów użyto aktualnego oprogramowania Ubuntu Server LTS. Więcej informacji na ten temat można znaleźć w sekcjach z wynikami testów.

Testy

Poniżej są wymienione użyte komponenty, parametry i jest opisany sposób przeprowadzania testów.

Oprogramowanie wykorzystane w testach

Do testów wydajności wykorzystano iperf w wersji 2.0.10, zainstalowany na systemach klienckich.

$ iperf -v
iperf version 2.0.10 (2 June 2018) pthreads

Parametry w testach

Wszystkie testy zostały przeprowadzone z następującymi parametrami:

  • Server: iperf -p 5000 -f m -s
  • Client: iperf -p 5000 -f m -c <IP-des-Servers> -t 180 -P 10

Procedura testowa

Na kliencie 1 po stronie 1 zostaje uruchomiony iperf w trybie serwera, a na kliencie po drugiej stronie zostaje uruchomiony iperf w trybie klienta. Umożliwia to określenie prędkości przesyłania danych ze strony klienta na stronę serwera. Aby zmierzyć wydajność pobierania, strona serwera i strona klienta zostały zamienione. Przeprowadzono 10 testów ładowania (upload) i 10 testów pobierania (download). Uzyskane wartości dodano i obliczono ich średnią. To samo dotyczy zmierzonego obciążenia systemów.

Ustawienia w OpenVPN

Stosowane parametry IPsec oparte są na wytycznych TR-02102-3 dyrektywy BSI (Bundesamt für Sicherheit in der Informationstechnik - Federalny Urząd ds. Bezpieczeństwa w Technologii Informacyjnej):[1]

  • Phase 1
    • Key exchange version: v2
    • Authentication method: Mutual PSK
    • Encryption algorithm: 128 bit AES-GCM with 128 bit ICV
    • Hash Algorithm: SHA256
    • PFS key group: DH Group 28 (Brainpool EC 256 bits)
  • Phase 2
    • Encryption algorithms: aes128gcm16
    • Hash Algorithms: nothing selected
    • PFS key group: DH Group 28 (Brainpool EC 256 bits)

Wyniki testów OpenVPN z IPsec

W poniższych tabelach są przedstawione wyniki testów, z podziałem na zastosowany firewall.

Środowisko testowe z Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES compact 4L

Poniższa tabela przedstawia komponenty zastosowane w testach z płytą główną Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES compact 4L:

Rola Sprzęt Informacje o BIOS-ie Oprogramowanie
Firewall strona 1
  • Płyta główna: Supermicro X11SSH-LN4F
  • CPU: Intel Xeon E3-1230 v6 (4 core)
  • RAM: 4 GB
  • Wersja: 2.2
  • Konfiguracja BIOS-u
    • Hyper Threading: wyłączony
  • Wersja OPNsense:
    • OPNsense 19.1.7-amd64
    • FreeBSD 11.2-RELEASE-p9-HBSD
    • OpenSSL 1.0.2r 26 Feb 2019
Firewall strona 2
  • Thomas-Krenn LES compact 4L
  • CPU: Intel Celeron J3160 (4 core)
  • RAM: 2 GB
  • Wersja: BSW4L004
Klient strona 1
  • Płyta główna: Supermicro X10SLH-F
  • CPU: Intel Celeron G1820T (2 core)
  • RAM: 4 GB
  • Wersja: 3.0
  • Wersja oprogramowania Ubuntu Server:
    • 18.04.2
    • Kernel 4.15.0-47
Klient strona 2
  • Płyta główna: Asus P9D-MV
  • CPU: Intel Celeron G1820T (2 core)
  • RAM: 2 GB
  • Wersja: 2101

Wyniki testów z systemem Thomas-Krenn LES compact 4L

W poniższej tabeli znajdują się uzyskane wartości podczas testów połączenia OpenVPN site-to-site z firewallem 1 (Supermicro X11SSH-LN4F) i firewallem 2 (Thomas-Krenn LES compact 4L). Uwaga: Testy nie zostały przeprowadzone z włączoną funkcją Hyper-Threading, gdyż procesor systemu LES compact 4L nie obsługuje tej funkcji. Wyniki testów to średnia wartość z 10 testów:

Testy bez Hyper-Threading Prędkość pobierania (download) na systemie LES

LES compact 4L: deszyfrowanie

X11SSH-LN4F: szyfrowanie

Prędkość ładowania (upload) na systemie LES

LES compact 4L: szyfrowanie
X11SSH-LN4F: deszyfrowanie

Przepustowość 324,5 Mbits/sec 403,2 bits/sec
Obciążenie systemu LES compact 4L

(vmstat -w 180 -c 2)

us - sy - id

1 - 52,8 - 46,4

us - sy - id

1,4 - 68,8 - 29,8

Obciążenie płyty głównej X11SSH-LN4F

(vmstat -w 180 -c 2)

us - sy - id

0,4 - 10 - 89,6

us - sy - id

1 - 8,4 - 91

Wyniki poszczególnych testów zostały zapisane w archiwum zip.

Środowisko testowe z Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES network+

Poniższą tabela przedstawia komponenty zastosowane w testach z płytą główną Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES network+:

Rola Sprzęt Informacje o BIOS-ie Oprogramowanie
Firewall strona 1
  • Płyta główna: Supermicro X11SSH-LN4F
  • CPU: Intel Xeon E3-1230 v6 (4 core)
  • RAM: 4 GB
  • Wersja: 2.2
  • Konfiguracja BIOS-u
    • Hyper Threading włączony | wyłączony
  • Wersja OPNsense:
    • OPNsense 19.1.6-amd64
    • FreeBSD 11.2-RELEASE-p9-HBSD
    • OpenSSL 1.0.2r 26 Feb 2019
Firewall strona 3
  • Thomas-Krenn LES network+
  • CPU: Intel Core i5-6300U (2 core)
  • RAM: 4 GB
  • Wersja: BF551TK6
    • Wersja ME 11.8.60
  • Konfiguracja BIOS-u
    • Hyper Threading włączony | wyłączony
    • Load Optimized Settings
Klient strona 1
  • Płyta główna Supermicro X10SLH-F
  • CPU: Intel Celeron G1820T (2 core)
  • RAM: 4 GB
  • Wersja: 3.0
  • Wersja oprogramowania Ubuntu Server:
    • 18.04.2
    • Kernel 4.15.0-47
Klient strona 3
  • Płyta główna: Asus P9D-MV
  • CPU: Intel Celeron G1820T (2 core)
  • RAM: 2 GB
  • Wersja: 2101

Wyniki testów z systemem Thomas-Krenn LES network+

W poniższej tabeli znajdują się uzyskane wartości podczas testów połączenia OpenVPN site-to-site z firewallem 1 (Supermicro X11SSH-LN4F) i firewallem 3 (Thomas-Krenn LES network+). Uwaga: Testy zostały przeprowadzone zarówno z włączoną, jak i wyłączoną funkcją Hyper-Threading.

Wyniki testów to średnia wartość z 10 testów:

Testy bez Hyper-Threading Prędkość pobierania (download) na systemie LES

LES network+: deszyfrowanie

X11SSH-LN4F: szyfrowanie

Prędkość ładowania (upload) na systemie LES

LES network+: szyfrowanie

X11SSH-LN4F: deszyfrowanie

Przepustowość 877,1 Mbits/sec 877 Mbits/sec
Obciążenie systemu LES network+

(vmstat -w 180 -c 2)

us - sy - id

3,5 61,4 35

us - sy - id

2,9 60,2 37

Obciążenie na płycie głównej X11SSH-LN4F

(vmstat -w 180 -c 2)

us - sy - id

0,1 19 80,7

us - sy - id

0 19,5 80,2

Testy z Hyper-Threading Prędkość pobierania (download) na systemie LES

LES network+: deszyfrowanie

X11SSH-LN4F: szyfrowanie

Prędkość ładowania na systemie LES

LES network+: szyfrowanie

X11SSH-LN4F: deszyfrowanie

Przepustowość 877 Mbits/sec 877 Mbits/sec
Obciążenie systemu LES compact 4L

(vmstat -w 180 -c 2)

us - sy - id

2,1 34 63,8

us - sy - id

3 39 58,1

Obciążenie na płycie głównej X11SSH-LN4F

(vmstat -w 180 -c 2)

us - sy - id

0 10,8 89,1

us - sy - id

0 11 88,6

Wyniki poszczególnych testów zostały zapisane w archiwum zip.

Uwagi dotyczące domyślnej bramy (standard gateway)

W tej konfiguracji testowej, oba firewalle były podłączane do switcha za pomocą kabla RJ45. Oba firewalle znajdowały się w sieci biurowej, a bramką był firewall biurowy (również z zainstalowanym OPNsense). Podczas testu iperf z konfiguracją tunelu IPsec 128 bit AES-GCM z 128 bitowym ICV, zauważyliśmy, że cały ruch odbywa się domyślnie przez standardową bramę. Dzięki temu prędkość transmisji była tak wysoka, że reszta ruchu sieciowego została wstrzymana, a interfejs sieciowy firewalla w biurze przestał reagować. Aby zapobiec przepływowi całego ruchu danych przez domyślną bramkę, należy w sekcji Interfaces -> WAN w linii IPv4 Upstream Gateway wybrać Auto-detect. Dodatkowo podczas testów w zakładce System -> Gateways -> Single usunąć wpis dotyczący bramy domyślnej.

Wnioski wynikające z testów

IPsec korzysta z gigabitowego połączenia WAN na płycie głównej X11SSH-LN4F i systemie LES network+.

Wyniki testów z IPsec można podsumować za pomocą następujących punktów:

  • Znacznie wyższa wydajność niż z OpenVPN
  • 128 bit AES-GCM wykorzystuje w pełni gigabitowe połączenie sieciowe
  • IPsec czerpie korzyści z funkcji Hyper-Threading w trybie klienta

Dodatkowe informacje

Odnośniki


Autor: Thomas Niedermeier

Powiązane artykuły

Instalacja OPNsense
Połączenie LTE w OPNsense
Temperatura procesora w OPNsense