Alle Beiträge von adlerweb

[Fotos] CeBIT 2011 – Technik, Spielzeug und eine schlecht gelaunte Kanzlerin

Das meiste zur CeBIT ist in den diversen Messe-Specials ja zur Genüge zu lesen, daher Beschränke ich mich auf ein paar Bilder, die neben dem Prospektesammeln entstanden sind. [Gallery]

2GB-Files ext4,xfs,btrfs Benchmark

Da ich derzeit meinen Server aufrüste stellt sich unter anderem die Frage nach dem Dateisystem. Für Root & Homes habe ich bereits auf anderen Systemen ext4 seit längerem im Einsatz, für meine Video-Partition war ich aber nicht ganz sicher. Auf dieser liegen Rohdaten z.B. meines Podcasts oder von Konvertieren von VHS etc, also viele große Dateien. Bisher durfte sich xfs um die Dateien kümmern, mit ext4 soll aber nun xfs Konkurrenz bekommen haben. Da die meisten Tests recht allgemein gehalten waren musste ein eigenes Script ran. Zusätzlich zu xfs und ext4 habe ich noch ext4 mit aktivem „nobarrier“ sowie btrfs getestet. System ist ein AMD Opteron 2358 (Quad 2,4GHz) mit 4GB RAM, Storage ein 3-Disk RAID5 mit ~235MB/s Durchsatz bei hdparm -t.

I/O-Performance

Erst ein Blick auf lesen, schreiben, simultanen Lese-/Schreibzugriffen und löschen. Datenquelle fürs schreiben war ein tmpfs, lesen ging auf /dev/null:

write read rw del
ext4 84,4 114,0 49,3 1.941,5
ext4nb 83,1 197,0 29,9 10.077,5
xfs 54,6 207,0 29,9 109.462,1
btrfs 86,0 200,0 51,9 2.006,6

Wie man sieht hat bei Schreibzugriffen btrfs die virtuelle Nase knapp vor den ext4-Varianten, xfs ist gut ein Fünftel langsamer. Wenns ums Lesen geht kann xfs deutlich punkten, auch wenn btrfs hier knapp dran ist. Der Ausrutscher von ext4 mit Barriers mach für mich zwar keinen Sinn, war aber reproduzierbar. Bei parallelen Zugriffen spielt btrfs wieder sein Asse aus, ext4 mit Barriers ist aber knapp dahinter. Xfs leidet hier unter der schlechten Schreibperformance, Ext4nb – tja, gute Frage… Beim Löschen zahlt sich das XFS-Design wieder aus: Löschen geht fast zehn mal schneller als bei ext4nb – mit Barriers macht ext4 jedoch eine eben so schlechte Figur wie btrfs.

Schaut man nur auf die (theoretischen) Zahlen zeigt sich btrfs schon jetzt als klarer Sieger, jedoch ist es noch in der Entwicklungsphase und kann entsprechend zu Stabilitätsproblemen führen. XFS hält sich bei großen Dateien noch knapp vor EXT4 ohne Barriers, mit Barriers ist die (hier) mangelhafte Lesegeschwindigkeit nicht entschuldbar.

Praxis
Da ich noch ein paar Sachen zu schneiden Habe einfach mal ein Praxistest: Jedes Dateisystem bekommt eine Rohdatei (2GB +/- paar MB) von einem tmpfs drauf kopiert, diese wird erst geprüft (md5sum) in ein anderes Containerformat konvertiert, danach wird von der neu erstellten Datei erneut eine MD5-Summer erstellt, im Anschluss greift eine vorbereitete Schnittliste und speichert eine geschnittene Version. Zum Abschluss wird die Quell- und Zwischendatei gelöscht. Alles nahezu reine I/O-Operationen, da nichts umcodiert werden muss.

ext4nb

xfs

btrfs

ext4

Dateisystem Zeit in Sec.
171
174
187
199

Wie man sieht kann btrfs seinen theoretisch deutlichen Vorsprung nicht halten und fällt auf Platz 3 – hier fehlen wohl noch die nötigen Optimierungen um in der Praxis die guten I/O-Werte auszuspielen. ext4nb schafft es auf den ersten Platz, dicht gefolgt von xfs. Ext4 mit aktiven Barriers, welche auf druck der Community nun Standard sind, liegt auch in diesem Test abgeschlagen auf dem letzten Platz.

Fazit
Wenn es um große Dateien geht sind ext4 ohne Barriers und XFS nahezu gleich auf. XFS ist jedoch fast 14 Jahre älter und ist daher als stabiler anzusehen, zumdem nutzt es vorhandenen Speicherplatz besser aus. Die technischen Grenzen der Dateisysteme sind für aktuelle Rechner eher uninteressant, jedoch unterstützt nur ext4 das nachträgliche verkleinern einer Partition.

Ich für meinen Teil werde für große Dateien damit bei XFS bleiben.

Pille Palle Pumm – Wer Paypal fragt bleibt dumm

Und auf gehts zu einem kleinen Tauchgang in die Abgründe des Paypal-Supports. Vorausgegangen war eine Differenz mit einem Käufer, welcher ohne den Abschluss einer Sendungsverfolgung abzuwarten Geld über PayPal zurückgebucht hatte (obwohl er eigentlich das Versandrisiko tragen müsste, da er explizit unversicherten Versand gewählt hatte). Im Endeffekt wäre die Sache für mich wegen des kleinen Betrags gegessen gewesen: Ich hätte wie schon die letzten 5 Jahre Paypal nur zum Einkauf benutzt und nach diesem missglückten Versuch zu meiner eigenen Sicherheit nicht mehr als Zahlungsmethode bei eBay angeboten. Die Rechnung habe ich aber ohne Paypal gemacht: Diese berechneten kurzerhand ein paar Cent Bearbeitungsgebühr und violá: Mein Konto, welches normal konstant bei 0EUR ist (nach einem Einkauf leitet Paypal automatisch eine Lastschrift (ELV) ein und gleicht das Konto aus), befindet sich nun im Minus. Keine weiteren Einkäufe möglich. Natürlich wollte ich das Konto schnell wieder ausgleichen, der zugehörige Button zeigt dabei aber nur eine einzige Zahloption: Manuelle Banküberweisung. Diese Methode verursacht bei mir immer wieder einen Würgereitz, denn meine Banken haben einerseits etwas seltsame Sicherheitsvorstellungen welche Onlinebanking nahezu unmöglich machen – andererseits haben die Fillialen geschlossen, wenn ich Feierabend habe. Für mich keine Chance eine Überweisung zeitnah durchzuführen.

Erster Gedanke? Warum nur diese Zahlungsmethode – sonst steht doch eine ganze Batterie zur Verfügung? Lastschrift, Kreditkarten, Giropay, etc. Es folgte ein Schriftverkehr mit dem Paypal-Support, welcher es stilgerecht schaffte mir unzusammenhängende und falsche Textblöcke per Mail zu liefern – immerhin grob Themenbezogen. Meine eigentliche Frage: Warum ist es nicht möglich Paypal-Bearbeitungsgebühren per ELV zu begleichen. Ich schlüssel hier mal einige schöne Ausschnitte auf:


Die Erste Antwortmail begann mit diesem Abschnitt:

…Nach Durchsicht Ihres PayPal-Kontos konnte ich feststellen, dass Sie am
xx versucht haben, die Summe in Höhe von xx EUR per
Lastschrift zu senden, was Ihnen jedoch nicht gelungen ist…

Dies war gleichzeitig auch der erste WTF-Moment: Diese Zahlung hatte ich in meinem Schreiben nicht erwähnt – warum auch, sie wurde vor dem Problem getätigt und war zum Zeitpunkt der Mail bereits beim Empfänger korrekt angekommen. Auch auf der Paypal-Seite stand alles auf OK und der Betrag wurde bereits von meinem Konto per ELV eingezogen – kein Anzeichen davon, dass hier etwas nicht gelungen sei. Ich wies den Support darauf hin, dass von meiner Seite bei der Zahlung kein Fehler erkennbar wäre und erhielt promt eine Entschuldigung samt Aussagen, welche zeigen, dass man meinen Text offenbar nicht gelesen hatte (Der Bankeinzug war ja bereits laut Bank und Paypal-Seite abgeschlossen):

…Diese wurde dem Empfänger
bereits gutgeschrieben und in den nächsten Tagen werden wir den Betrag
von Ihrem Bankkonto einzuziehen. Es tut mir sehr leid, dass mein Kollege
da etwas verwechselt hat…

Gut, lassen wir das Thema, sinnvolle Antworten sind hier wohl nicht mehr zu erwarten.


Da wir bei diesen Zahlungen in Vorkasse gehen, müssen wir
uns hier absichern und warten bis Ihre Bank den Betrag gutgeschrieben
hat.

Der Satz fällt klar unter die Kategorie „Made my day“ – einerseits wird ELV auch bei positivem Kontostand und ohne offene ELVs nicht zum Aufladen des Kontos angeboten – gerade das war ja mein anlegen. Andererseits ist des doch etwas – öhm – seltsam sich in diesem Fall auf die Absicherung zu berufen. Ein Betrag weniger Cent ist sicher wesentlich Risikoreicher als die Zahlung einige Wochen zuvor, welche mehrere hundert Euro umfasste, ohne Murren von Paypal vorgestreckt, per ELV abgerechnet und ohne Verzögerung durchgeführt wurde.


Es tut uns Leid, jedoch mit besten Willen können wir den Prozess nicht
stoppen, oder anpassen.

Hier hängt es wohl eher an Lesekompetenz und Wollen statt an können – von stoppen war nie die Rede – es war eine einfache Frage – die Begründung, warum ELV nicht möglich ist lässt sich in meinem Augen kaum mit fehlenden Sicherheiten begründen.

Wir gehen davon aus, Herr Knodt, dass bei der nächsten Zahlung ELV
wieder funktioniert.

Wir entschuldigen uns für alle Unannehmlichkeiten die für Sie entstanden
sind –und wir begrüßen sie natürlich sehr als unseren Kunden. Denn durch
unsere Überprüfung machen wir Ihren Einkauf extra sicher.

Korrekt, aber auch nur den Einkauf – lassen wir das…

Am Ende wurde mir dann noch Angeboten den Betrag postalisch zu begleichen – immerhin eine Antwort, welche grob auf meine ursprüngliche Frage passen würde, auch wenn sie nicht weiterhilft. Inzwischen habe ich aufgegeben hier eine sinnvolle Antwort zu erhalten.

Auf in dunkle Zeiten – Softwaregesteuerte Helligkeitskontrolle unter X11

Mein Netbook ist ansich ja ein praktisches Teil: Klein und leicht genug um neben dem Fernsehen ein bisschen rumtippen zu können – leider gibt es einen großen Nachteil, der anscheinend inzwischen bei vielen Geräten modern ist: Selbst auf der niedrigsten Helligkeitsstufe lässt sich mit dem Display das halbe Zimmer beleuchten – an gemütliches Fernsehn ist angesichts dieses Scheinwerfers vor der Nase nicht zu denken. Inzwischen habe ich einen kleinen Workarround gefunden: Mit der Software „xbrightness“ lässt sich die Helligkeit unter X11 auf Softwareebene verringern. Eine solche Softwarelösung führt zwar zu einem gewissen Kontrastverlust, für Web & Code ists jedoch noch erträglich.
Für Archlinux ist das Paket jetzt in AUR.

Marketingtechnische Selbstzerstoerung bei Sagrotan?

Ist es einfach nur zu frueh am Morgen oder leitet nen nach der Deutschen Bahn auch Sagrotan den marketingtechnischen Selbstzerstoerungmodus ein? Die neue Werbung laesst jedenfalls darauf schließen. Fangen wir mal vorne an: Wer die Produktreihe „Sagrotan“ nicht kennt: Es handelt sich um Desinfektionsmittel, zum Teil in Form von Pflege- oder Reinigungsprodukten. In letzter Zeit ist eins der am häufigsten beworbenen Produkte der Sagrotan Fluessigseife. „Beseitigt 99,9% aller Bakterien“ – So verspricht der Hersteller. Heute sah ich dann einen Werbespot fuer neues Zubehoer: Einen elektronischen Seifespender – laut Werbung wuerden sich ja schließlich durch betaetigen des bisherigen manuellen Seifespenders Bakterien am Pumphebel sammeln. Mir stellt sich hier eine Frage: WTF? Ueblicherweise kommen meine Fingerchen unmittelbar nach Kontakt mit dem ach so verseuchtem Pumphebel auch mit dem Desinfektionsmittel in Kontakt, welches die Schaedlinge ja zu 99,9% entfernen soll. Hat da jemand in der Marketingabteilung geschlafen oder doch eher kein vertrauen ins eigene Produkt?

Hochwasser an der Nette

Was weg muss muss weg – die Schneefälle der letzten Wochen schmelzen nun durch die fast schon sommerlichen Temperaturen von zeitweise über 18°C vor sich hin. Was das viele Wasser anrichtet lässt sich in den Nachrichten gut verfolgen: Bisher sind 30 Dörfer an der Mosel überflutet, Koblenz stellt sich kurz vor der Bundesgartenschau auf die schwerste Flut seit 10 Jahren ein. Etwas weiter nördlich haben auch Anlieger der Nette sorgenfalten auf der Stirn: Viele Felder sind bereits geflutet, die ersten Keller laufen voll. Da ich ohnehin in der Ecke unterwegs war gibts nun eine kleine Fotowanderung von Miesenheim nach Plaidt. Vergleicht man es mit dem letzten Hochwasser, was etwa 2002 gewesen sein müsste (zweite Gallerie) ist schnell zu sehen: Der Wasserstand ist dieses mal wesentlich höher. Aufatmen ist trotzdem nicht angesagt: Eine Regenfront ist gerade unterwegs und dürfte der ohnehin empfindlichen Nette weitere Wassermassen zuführen.

3446734629

Ebay-Suchfeld-Rant

Ich hasse eBay. PUNKT. Diesmal ist es nicht die chronische Tab-Allergie, die bei Nutzung von mehr als einem Tab reproduzierbar die Kaufabwicklungen und Sitzungen zerlegt (ebay: Mehrere Tabs nutzt doch keiner) – auch nicht die tollen neuen Listenfunktionen, welche auf Mobilbrowsern nur weiße Seiten bringen – nein, heute ist es das Suchfeld. Ein Suchfeld ist für mich zum suchen da. Ich gebe etwas an und möchte eine Antwort. Da nicht jede Suche in ein Wort passt unterstützen solche Suchfelder üblicherweise eine Syntax – auch Ebay. Mein heutiges Praxisbeispiel lautet: Server. Mein Homeserver ist toll aber alt. Das größte Problem: Keine Hardwarevirtualisierung. Schlecht. Für einen neuen Server ist also das wichtigste Kaufargument bereits gefunden: Hardwarevirtualisierung. Da ich Intel-Fan bin nennt sich das ganze IntelVT. Eine suche nach diesem Wort ergibt exakt 0 Ergebnisse. Offenbar haben Verkäufer nicht die Vermutung, dass jemand daran seine Kaufentscheidung knüpfen könnte und haben diese Angabe in ihren Artikelbeschreibungen nicht erwähnt. Nächster Versuch: Prozessorsuche. Ein Blick in die Wikipedia zeigt, dass für mich die Baureihe der Core-Basierten Xeons interessant wäre. Nun folgt das nächste Problem: Über die eBay-Menüs lässt sich die CPU nur auf „Intel Xenon“ einschränken. Toll – so hießen schon die 400MHz-Modelle die auf dem Pentium 2 basierten. Eine Suche nach der Architektur erübrigt sich auch, denn kaum jemand schreibt die in seinen Artikeltext. Bleibt die offensichtlichste Möglichkeit: Die Modellnummern der CPUs. Die Angabe welche CPU verbaut ist hat fast jeder im Text und dank der Wiki-Liste ist schnell eine passende Suche im eBay-Syntax zusammengehämmert:

Intel (5110,5120,5130,5140,5148,5150,5160,E5310,E5320,E5340,E5335,E5345,X5355,X5365,E5205,E5260,X5270,X5272,E5405,L5410,L5420,L5430,E5410,E5420,E5430,E5440,E5450,X5450,X5460,X5470,E5462,X5472,E5472,X5482,X5492,L7345,E7310,E7320,E7330,E7340,X7350,L7445,L7455,E7420,E7430,E7440,E7450,X7460,3060,3070,3065,3075,3085,3040,3050,X3230,X3210,X3220,E3110,E3120,X3320,X3330,X3350,X3360,X3370)

Fragen? Offenbar, denn eBay hält von meiner suche nicht viel: Leider können nur 100 Zeichen eingegeben werden. Wir haben daher Ihre Suchanfrage gekürzt. Oder auf Deutsch: Über eBay habe ich keine Möglichkeit passende Produkte zu suchen. Bei Google passt die auf deren Syntax modifizierte Suche im übrigen rein und zeigt die gewünschten Produkte.

Also liebes eBay: Räumt die Kategorien auf, macht anständige Systemeigenschaften und gebt mir eine anständige Suche. Und liebe Verkäufer: Bei Artikelbeschreibungen ist weniger nicht immer mehr, hier wartet ein Kunde…

Mal wieder ein neuer Server

Schon ein paar Jahre her, dass der Unterbau meiner Webseite gewechselt hat, also Zeit für etwas Neues: Soeben ist diese Seite als Erste auf meinen neuen Server umgezogen. Neue Hardware und bessere Infrastruktur sollten auch in Zukunft meine inzwischen 15GB umfassende Gallerie sowie den Blog in hervorragender Geschwindigkeit ins Netz befördern können. Auch ein weiterer und von mir lange erwarteter Punkt ist damit endlich erledigt: Meine Seite ist ab sofort vollständig per IPv6 erreichbar – wehe dem, der seinen Router verbastelt hat! SSL funktioniert prinzipiell, aber aus technischen Gründen bekomme ich bisher keine passenden Zertifikate für TLDs ausgespuckt.
Die Umstellung selbst war mit gewisser PITA verbunden, da sich Dateipfade geändert haben und das vor allem mit der (veralteten) Gallerie kollidiert. Nach mehreren tausend Dateien und der Magie von sed & SQL sollte aber inzwischen alles passen. Dann nehmen wir uns doch gleich den nächsten Kandidaten vor…

Fails mit Multi-IP-WAN

Seit einigen Wochen habe ich nun mehrere Internetanschlüsse zuhause: Neben dem von der Telekom etwas vernachlässigtem DSL nenne ich nun einen über 10x schnelleren Zugang über das Kabelnetz mein eigen. Beide treffen auf einem pfSense zusammen, welche sich mit Load-Balancing über beide Leitungen beschäftigt.

Ursprünglich hatte ich an drei Traffic-Klassen gedacht:
High-Prio
Einige Dinge müssen laufen – schnell. Hierzu zählen z.B. Videostreams, Daten von Computerspielen, etc. Diese Daten werden wegen der besseren Bandbreite und Latenz wann immer möglich über das Kabelnetz gesendet. Lediglich bei einem Ausfall des Kabel-Internet werden die Daten per DSL übermittelt. Die Unterscheidung erfolgt bei den meisten Fällen über das Protokoll – RTSP, Gameserver & co lassen ich am Port schnell erkennen. Lediglich einige HTTP-Streams werden über die Ziel-IP zugeordnet, da ich nur wenige dieser Streams verwende hält sich der Aufwand in Grenzen
Downloads
Auch wenn es verlockend ist: Downloads auf der Kabel-Leitung sind keine gute Idee. Einerseits würden diese ggf. High-Prio-Pakete beeinträchtigen, andererseits hat mein Kabel-ISP im Kleingedruckten einige Traffic-Limits stehen, die ich ohnehin ankratzen werde. Entsprechend gehen Downloads wann immer möglich über DSL. FTP wurde komplett zugeordnet, bei HTTP ist das ganze etwas schwerer. Zwar dürfte es möglich zein einen Proxy vorzuschalten, der bei jedem Aufruf per HEAD die Dateigröße überprüft und ggf. umleitet, jedoch ist das mit den Prozessoranforderungen derzeit nicht mit meiner Hardware machbar. Zum Glück kommen die meisten meiner Downloads von den Distributionsservern einiger Linux-Distributionen, welche sich über die IP zuordnen lassen.
Rest
Für alles andere hatte ich Balancing vorgesehen. Die Anfragen werden – sofern beide Leitungen verfügbar – über beide verteilt. Am liebsten wäre es mir, wenn ich noch ein passendes Verhältnis 10:1 festlegen könnte, dies scheint mit pfSense derzeit allerdings noch nicht möglich zu sein, daher ein einfaches Round-Robin.

Was in der Theorie OK aussieht zeigt in der Praxis beim Rest leider ein paar Schwächen – die größte nennt sich HTTP. Das eigentlich ist noch nicht einmal HTTP, sondern eher die Entwickler diverser Webapplikationen. HTTP sendet im Prinzip (keepalive lasse ich mal weg – das hält auch nicht ewig) für jedes Objekt der Webseite und jede neue Seite einen eigenen Aufruf. Da jeder Aufruf auch eine eigene TCP-Verbindung generiert werden die Aufrufe auch über die Internetleitungen verteilt und schlagen daher mit unterschiedlichen IPs beim Anbieter auf. Bis hier ist ebenfalls noch kein Problem: Sitzungsdaten werden üblicherweise über Cookies oder Request-Variabeln zugeordnet. Leider gibt es die Tendenz, dass Web-Entwickler versuchen tolle neue Funktionen zu schaffen ohne sich über Nebenwirkungen Gedanken zu machen. Inzwischen ist es daher in Mode gekommen die Sitzung an eine IP zu binden. Das hat den Vorteil, dass ein Angreifer, welche das identifizierende Cookie oder die Variable in Erfahrung bringt, mehr Aufwand treiben muss um die Sitzung zu übernehmen. Da ich über mehrere IPs eintreffe bedeutet es aber auch, dass ich diese Webseite nicht nutzen kann. Viele Projekte bieten beim Login eine Einstellung um ggf. die IP-Bindung abzuschalten – in den meisten Fällen auf Grund der Tatsache, dass AOL lange zeit alle Kunden über ein solches System mit mehreren IPs abwickelte. Leider haben einige wichtige Dienste wie z.B. meine Bank zwangsweise einen IP-Check – hier kann ich nur per Hand spezielle Regeln erstellen oder über einen Tunnel arbeiten. Hauptsache wir haben was für die „absolute Sicherheit“(tm) getan. Vorallem frage ich mich, was die Dienste machen wenn jemand die IPv6-Privacy-Extensions entdeckt – hierbei geht der Rechner dann absichtlich mit immer wieder wechselnden IPs ins Netz… Sicherheitstechnisch sehe ich jedenfalls keine Notwendigkeit: Wer die möglichkeit hat Cookies abzufangen kann auch die IP des Rechners fälschen oder nutzen…

IPv6: Lets rename NAT?

Hier zu Archivzwecken ein Copy&Paste meines Beitrags aus dem OVH-Forum. Es geht um die Möglichkeit IPv6 in ein lokales Netz weiter zu routen – dürfte sicher in Zukunft für einige interessant werden…

… Ich verwende feste IPv6-Adressen für Host und Gäste, das Routing läuft über den Host (Also nicht die virtuellen MAC-Adressen, die es inzwischen gibt). Für den Host gilt: eth0=OVH-Netz,br0=Netz mit den Gästen. Ich schreibe nur die nötigen Befehle – da die Config je nach Linux-Distri verschieden sind überlasse ich euch das übersetzen selbst (bei mir tuts aus Faulheit die rc.local). Wie man IPv6-Abkürzt (führende 0en weglassen, kürzen per ::) erklärt bei Bedarf google.

Host:
Als erstes benötigt der Host natürlich eine feste Adresse. Hierzu geht ihr in den OVH-Manager und sucht euer IPv6-Subnet (Steht bei Interfaces in der Server-Übersicht). Ich gehe hier von 2001:41D0:F0F0:F0F0::/64 aus. Das bedeutet, dass euch die IPs 2001:41D0:F0F0:F0F0:0000:0000:0000:0001 bis 2001:41D0:F0F0:F0F0:FFFF:FFFF:FFFF:FFFE gehören – genug Platz. Der Einfachheit halber nummeriere ich nur die letzte Zahl durch – ist aber natürlich keine Pflicht.

Als erstes erhält der Host auf beiden(!) Interfaces eine IP:

ifconfig eth0 inet6 add 2001:41D0:F0F0:F0F0::1/64
ifconfig br0 inet6 add 2001:41D0:F0F0:F0F0::99/64

Zudem benötigen wir ein Routing. Teilweise erhält der Server bereits über die IPv6-Autokonfiguration die korrekten Routen von OVH. Dummerweise unterstützen einige Switche bei OVH kein IPv6 und blockieren diese Autokonfiguration, daher funktioniert es nicht bei jeden. Da es nichts schadet die Route fest einzutragen werden wir das tun. Die Router-IP ermittelt sich wie folgt:

OVH-Hilfe
Der Router (Standardgateway) für jede IPv6 befindet sich immer auf IP:v:6:FF:FF:FF:FF:FF

Ein Beispiel:

Die IPv6 des Servers: 2001:41D0:1:46e::/64 wird zu 2001:41D0:1:4 + 5 Mal FF.
IPv6 Gateway: 2001:41D0:1:4FF:FF:FF:FF:FF

Die IPv6 des Servers: 2001:41d0:1:209::/64 wird also zu 2001:41d0:1:2 + 5 Mal FF.
IPv6 Gateway: 2001:41d0:1:2FF:FF:FF:FF:FF

In unserem Beispiel ergibt sich also der Router 2001:41D0:F0F0:F0FF:FF:FF:FF:FF. Die Route setzen wir mit

route -A inet6 add 2000::/3 gw 2001:41D0:F0F0:F0FF:FF:FF:FF:FF

Da wir zudem den Host als Router verwenden wollen benötigen wir Forwarding, das schalten wir mit diesem Befehl ein:

sysctl -w net.ipv6.conf.all.forwarding=1

Um auch zu wissen wo die Gäste hin sollen tragen wir hier entsprechende Routen ein. Ich habe es pro Host gemacht, sollte aber auch blockweise funktionieren:

route -A inet6 add 2001:41D0:F0F0:F0F0::10 dev br0
route -A inet6 add 2001:41D0:F0F0:F0F0::11 dev br0

Zum Schluss folgt dann der IPv6-Fubar, der meine Probleme auslöste: Ich nenns mal das IPv6-NAT. Die komplette Erklärung was und warum das nötig ist („Proxy the neighbors“) habe ich am Ende verlinkt.

sysctl -w net.ipv6.conf.all.proxy_ndp=1
ip -6 neigh add proxy 2001:41D0:F0F0:F0F0::10 dev eth0
ip -6 neigh add proxy 2001:41D0:F0F0:F0F0::11 dev eth0

Wichtig hierbei: Das eth0 ist kein Typo! Die Zeile bedeutet, dass der Host auf dem Interface eth0 bekannt geben soll, dass er für die genannte IP eine passende Route kennt.

Auf dem Gast sind dann nur analog zu oben die IPs einzurichten, die IP des Host-Interface br0 spielt dabei den Router:

ifconfig eth0 inet6 add 2001:41D0:F0F0:F0F0::10/64
route -A inet6 add 2000::/3 gw 2001:41D0:F0F0:F0F0::99

Weitere Ressourcen: