NEWS / BLOG auf DICKE-AERSCHE.DE

UK-Flag Click here to access my english BLOG US-Flag

Anzeige:
blog.dicke-aersche.de in 2D-QR-Barcode T-Shirt Shop von Dicke-Aersche.de blog.dicke-aersche.de in 2D-QR-Barcode



search 2013 adfgs

Bewegung an der Webfront

2011-03-09, 02:01 CEST

Herrje, wo soll man anfangen? Am Besten beim Namen. Die Domain dicke-aersche.de hat nun einen sehr weiten Weg hinter sich. Angefangen hatte es als Gag, dann wurde eine Webseite bei 1&1 daraus und schließlich fand sich das Gesamtkonglomerat auf einem VServer bei vlinux.de wieder. Dann kam auch mail hinzu und sogar ein Blog, diverse Reiseberichte und Remote-Tools, damit man von überall auf der Welt einen sicheren Hafen anfahren kann.

Ich muß dazu sagen, ich war und bin vom Support von vlinux.de vollstens überzeugt. Mitten in der Nacht (Ich glaube es war an einem Dienstag so gegen 3 Uhr früh) Ticket aufgemacht. Knapp eine Stunde später war das Problem gelöst und der Chef persönlich hatte das Ticket geschlossen. Trotzdem gab es einen Haken. Das System alterte und man kann es bis heute nicht ordentlich upgraden. Gerade bei Linux ist das ärgerlich, denn gerade die rolling Updates machen es ja zu einem der sichersten Systeme überhaupt! Darunter lag wohl irgendwas OpenVZ/XEN-mäßiges, welches den Kernel vorgibt und schon gab es massive Probleme mit halbwegs neuen Distributionen.

Ein Umstieg schien nötig. Ich sah mich im Feld um und wollte nach Möglichkeit auch nicht superviel bezahlen. Da fand sich eine Bude namens nbiserv.de. Die hatten ein Interface, mit dem man sich einen Testserver installieren konnte. Das sah brauchbar aus und ich begann, erstmal das Blog dorthin zu transferieren. Das wurde nun ein WordPress-Blog und so versackte die Idee, alles rüberzuholen, ein wenig, da alleine die Umstellung des Blogs massiv Arbeit bedeutete. Denn am Horizont tat sich merkwürdiges auf. Es gibt dort einen Robot, mit dem man seinen VServer neu installieren kann. Mit einem OS seiner Wahl, Dutzende von Distributionen. Aber irgendwie erneuerte sich da auch nichts! Die Falle spielte sich diesmal in der Oberfläche ab. Die hieß vadmin und der Typ, der das entwickelt, hat irgendwie kein Bock mehr, jedenfalls laufen Anfragen in seinem Forum seit Ewigkeiten ins Leere. Ohne vadmin aber wird auch das System-Update nicht angefaßt und es schimmelt einem unterm Hintern weg. Wobei der Support von nbiserv.de nicht ganz so fix war, wie der von vlinux.de, aber bei dem Preis kann man ja auch nicht viel erwarten. Für mich war er voll ausreichend, keine Frage. Schmerzend kam dann hinzu: nbiserv.de tog seine Server um, in ein eigenes RZ. Davor waren sie wohl fremdgehostet. Das war von der Idee her vielversprechend. Aber auch Ralf, der auch händeringend nach einem XEN-Update-Drama nach einem neuen Provider suchte und der es mit nbiserv.de probierte, merkte relativ schnell: die Server scheinen ein wenig zu “zögern”. Oder anders gesagt: die VServer schienen dichter gepackt zu sein, I/O-Wait stieg an. Wir suchten also verzweifelt weiter.

Es kam die Idee auf: Warum nicht einen echten Server teilen und unsere eigene Virtualisierung bauen? Ich mache auf der Arbeit ja eh 90% Virtualisierung, da war genug Knowhow da. XEN fiel aus, wegen der Querelen, die es so mit sich brachte. VMware schien zu teuer, fast nirgends gab es ESX-Server unter 3-stelligen Monatsbeträgen (und oft war eine 2 oder höher ganz vorne!). edv-klein.de hatte ein Angebot für knapp 60 Tacken mit ESXi, aber nachdem die Hotline praktisch keinerlei Hilfen parat hatte (eine völlig überforderte, hilflose Frau sagte, daß ich technische Fragen unbedingt mailen sollte) und auf eine Mail erst eine Woche später geantwortet wurde, dünkte uns: auch hier arbeitet der Chef selbst. Und zwar im Wesentlichen allein. Wir wissen es nicht genau, aber wenn die Vorraussetzungen schon so schwammig daherkommen, will man es dann doch nicht wagen. Also weiter suchen.

Nächster Halt war: Hetzner.de. Hier gab es tatsächlich einen ESXi und es sah auch zuerst nach nur 50 Ocken aus. Aber von wegen, für ESXi muß die Netzwerkkarte getauscht werden und man muß das Flexi-Pack mitbuchen, also wieder bei 65/Monat. Ging das nicht günstiger? Strato war uns zu teuer, aber Server4You.de hatte noch ein günstiges Angebot. Da warnten viele vor, aber im Großen und Ganzen sind es oft keine brachialen Probleme gewesen. Man muß ein paar Dinge hinnehmen, wenn man billich kauft, so ist das nunmal. Dumm war nur: Server4You hatte kein ESXi im Angebot. Fridtjof verwies mich nach einem längeren Email-Austausch auf KVM. Hm, das hatte ich seit Ewigkeiten nicht mehr angefaßt, knapp ein halbes Jahr oder sogar länger. Es war damals instabil, die Virtualisierungs-Oberfläche war schlecht und stürzte ab undundund. Wir testeten es auf unserer VMware-Farm, wo aber die CPU-Flags in der VM fehlen, die greift ja schon der ESX ab. Damit waren wir auf QEMU-Niveau, ca. 40 mal langsamer als ein KVM-Test auf nackter Hardware. Auf echtem Blech sah das also aber schonmal gut aus, auch der virt-manager war stabil, hatte ssh-Tunneling eingebaut uvm. Ich probierte einige Dinge aus und wir entschieden uns für Server4You. Zur Sicherheit rief ich dort an. “Aber Nein!”, sagte der Mann an der Hotline. “Wir werden alles dran setzen, damit Sie nicht virtualisieren können!” Dafür sind die günstigen Server nicht gedacht, dafür müsse man teure mieten. Und so wäre das ja Selbstkannibalisierung, da könnte ja VServer-Wiederverkäufer zuschlagen. Was wir zwar nicht sind, aber naja… *Seufz*

Jetzt blieb nur noch Hetzner ohne Flexi-Pack. Nicht ganz so viel Inhalt für den gleichen Preis wie Server4You, aber nach einem Anruf bei der Hotline (die war wohl besetzt und ich wurde an ‘nen Techniker weitergeleitet, der mir versicherte: alles kein Problem, sogar Wiederverkäufer nehmen sie) kam der Startschuß. Die erste Kröte war: Einrichtungsgebühr. Hetzner sind die einzigen, die 149 Euro verlangen, alle anderen werfen Kunden-Köder für lau aus. Wahrscheinlich weiß Hetzner, daß sie gut im Rennen liegen, was das Preis/Leistungsverhältnis betrifft. Ich bekam jedenfalls den Zugang. 2 weitere IP-Adressen für die KVMs mußte ich noch bestellen, das war nicht einfach im Robot zu finden. IPv6 gab es für lau, zumindest einen /64-Block. Hui, IPv4 kriege ich nur 3, aber IPv6 gleich 18 Trillionen! Naja, das Problem der IPv6-Verschwendung hatte ich ja schonmal aufgezählt… Das alles ging übrigens sehr fix, eine halbe Stunde nach Bestellung war alles da!

Jetzt kam die Odyssee, die KVMs einzurichten. Das ging eigentlich recht flott von der Hand, ich mußte nur eine aufsetzen und die dann für Ralf klonen. Nun das Netz anbinden und da kam das erste richtig böse technische Problem: Hetzner macht eine Mac-Adress-Überprüfung auf dem Switch, an dem die Netzwerkkarte des Servers hängt. D.h., vergebe ich die echten IPs an die VMs, kommt keine von beiden durch, sie werden am Switch verworfen, da ihre Mac-Adressen nicht zugelassen sind. Mit Flexi-Pack könnte man Mac-Adressen zusätzlich anbinden lassen. Das würde aber wieder teurer…*grummel*

Wir entschieden uns also zuerst für die Variante SNAT/DNAT. Mit dieser Variante werden alle 3 IPv4-Adressen an die Netzwerkkarte gehängt. KVM liefert einem eine Software-Bridge mit, mit der man die VMs dann an der Innenseite ankoppeln kann, das ist dann ein private network, nämlich 192.168.x.x.

Das Ganze sieht dann so aus:

Host-System:

eth0 = 1. RealIPv4
eth0:0 = 2. RealIPv4
eth0:1 = 3. RealIPv4
virbr0 = 192.168.1.1

Die Gäste sehen dann so aus:

Gast1: eth0 = 192.168.1.2
Gast2: eth0 = 191.268.1.3

Nun kommt iptables ins Spiel:

iptables -t nat -A PREROUTING -d RealIPv4-2/32 -i eth0 -j DNAT –to-destination 192.168.1.2
iptables -t nat -A PREROUTING -d RealIPv4-3/32 -i eth0 -j DNAT –to-destination 192.168.1.3
iptables -t nat -A POSTROUTING -s 192.168.1.2/32 -o eth0 -j SNAT –to-source RealIPv4-2/32
iptables -t nat -A POSTROUTING -s 192.168.1.3/32 -o eth0 -j SNAT –to-source RealIPv4-3/32

Haken: So hat man keinerlei Chance, IPv6 an den Start zu bringen! Denn IPv6 kennt kein NAT mehr! Also mußte die Lösung geändert werden, die KVM-Maschinen mußten die echten IPs direkt bekommen! Nur: wie? Es gab Hinweise auf pointopoint-Routing. Damit würde man zumindest IPv4 halbwegs so konform machen, daß DNAT/SNAT wegfällt und dann kriegt man vielleicht auch IPv6 hingebogen? Die Threads, die ich so fand, gerade auch beim Hetzner-Wiki (übrigens hervorragend, die haben MASSIG Dokumente und Informationen!), halfen mir nicht wirklich weiter. Zumindest bei diesem Problem. Hier erläuterten sie zwar ganz gut, wie man das ungefähr machen müßte, aber es fehlte immer wieder etwas. Der erste halbwegs brauchbare Hinweis fand sich hier. Ich hatte auch mit dem fraglichen Herrn noch ein bißchen Mail-Austausch, aber die Idee, die er vorschlug, es mit zusätzlichen Mac-Adressen zu versuchen, scheiterte am Flexi-Pack.
Was aber bei dem Hetzner-Server überhaupt nicht ging, war, das Interface durch eine Bridge zu ersetzen. Danach kam ssh nicht mehr hoch, obwohl die Adresse pingbar war. Insofern scheiterte das Ganze schon am Anfang. Aber die Idee mit dem pointopoint klang gut und so fand ich doch noch, was ich brauchte, nämlich diesen Eintrag aus dem Hetzner-Wiki! Es war zwar immer noch ein bißchen schwierig, aber so ging es dann tatsächlich:

Host, /etc/network/interfaces:

auto eth0
iface eth0 inet static
address RealIPv4-1
netmask 255.255.255.255
gateway Hetzner-GW
pointopoint Hetzner-GW

auto bridgevm1
iface bridgevm1 inet static
address 192.168.1.1
netmask 255.255.255.0
pre-up brctl addbr $IFACE
post-up route add -host RealIPv4-2 $IFACE
post-down brctl delbr $IFACE

auto bridgevm2
iface bridgevm2 inet static
address 192.168.2.1
netmask 255.255.255.0
pre-up brctl addbr $IFACE
post-up route add -host RealIPv4-3 $IFACE
post-down brctl delbr $IFACE

Guest, /etc/network/interfaces:

auto eth0
iface eth0 inet static
address RealIPv4-2
netmask 255.255.255.255
gateway RealIPv4-1 (Host!)
pointopoint RealIPv4-1 (Host!)

Analog die 2. VM. Es ist also im Grunde so, daß der Host eine pointopoint-Route zum Hetzner-Gateway hat und die einzelnen VMs mittels Software-Bridge im Host ebenfalls eine pointopoint-Route zum Host haben. Durch das Routing tauchen keinerlei falsche Mac-Adressen am Netzwerk-Port des Rechners auf und man kommt problemlos zu den VMs durch. Die private IPs, die die internen Bridges im Host haben, fallen nicht ins Gewicht, sie sind lediglich Mittel zum Zweck. Es ist mir noch nichtmal klar, ob man die nicht sogar weglassen könnte. Egal, so funktioniert es jedenfalls.

Nun noch IPv6, da wurde es richtig haarig. Also, die IP an das Außeninterface zu flanschen, war noch simpel:

ifconfig eth0 inet6 add Host-IPv6/64
ip route add Hetzner-IPv6-GW dev eth0
ip route add default via Hetzner-IPv6-GW

Schon ist das Ding pingbar! Aber jetzt die VMs, und nun wird’s haarig! Hier stehen unten im Dokument die Hinweise, was nötig ist. Man “versteckt” quasi das gesamte IPv6-Subnetz mittels Proxy-Neighbouring hinter der ersten Netzwerkkarte, angefangen bei den Software-Bridges:

Host:

ifconfig bridgevm1 inet6 add bridgevm1-IPv6/64
ip route add KVM1-IPv6 dev bridgevm1
ip -6 neigh add proxy KVM1-IPv6 dev eth0

Analog zu weiteren KVMs: Bridge eine IPv6 verpassen, dann eine Route der VM hinter der Bridge verpassen und die VM als neighbour vom eth0 proxytechnisch durchleiten. Und siehe da: es klappt!

Wenn das jetzt zu verworren aussieht: ja das ist es auch! Ich bin immer noch im Lernprozeß und dieses “neighbour proxy” sieht ein bißchen aus wie handgestrickte ARP-Tables (IPv6 kennt nämlich auch kein ARP mehr). Als letzten Kick empfehle ich diese Seite rund um ip6tables. Hier wird sehr schön erläutert, warum man Link-Local-Adressen manchmal durch die IPv6-Firewall durchlassen muß, damit überhaupt etwas geht. Puh. Hartes Brot! Aber nun steht einem Umzug nichts mehr im Wege. Mail ist schon auf dem neuen Server und der Rest wird demnächst folgen. Erstmal werde ich wohl meinen VServer bei vlinux.de auflösen, der ist am ältesten und der Umzug am Leichtesten. Und danach nbiserv. Alles in allem aber HÖCHST INTERESSANT! IPv6 rulez!

BTW, noch (Stand 09.03.2011) ist das Blog übrigens auf nbiserv.de…

Ein Kommentar zum Artikel “Bewegung an der Webfront”

  1. erwin janot

    hallo udo, ich habe zwar fast gar nichts von dem verstanden, aber ich bewundere (kenn ich gar nicht anders von dir) immer wieder deine begeisterung,deinen ergeiz, deinen fleiß und deine ausdauer und und und …. übrigens das sind keine lobenshymnen sondern tatsachen! auch wenn mein kommentar nicht sachdienlich ist muß es mal gesagt werden. gruß auch an simone und ralf

Kommentar schreiben


5 × sechs =

Kategorien

Archiv

Juni 2017
M D M D F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
2627282930  
-->


Blog-Seiten aufgerufen seit 9. Januar 2006:
digit digit digit digit digit digit digit digit
  Impressum