OpenVPN(-NL) Performance

Slides:



Advertisements
Verwante presentaties
802.1x op het SURFnet kantoor
Advertisements

Embedded systemen Embedded software.
™.
Bepalen van een productstrategie ten aanzien van 64-bits computing ISV Community Day Schiphol-Rijk, Andreas de Ruiter Developer & Platform Group.
Blok 7: netwerken Les 6 Christian Bokhove. Internet Protocol - IP  De Internet Service verschaft een dienst die: – Vebindingsloos is – Onbetrouwbaar.
6 July 2014 Hogeschool voor Wetenschap & Kunst 1 iSCSI ( eye scuzzy ) Internet Small Computer System Interface.
Spreekbeurt door Maxime Van Poucke 6A
Mobile Device Management (MDM)
Presentatie Thuisnetwerken
SSL, HTTPS en SSH Johnny Schaap.
GigaPortGigaPort Klaas Wierenga 14 Maart 2001.
... M A K E Y O U R N E T W O R K S M A R T E R IP-Adres instellen ppt_aa1_p10_ip_addressing_v4.1_nl_0508.
Storage Of hoe vele bitjes een nachtmerrie kunnen worden…
Hoogwaardig internet voor hoger onderwijs en onderzoek Utrecht, 29 maart 2006 nieuwe technische ontwikkelingen m.b.t. eduroam eduroam voorwaarts! Paul.
Linux Workshop 1 Introductie. Geschiedenis  1969: UNIX  Simpel en elegant  Geschreven in C  Mogelijk om code opnieuw te gebruiken  1991: Linux 
Installeren, configureren en onderhouden
Blackboard bijeenkomst 25 april Network Load Balancing & ISA Server (2006) J.G.A. Jans Hogeschool INHOLLAND
K. U. L E U V E N - L U D I T Agenda LinSam 16/12/ u u00 : Centrale LDAP-Authenticatie LinSam(Wim M. – Werner M.) 15u u15 : KickstartServer.
1. 2 Wat is Asterisk? Software pakket, gebaseerd op GNU/linux Toolkit, voornamelijk gebruikt voor VoIP toepassingen Standaard ingebouwde functies: Voic ,
Network Address Translation
Flight Gear Multiplayer Engine Project Jeroen Boogaard & Leon Otte
Systeemsoftware Hfdst 2
Eduroam BELnet bezoek, 18 juli 2005
SURFnet en IEEE 802.1X Amsterdam, 8&9 Mei 2003.
Hoogwaardig internet voor hoger onderwijs en onderzoek eduroam BELNET, Brussel, 29 September 2005
EduRoam SEC seminar, 22 februari 2005
Hoogwaardig internet voor hoger onderwijs en onderzoek Utrecht, 27 oktober 2005 Wireless LAN beveiliging Paul Dekkers.
Steven Körmeling, Mark Rotteveel, Jan Kouwenhoven januari 2006
Backup scripting met robocopy
hcc!pc Werkgroep netwerken
Afstudeerproject ETHERFLOW:
Patrick Huysmans. IEEE a IEEE b IEEE g IEEE n IEEE ac.
Een overzicht van de hedendaagse mogelijkheden voor het bouwen van websites.
Etherflow Voor het aansluiten van een flowmeter op een Ethernet netwerk Afstudeerpresentatie Michel van der Net Elektrotechniek Avans Hogeschool Breda.
BIOS en Opstarten.
Win XP alternatieven Nieuwe Laptop of PC Win 8 installeren op oude computer Tablet of i-pad Apple Macintosh Blijven werken met Win XP Linux.
Legal Interception met FreeBSD
Netwerken.
Virtualisatie systemen
De ICT-wereld als inspiratie voor innovatie in het onderwijs Eelco Dijkstra Betapartners Amsterdam 12 maart 2015.
© CGI Group Inc. CONFIDENTIAL Monitoring Wouter Dolle Date appears here.
Node.js en NPM. Node.js Open source, crossplatform runtime omgeving voor server-side javascript applicaties, primair bedoel snelle, schaalbare netwerk.
EMSE 20 oktober 2015 Verlichting, het Internet of Things en ARM mbed 3.0 Klaas de Waal.
Hoe beheer je efficiënt computers op school? Linux Terminal Server Project (LTSP)in de praktijk Rob Burggraaf Bovenschoolse ICT coördinator VPCO.
Emulatie vs virtualisatie Docent: Schooljaar:. Emulatie vs virtualisatie Simulatie.
Producten 1/8. SoHo (kantoor) 2/8 ● LTE 100Mbps Uplink / 50 Mbps Downlink ● WAN/LAN/WLAN ● 2 USB poorten voor massa opslag via netwerk ● Interne MiMo.
Adrem Software.  Key Features  Monitoring  Visualisatie  Alerting  Reporting  Console  Praktisch  Server requirements  Databases  Licensing.
Netwerken 5 Enigma Netwerken paragraaf 8. Transportlaag Netwerklaag (IP-protocol) Best-effort pakketcommunicatie Transportlaag (UDP- en TCP-protocol)
1 MROD subsysteem voor ATLAS NIKHEF Amsterdam: Peter Jansweijer, Jos Vermeulen, Gerard Kieft, Henk Boterenbrood NIKHEF Nijmegen: Adriaan König, Thei Wijnen.
J.J. Keijser Nikhef Amsterdam Grid Group Nikhef Jan Just Keijser 4 December 2013.
Virtualisatie in de gemeente Vlaardingen
Virtualisatie 29 sept 2012 Een wegwerpcomputer met VirtualBox
Wat is het Hoe stel ik het in Hoe kan ik het gebruiken
PI-HOLE: NETWORK-WIDE, HARDWARE AD BLOCKING
Wat is Asterisk? Software pakket, gebaseerd op GNU/linux
‘Business at the speed of change’
WiFi instellingen woensdag 1 maart 2017.
WIFI IN DE GEZONDHEIDSZORG
Microsoft vs de rest “Wat biedt het Microsoft Cloudplatform en hoe kan dit bijdragen aan veilig, snel en schaalbaar werken binnen elke organisatie.” Thomas.
The Hybrid Workspace Gino van Essen Technical Consultant.
Het postkantoor van windows
3 Hardware 3.1 De processor en intern geheugen
Kluwer The end of Publishing
Onze Opdracht netwerken opzoeken en uit leren wat ze doen en hoe ze werken we moeten ook kijken wat de voordelen en nadelen zijn van deze 3 netwerken  
… een poging tot verheldering …
Michaël Hompus Principal developer,
Besturingssystemen Ga verder met een muisklik..
VIMTAG Keuzehulp voor het vinden van de juiste IP camera.
M5 Datacommunicatie Netwerklaag
Netwerken & Internet 3.
Transcript van de presentatie:

OpenVPN(-NL) Performance Jan Just Keijser 9 November 2017 1

Wie ben ik? Werkzaam in de ICT sinds 1995 Werk bij Nikhef als Grid System Engineer sinds 2005 In 2004 OpenVPN “ontdekt” Sinds die tijd gebruiker en supporter van OpenVPN Auteur van “OpenVPN 2 Cookbook” (2011), “Mastering OpenVPN” (2015, met Eric Crist) en “OpenVPN Cookbook - 2nd Edition” (2017) ICT interesses: open source, netwerken, VPNs, performance, security, openssl, socat 2

Wat heb ik met performance? Experimenten produceren steeds meer data: 20 PB/jr Voor verwerking hebben we 100,000 cores online 100 Gbps netwerken Terabit link tussen Nikhef en Amsterdam Beveiliging is zeer belangrijk: 100k cores zijn erg aantrekkelijk voor hackers Gevaren: DDoS, spam, mining, etc 3

Wat heb ik met performance? 4

Ingrediënten voor een snel VPN Hardware Netwerk Software OS Crypto libraries OpenVPN 2.4+ Configuratie en instellingen Meetmethode 5

Hardware Architectuur: Skylake+ of Ryzen+ Kloksnelheid AES support in CPU, of crypto accelerator Test: openssl speed -evp aes-256-gcm Met AES-NI: 1583037.32k Zonder: 92490.41k (gebruik “OPENSSL_ia32cap=0 openssl ...”) 6

Netwerk OpenVPN kan makkelijk 100+ Mbps aan Met allerlaatste CPUs haalt OpenVPN ~ 1 Gbps Als je niet vastzit aan MTU=1500 dan haalt OpenVPN 2+ Gbps (record: 2.85 Gbps @ MTU=9000) Test altijd eerst de “raw” netwerk snelheid: “raw” iperf: 940 Mbps OpenVPN iperf: 900 Mbps @ MTU=1500 (gebruik “iperf -c … -l 64M -n 2G”) 7

Software: OS Server OS: Linux (of *BSD) Betere “tun” driver Betere netwerk stack Client OS: Linux, Windows, Android (geen idee van MacOS/iOS performance) Embedded devices: Check de kloksnelheid Bedenk dat voor iedere 1 Mbps throughput circa 3 MHz CPU power nodig is Met een 250 MHz MIPS CPU krijg je geen 100+ Mbps VPN 8

Software: crypto libraries OpenSSL versus mbedTLS OpenSSL heeft betere hand-gecodeerde assembly routines voor AES en SHA V1.0.1 speed aes-256-gcm: 1583037.32k V1.1.0 speed aes-256-gcm: 2864162.70k OpenVPN op Gigabit Ethernet: V2.4.4 AES-256-GCM (mbedTLS eist hoofdletters!) OpenSSL iperf : 905 +/- 10 Mbps) MbedTLS iperf : 480 +/- 10 Mbps) 9

Software: OpenVPN V2.4+: Negotiate Cipher Protocol GCM cipher suites → encrypt+hash in 1 stap → snelheid! Met en zonder GCM V2.4.4 “--ncp-disable” (aes-256-cbc) : 650 Mbps Met NCP (aes-256-gcm) : 900 Mbps Vooral belangrijk voor de server Bij meerdere clients wordt de throughput verdeeld 10

Configuratie (1) Proto udp vs tcp Soms is “proto tcp” echt sneller! Dev tun vs tap Bridging = no-no voor performance IPv4 vs IPv6 IPv6 is ca 10% langzamer. (verwacht: max 2%) Tls-auth/tls-crypt: Zou niks uit moeten maken In sommige gevallen zie ik 5% perf drop 11

Configuratie (2) Het illustere kwartet link-mtu tun-mtu fragment mssfix Eigenlijk is alleen “fragment” noodzakelijk Een hogere tun-mtu waarde werkt alleen bij point-to- point links Voor Ethernet netwerken nauwelijks de moeite waard; voor ADSL/kabel en 4G/LTE wel van toepassing 12

Configuratie (3) Dubbele server setup loont 1 server voor LAN clients met standaard instellingen 1 server voor mobiele clients Aparte crypto instellingen --cipher, --auth Aparte MTU instellingen --fragment, --mssfix, --tun-mtu Ook vanuit beveiligingsoogpunt een goed idee (vergelijk met BYOD) 13

Scripts & plugins Server-side script BLOKKEERT alle clients zolang het loopt Gebruik plugins waar mogelijk: die draaien in een aparte thread Two Factor Authentication: rekeying is vaak heel langzaam Ook bij rekeying blokkeert de server Niet echt geschikt voor de server zelf Speel met --reneg-sec en --reneg-bytes 14

Meetmethode “iperf”, “iperf3” & “ping” are your friends “iperf” : throughput “ping” : latency Throughput wordt beter van hogere MTU/fragment waarde Latency wordt beter van lagere MTU waarde Gebruik iperf -c …. -l 4M -n 2G -fk voor consistentere resultaten 15

Test configuratie proto udp port 1194 dev tun server 10.200.0.0 255.255.255.0 ca ca.crt cert server.crt key server.key dh dh1024.pem tls-auth ta.key 0 user nobody group nobody cipher aes-256-cbc auth sha256 16

Windows vs Linux clients Server: Skylake Xeon Gold 5115 @ 3.2 GHz Client: Haswell i7-4810 @ 3.8 GHz Linux client: OpenVPN 2.3: 600 Mbps OpenVPN 2.4: 840 Mbps Windows 7 client, OpenVPN 2.4: Naar client: ~400 Mbps UDP: naar server: 50 Mbps TCP: naar server: 120 Mbps 17

De “tun”/TAP-WIN adapter UDP/TCP encrypted traffic 1 Ethernet OpenVPN 3 2 tun/tap device 18

Het probleem @ Gigahertz+ 19

Toekomst Minder monolithisch ontwerp Betere schaalbaarheid Meer stroomlijnen voor performance En uiteraard: nog snellere CPUs :) 20