[Berlin-wireless] Faustus' Gateway

Sven-Ola Tuecke sven-ola
Di Apr 22 06:21:32 CEST 2014


Moins,

ja - für das Host-Route-auf-Server-setzen hab' ich jetzt auch nix
raffinierteres in Petto. Statische Routen und statische
Iptables-Einträge sind jetzt auch nicht soo sauber, insbesondere weil ja
im konkreten Fall die IP-Adresse über DHCP konfiguriert wird: das
failed, sobald du mal testweise den Ethstöpsel des Atom-Rechners mal an
ein anderes GW steckst. Für die Router hab' ich diesen Kram daher in das
DHCP-Startscript eingebaut, sieht ein bissi wüst aus funktioniert aber
in der Praxis ganz gut (siehe Anhang).

Wegens des OpenVpn-Durchsatzes. Ja - ist bekannt. Sozusagen ein
eingebautes Tempolimit. Eigentlich ganz gut: verhindert, dass ein
einzelner Tunnel die Gesamtbandbreite belegen kann. Liegt IMO am
Umherschaufeln der Netzdaten zwischen Userspace und Kernelspace. Der
Vpn03 läuft aus dem Grund ja ohne Crypto, weil der einzige Zweck ist ja
eine andere Source-IP an den ausgehenden Traffic dranzukleben. Ich hab
daher seinerzeit beim Wechsel von Slovenien nach Berlin überlegt (und
ein bissi mit 'rumgespielt) das auf IP-GRE oder IPSec-mit-Racoon
aufzubauen. Und es dann gelassen im Interesse eines einigermaßen
wartungsarmen und stabilen Dienstes.

Das Problem mit IP-GRE (oder IPIP - aber das ist Linux-only): es braucht
einen Routing-Damon auf dem Tunnelserver für die Rückrouten. Das macht
meiner Einschätzung nach Pflegeaufwand, etwa "heute schon das neue
Babel-mit-dem-Memleak-fix eingespielt?". Es gibt in OpenVpn nun mal
dieses Client-Conntrack für den Zweck und das läuft ganz gut - hatte ich
als Erfahrung aus Slovenien übernommen. Es gibt zwar so ein
Conntrack-Addon-im-Userspace, irgensoein Perl-Dings, aber damals wollte
ich halt fertig werden. Das Problem mit IPSec: zu kompliziert, die
Implementationen sind z.T. nicht kompatibel und die diversen
aufeinandergestapelten Techniken sehen auch nicht so aus als ob es am
Ende flotter als OpenVpn ist. FastD war noch ein Kandidat, aber ich
hatte jetzt nicht den Eindruck, das das prinzipell was anderes macht
(ebenfalls User-to-Kernel-Schaufelei). Vielleicht kann man bei OpenVpn
sogar noch etwas 'rausholen mit QoS, einem ernsthaften Profiling und
ggf. mit Spielereien an den MTUs / PMTU / Packet-Aggregation -> wäre
Spielkram und kommt mir darum nicht ungetestet auf den Tunnelserver.

Wenn du da ein wenig 'rumspielen willst, mach' es am besten *nicht* mit
der jetzt einigermaßen laufenden Produktivsystem-Kette. An deinen GW
hängen jetzt schon recht viele Leute und wir haben derzeit nicht so sehr
ein Durchsatzproblem sondern ein Dienstqualtiätsproblem. Will heissen:
lass' es laufen, ich hab' sonst kein Netz und kann nicht antworten ;-)
Zum Spielen gibt es entweder eine VM auf dem IN-Berlin-Server (z.B. die
von Ulf wird hoffentlich demnäx frei) oder ich geb' dir'n Account auf
vpn03-backup für den Zweck. Außerdem werden wir tendenziell und auf
Dauer doch sicher lieber das Angebot annehmen, unseren Verkehr ganz ohne
Tunnelitits direkt in einer Glasfaser zu versenken: dann stellt sich das
Durchsatzproblem sicher anders dar...

P.S.: war zwar private Kommunikation, ich hiev' es aber mal
unverschlüssel auf unsere Mailingliste als FYI für die anderen.

Gruß // Sven-Ola

Am 21.04.2014 18:13, schrieb Faustus Kuehnel:
> Ahoi! Danke Dir für die Info - hatte mich gestern schon gewundert
> wann ich etckeeper auf dem Host installiert habe :-P.
>
> Bzgl. den statischen Routen wollte ich dich eh noch fragen... die
> OpenVPNler weigern sich wohl immer noch ein --pre-up einzubauen,
> daher setze ich die nun via network/interfaces. Ich nehme aber
> mal an (nicht getestet) dass OpenVPN wegen --redirect-gateway die
> wohl nach nem reconnect mitnimmt. Wenn er anschließend mit
> vpn03-backup verbindet, fehlt also die route zu vpn03. Sollte
> ansich kein Problem darstellen, dennoch eigentlich unschön. Hast
> Du da was schöneres in petto?
>
> Und dann noch ne ganz allgemeine Frage... OpenVPN ist derart
> lahm, also nicht Vpn03, sondern generell. Ich bekomme auch auf
> dicken Servern niemals vollen Durchsatz. Daher mal an dich als
> OpenVPN Experten: Woran liegt das, hat sich die Welt daran
> gewöhnt oder gibt es einen Kniff seine 100 MBit uncrypted ohne
> Monsterhardware durch den Tunnel zu hiefen? ;-)
>
> Derzeit komme ich auf dem Intel Atom Board auf ~20 Mbits, dann
> ist die CPU aber auch am Anschlag. Nico hatte mal vorgeschlagen
> wir könnten einen ipip- oder gre-Tunnel zwischen Vpn03 und
> Finow2A graben - was hältst Du davon?
>
> LG
> Faustus

-------------- nächster Teil --------------
#!/bin/sh
# (c) 2013 by sven-ola

# Sometimes the host route added by OpenVPN simply
# vanishes, e.g. if there is more than one DHCP server
# and one of them send us NAK during DHCP renew.
# Without a host route, OpenVPN simply freezes.

case ${1} in bound)case $(uci get network.wan.ifname) in ${interface})case ${router} in "");;*)
	for host in $(. /etc/openvpn/vpn03-hosts);do
		name=${host%%,*}
		host=${host#*,}
		ip4=${host%,*}
		ip6=${host#*,}
		case ${ip4} in ''|none);;*)
			ip -4 r del ${ip4}/32 metric 1 2>&- || true
			ip -4 r add ${ip4}/32 via ${router} dev ${interface} metric 1
		;;esac
	done
;;esac;;esac;;esac

exit 0
-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 263 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.berlin.freifunk.net/pipermail/berlin/attachments/20140422/52fd34f8/attachment.pgp>



Mehr Informationen über die Mailingliste Berlin