Testy wydajności OPNsense z IPsec
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.
Ś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 |
|
|
|
Firewall strona 2 |
|
| |
Klient strona 1 |
|
|
|
Klient strona 2 |
|
|
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 |
---|---|---|
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 |
|
|
|
Firewall strona 3 |
|
| |
Klient strona 1 |
|
|
|
Klient strona 3 |
|
|
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
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
- What's the difference between AES-CBC and AES-GCM? (privateinternetaccess.com, 05.10.2018)
- AES-NI SSL Performance (calomel.org, 08.11.2018)
Odnośniki
Autor: Thomas Niedermeier