Testy wydajności OPNsense z OpenVPN
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 OpenVPN, przy użyciu połączenia site-to-site. Przetestowaliśmy również wydajność sieci VPN przy użyciu technologii IPsec. Szczegółowe wyniki tych testów można znaleźć w artykule Testy wydajności OPNsense z IPsec.
Ś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 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-serwera> -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
W testach zostały zastosowane następujące ustawienia:
- Server Mode: Peer to Peer (SSL/TLS)
- Protocol: UDP
- TLS Authentication: 2048 bit
- DH Parameters Length: 4096 bit
- Encryption algorithm: AES-128-GCM
- Auth Digest Algorithm: SHA256 (256-bit)
Wyniki testów OpenVPN z TLS
W poniższych tabelach są przedstawione wyniki testów, z podziałem na zastosowany firewall. Jako tryb serwera OpenVPN została wybrana opcja Peer to Peer (SSL/TLS), która w przeciwieństwie do opcji Pre-Shared-Key pozwala na zastosowanie szyfrowania bazującego na AES GCM.[1]
Ś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 |
Prędkość ładowania (upload) na systemie LES
LES compact 4L: szyfrowanie |
---|---|---|
Przepustowość | 114,9 Mbits/sec | 84,74 Mbits/sec |
Obciążenie systemu LES compact 4L
(vmstat -w 180 -c 2) |
us - sy - id
9 - 23,9 - 67,4 |
us - sy - id
9 - 23,9 - 67,2 |
Obciążenie płyty głównej X11SSH-LN4F
(vmstat -w 180 -c 2) |
us - sy - id
1,8 - 4 - 95 |
us - sy - id
1,6 - 3 - 95 |
Wyniki poszczególnych testów zostały zapisane w archiwum zip.
Środowisko testowe z Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES compact 4L Poniższą tabela przedstawia komponenty zastosowane w testach z płytą główną Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES compact 4L:
Środowisko testowe z Supermicro X11SSH-LN4F i systemem Thomas-Krenn LES network+
Poniższa 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ść | 495 Mbits/sec | 435,3 Mbits/sec |
Obciążenie systemu LES network+
(vmstat -w 180 -c 2) |
us - sy - id
17,7 - 41,1 - 41,3 |
us - sy - id
17 - 42,3 - 40,6 |
Obciążenie na płycie głównej X11SSH-LN4F
(vmstat -w 180 -c 2) |
us - sy - id
5 - 13 - 82 |
us - sy - id
4 - 11,5 - 84 |
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ść | 466,5 Mbits/sec | 394,3 Mbits/sec |
Obciążenie systemu LES compact 4L
(vmstat -w 180 -c 2) |
us - sy - id
11 - 19,5 - 69,9 |
us - sy - id
10,8 - 20,1 - 69,2 |
Obciążenie na płycie głównej X11SSH-LN4F
(vmstat -w 180 -c 2) |
us - sy - id
3 - 6 - 91 |
us - sy - id
3 - 5,8 - 91,9 |
Wyniki poszczególnych testów zostały zapisane w archiwum zip.
Stwierdzenia wynikające z testów
Wyniki testów z OpenVPN można podsumować za pomocą następujących punktów:
- Wydajność jest znacznie niższa niż w przypadku połączenia IPsec.
- OpenVPN działa tylko w trybie jednowątkowym (single threaded), brak korzyści w przypadku procesorów wielordzeniowych (multi core).
- Wiele możliwości konfiguracyjnych.
Odnośniki
- ↑ Setup SSL VPN site to site tunnel (docs.opnsense.org)
Autor: Thomas Niedermeier