Portál AbcLinuxu, 6. května 2025 16:47
ii openvpn 2.5.2-buster0 amd64 virtual private network daemon# server
mode server tls-server local 192.168.81.11 port 1195 proto udp dev tap0 script-security 2 up "/etc/openvpn/server/up.sh vzbr1 tap0 1500" down "/etc/openvpn/server/down.sh vzbr1 tap0" persist-key persist-tun ca /etc/openvpn/server/ca.crt cert /etc/openvpn/server/server.crt key /etc/openvpn/server/server.key dh /etc/openvpn/server/dh.pem tls-auth /etc/openvpn/server/ta.key 0 ncp-disable cipher AES-128-GCM compress passtos sndbuf 393216 rcvbuf 393216 push "sndbuf 393216" push "rcvbuf 393216" push "dhcp-option DNS 192.168.1.10" push "dhcp-option DOMAIN ad.local" max-clients 10 keepalive 10 120 log /var/log/openvpn/openvpn.log status /var/log/openvpn/openvpn-status.log log-append /var/log/openvpn/openvpn-append.log user nobody group nogroup verb 3# client
client dev tap remote vpn.domain.com 1195 script-security 2 up "/etc/openvpn/client/up.sh br0 tap0 1500" down "/etc/openvpn/client/down.sh br0 tap0" ca /etc/openvpn/client/ca.crt cert /etc/openvpn/client/client.crt key /etc/openvpn/client/client.key tls-auth /etc/openvpn/client/ta.key 1 ncp-disable cipher AES-128-GCM compress passtos persist-key persist-tun nobind resolv-retry infinite log /var/log/openvpn/openvpn.log status /var/log/openvpn/openvpn-status.log log-append /var/log/openvpn/openvpn-append.log verb 3
allow-compression noKazdopadne, este sa to da poladit. Ked pridem z prace vecer, tak este napisem.
cat /proc/cpuinfo | grep -i aes | wc -l
? Nastavoval si nejake specialne parametre v sysctl pre handling udp alebo siete vseobecne? Je zapnute irqbalance? Mozes nastavovat firewall na tych strojoch?
např. Thr 1950X (vytížení 1 core) bez AES-NI OPENSSL_ia32cap="~0x200000200000000" openssl speed -evp aes-128-gcm type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-gcm 103661.29k 126222.81k 296790.56k 325125.12k 335708.16k 336226.99k s AES-NI openssl speed -evp aes-128-gcm type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-gcm 582057.63k 1217929.18k 2609638.31k 3913618.77k 4585630.38k 4680728.58k
sndbuf 524288 rcvbuf 524288 push "sndbuf 524288" push "rcvbuf 524288"Tiez by som zvysil
txqueuelength
na aspon 2000. Testy ukazali zvysenie rychlosti az do hodnoty 8000. Standardna hodnota by mala byt 1000, avsak ta zalezi od verzie kernelu (starsie kernely mali 100, novsie maju 1000).
txqueuelen 2000Dalsi zaujimavy prepinac je
fast-io
ktory by mal optimalizovat event-loop preskocenim poll/epoll/select volani pred zapisovanim.
Je tls-server
spravne nakonfigurovany? Elipticke krivky by mali byt rychlejsie.
# TLS 1.3 encryption tls-ciphersuites TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256 # TLS 1.2 encryption tls-cipher TLS-ECDHE-ECDSA-WITH-CHACHA20-POLY1305-SHA256:TLS-ECDHE-RSA-WITH-CHACHA20-POLY1305-SHA256:TLS-ECDHE-ECDSA-WITH-AES-128-GCM-SHA256:TLS-ECDHE-RSA-WITH-AES-128-GCM-SHA256 dh none #ECDHE ecdh-curve secp384r1Ak je to mozne, skus uplne vypnut TLS a docasne pouzit len staticky kluc. Podla toho budes vediet ci je bottleneck OpenSSL/mbedTLS alebo nieco ine. MTU nadefinovane na oboch stranach rovnako by tiez mohlo pomoct,
openvpn
ma argument --mtu-test
ktory vie otestovat MTU. Vacsinou je to niekde medzi 1300-1500. Tuto hodnotu potom nastav cez link_mtu
:
link_mtu 1500Ak je to mozne, skompiluj OpenVPN priamo pre ten CPU na servery. Mozno z toho dokazes vycucnut par percent navyse cez vektorove instruckcie (SSE3). Ten procak je prilis stary na to aby mal AES instrukcie, AVX alebo dokonca aj HyperThreading. Takze ten spomaleny prenos moze byt sposobeny aj zastaralym CPU.
Protokol pro VPN se jmenuje IPSec. Software pro výměnu klíčů se jmenuje (například) StrongSwan.
Boj se zouvalou jednovlákonvou dětskou hračkou OpenVPN, která má omylem v názvu VPN, je od začátku nesmysl.
Dnešní procesory mají výkon takový, že dají na jednom vláknu gigabit a více.
Ano? Opravdu? Takže mých obvyklých 40 Gb/s na CAT 8.1 dá taky jenom jeden procesor?
Ale hovno, vole.
Open„VPN“ nebrat. Není to VPN. Howgh.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.