SplinePad
Full screen

Server Notice:

hide

Public Pad Latest text of pad freifunk-openvpn Saved Nov 15, 2015

 
TODOs:
 
* Metriken schaffen, die das Problem zeigen
    * Queues der Interface monitoren
        * netstat -nua zeigt ansteigende queue länge
        * siehe auch tc -s qdisc
    * anzahl der verbundenen clients monitoren?
        * in tabelle 104 aka. reverseroutes stehen Routen zu den VPN-Clients
            * Nach dem richtigen Netz greppen und wir haben alle VPN-Clients
* referenzclient pro vpn um latenz/jitter/loss zu ermitteln?
    * aus DC und hinter DSL XXX
 
# Problem definition
Der Datendurchsatz des VPN03-Service ist teilweise zu gering und es kommt zeitweise zu Paketverlust innerhalb der VPN-Verbindungen.
Die Ping-Zeiten sind relativ unterschiedlich (Jitter).
 
# Brain storming
* queuing policy ändern?
* profiling des openvpn prozesses
    * kernel profiling?
* rcv und snd buffer auf 0 reduzieren auf server+client seite
    * Kernel-Default-Buffer ev. anpassen?
* uebergabe kernelspace-userspace beschleunigen mit compile options?
    * Kontext-Switche?
* MSS-Clamping beim NAT auf einen Wert ~1280 DONE?
* OpenVPN mss-fix beim Plastikrouter auf ~1300
* OpenVPN UDP replay window deaktivieren ( --replay-window )
    * ev. nicht ohne weiteres möglich, da bei den Clients aktiv
        * aktiv <-> inaktiv ist inkompatibel?
        * könnte man vielleicht vom Server pushen?!
    * no-replay: vpn unbenutzbar [Bad LZO decompression header byte: 0]
    ** warum haben wir LZO aktiv? 98% des traffics ist HTTP, welches i.d.r. eh schon via mod-deflate komprimiert wird
        ** LZO ist nur für openvpn tcp konfiguration aktiv
    
* ACKs auf den Plastikroutern priorisieren ( siehe http://www.benzedrine.ch/ackpri.html )
*  net.netfilter.nf_conntrack_tcp_timeout_established
    * hoher timeout führt zu vollem conntrack table
* Virtualisierung und iptables saugen süße kleine Hamster durch enge Strohhalme - daran wird sich aber wohl so schnell nichts ändern.
* zu viele Clients pro Server - auch daran wird sich erstmal nicht viel ändern
 
** jemalloc
** aktueller Kernel
** Xen? irqbalance 1.0.6+ und Receive Packet Steering
 
* --fast-io Option, hört sich schon genial an 
    * testweise auf vpn03d aktiviert
* BSD vs Linux
** pfsense BSD basierend schmal lässt sich auch auf z.B. Raspberry Pi betreiben ohne Virtualisierung 
    ** warum pfsense und kein vanilla openbsd? Wir brauchen das fancy webfrontend nicht.
 
** Problem bei RasPi:  CPU und v.a. die besch... Netzkartenanbindung - intern über USB2, was CPU frisst und bei ~25MBit/s dichtmacht (reines IP-Forwarding, noch kein VPN, keine Crypto).
** ALIX Boards mit Intel Atom und 2 Netzwerkkarten http://www.pcengines.ch/alix.htm
   *** ALIX Boards nutzen AMD Geode aus dem jahr 2005/2007 -> sehr alte hardware
** Jetway boards bringen sogenannte Daughter Boards mit womit man seine Netzwerkkarten aufstocken kann auf bis zu 5 2x onBoard 3x extra http://www.jetwaycomputer.com/NF99.html
* SNAT --to-source anstatt kompliziertes HMARKing nutzen
 
# Metrics
 
 
## OpenVPN Konfiguration für Monitoring
 
ping -I <srcip> dst
mtr --address <srcip> dst
 
dev option sollte vpn03{a,b,c,d} sein
remote ebenfalls
 
client
dev vpn03a
dev-type tun
remote vpn03a.berlin.freifunk.net
nobind
persist-key
persist-tun
ca freifunk-ca.crt
cert freifunk-test.crt
key freifunk-test.key
ns-cert-type server
comp-lzo no
cipher none
 
 

This service will soon be decomissioned on 2024-05-22.

Please copy all content you still need to padlite.spline.de.

If you need to archive a large collection of pads (a team), please contact spline@spline.de.