Schlagwort-Archive: Internet

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:

Neuer GPG-Key

Huch – doch schon wieder so lange her? Durch die ganze Arbeit hier ganz verpeilt, dass mein GPG wieder fällig ist. Ab sofort bin ich mit der der 0x5A43E94F unterwegs, der vorherige (0x908BE3C7) ist bereits ausgelaufen und entsprechend nicht mehr gültig. Der Public-Key ist auf den üblichen Keyservern verfügbar.

Für alle die, die nicht wissen was das bedeutet: GPG ist in diesem Fall ein Verfahren um E-Mails digital zu unterschreiben oder verschlüsseln. Mit hilfe dieser Technik kann man prüfen, ob die Mail wirklich vom angegebenen Anwender stammt und ob sie manipuliert wurde. Bei verschlüsselten Mails ist es zudem für Außenstehende – im Gegensatz zu einer normalen Mail – den Inhalt mitzulesen. Für viele Mailprogramme gibt es entsprechende Erweiterungen, bei Thunderbird z.B. Enigmail.

Paintball-Verbot und 3-Strikes beschlossen

Die Politiker machen mit sinnbefreiten GAGA, GOGO und TRALAFITTI weiter: Bereits gestern wurde die bereits erwartete Verschärfung des Waffenrechts beschlossen. Neben der stärkeren Kortrolle von Waffeninhabern fallen nach dem geplanten Gesetz nun Paintball und ähnliche Spiele unter die Regelung, dass “Spiele, bei denen die Tötung des Gegners simuliert wird” in Zukunft mit Bußgeldern geahndet werden sollen. Schade, zu Wasserpistolen oder gar der Bundeswehr scheinen keine Regelungen geplant zu sein, obwohl beide wohl schlimmer für die Gesellschaft sind: Die Bundeswehr hat echte Waffen und Wasserpistolen werden im Gegensatz zu Paintball-Markern, welche wie auch die Wasserbistolen bei Beschuss üblicherweise nicht zu (ernsthaften) Verletzungen führen, ohne Altersbeschränkung weitergegeben.

Edit: Der Rackblogger bringts auch schön auf den Punkt:

Paintball/Gotcha soll verboten werden, weil es “Kampfhandlungen simuliert”. 14-Jährige dürfen aber weiterhin in Schützenvereinen herumknallen…

Schlimmer trifft es wohl unsere fanzösischen MitEUler: Wohl auch dank der tatkräftigen Lobbyarbeit gewisser Politikerfrauen wurde dort mit 93%iger Mehrheit das umstrittene 3-Strikes-Prinzip verabschiedet. Wer (in Augen der Contentindustrie) illegal Daten tauscht wird nach 3 Verwarnbriefen für bis zu 3 Jahre vom Internet getrennt. An dem Gesetz, welches bei DVD-Verleih eine Handamputation vorsieht wird vermutlich noch gearbeitet.

Thunderbird mit serverseitiger Mailsortierung

Wer viele Mails erhält kommt früher oder später an Filtern nicht vorbei. Foren in einen Ordner, MLs zusammenfassen, etc. Stellt sich nur ein Problem: Diese Filter laufen meist im Mail-Client – hat man mehrere Rechner müssen die Regeln immer per Hand oder Script abgeglichen werden. Um dem entgegen zu treten hatte ich meinem Server vor einigen Wochen Sieve beigebracht – eine Sprache um Mails serverseitig zu filtern. Dank etwas gehacktem Webinterface in Routndcube ließ sich der Mailserver auch recht schnell dazu überreden Mails bestimmter Absender in gewisse IMAP-Ordner zu legen. Leider macht Thunderbird das nicht mit: Legt der Mailserver etwas in einen Unterordner taucht die Mail erst auf, wenn man den selbigen öffnet – da werde Mails schnell übersehen. Abhilfe schafft eine Option in Thunderbird:
Bearbeiten -> Einstellungen -> Erweitert -> Allgemein -> Konfiguration bearbeiten
Dort den Wert “mail.check_all_imap_folders_for_new” per Doppelklick auf true ändern. Nun schaut TB bei jedem Empfang in allen Unterordnern und bekommt so auch die sortierten Mails mit.

Hurra, Hurra, Zensursula ist wieder da…

0:1 für Zensursula. Einige große Provider haben nun den deutschen Zensurvertrag unterschieben. Damit ist es nun dem BKA möglich nach Lust und Laune Webseiten für deutsche Kunden zu sperren – naja, ok, selbst meine Schwester würde diese Sperre umgehen können.

Telekom, Vodafone, HanseNet (Alice), Kabel Deutschland und O2 nennen sich die Provider, welche ohne Rechtsgrundlage diese Internetzensur fortan durchführen werden. United Internet (1&1), Versatel und Freenet lehnten ab und erhielen gleich eins mit der Kinderporno-Keule.

Als erste Reaktion hat der FoeBud einen freien DNS-Server eingerichtet, welcher die Filterlisten nicht umsetzt. Ich möchte auch nochmal drauf hinweisen, dass es sehr viele DNS-Server gibt, welche nicht den betroffenen ISP gehören.

Die Diskussion, dass diese ganze Maßnahme im Bezug auf die Bekämpfung von Kinderpornografie einem wegschauen gleicht und selbst Missbrauchsopfer das Vorhaben stark kritisieren dürfte schon genug durch die Presse gegangen sein, daher schließe ich mich dem einfach an und oute mich selbst als

juristisch ohne Sinn und Verstand und moralisch verkommen

(Uhl @ abgeordnetenwatch)

Und bitte denkt dran: Wenn euch Jemand nach dem Weg zur Bank fragt antwortet nicht – ihr könntet Beihilfe leisten, wie die Jungs von PirateBay (laut Tagesschau die Lobby der Piratenpartei), die je 1 Jahr Gefängnis und ein paar Millionen zahlen sollen.

T-Online und die Sache mit dem DNS…

Ach ja, warum können die großen ISPs nicht einfach mal die Protokolle in Ruhe lassen. Nein, als wären die nervigen 24h-Trennungen nicht schon genug muss nun auch auch T-Online einen auf “wir helfen doch nur” machen. Führt man eine DNS-Abfrage auf eine nichtexistente Domain durch erhält man nun dennoch 2 Server zurück:

;; QUESTION SECTION:
;t-online-stinkt.de. IN A

;; ANSWER SECTION:
t-online-stinkt.de. 0 IN A 80.156.86.78
t-online-stinkt.de. 0 IN A 62.157.140.133

Beide Server gehören der T-Online International AG und bieten exakt einen offenen Port: HTTP. Was sich dahinter verbirgt kann sich jeder Denken: Eine “T-Online Navigationshilfe” getaufte Seite um über Google Yahoo Geld zu schäffeln – pardon, dem Kunden bei Tippfehlern zu helfen.
T-Online Navigationshilfe

Das man damit eventuell Systeme beim Kunden wie z.B. Tipphilfen des Browsers, DNS-Monitoring oder ähnliches lahmlegt ist ja egal – damit verdient man schließlich kein Geld. Bleibt nur einen nicht betroffenen DNS-Server zu nutzen und/oder es mir gleich zu tun, ich habe soeben entsprechende Anfragen an andere Anbieter rausgeschickt und werde wenn möglich meinen Internetanschluss noch vor meinem Ring-Urlaub umstellen.

Update: Wie Max bemerkte sind nur links mit www. betroffen, ich habe festgestellt, dass wohl auch Domains mit ungültiger TLD abgefangen werden.
Auf der Suchseite befindet sich ein Link zum “Kundencenter”, in dem man den ganzen Blödsinn abschalten kann – naja, könnte, wenn man erst mal die Zugangsdaten findet und einen funktionierenden Browser findet. Das ganze wird laut Interface nach einer neuen Einwahl geändert – abwarten…

Ebay macht sich unbeliebt – Teil … uhm ja

Ach ja, wie liebe ich doch eBay… Folgendes meint deren Mailsystem zu meiner GPG-Signatur (ja, Singnatur, nicht Verschlüsselung):

Aufgrund von Sicherheitsbedenken hat eBay Ihre letzte E-Mail an *** nicht gesendet.

Wir haben diese Nachricht gesperrt, weil sie verschlüsselt gesendet wurde. Wir lassen verschlüsselte E-Mail-Nachrichten nicht zu, um unsere Mitglieder besser vor Identitätsdiebstahl und unerwünschten E-Mails schützen zu können.

Bitte senden Sie Ihre Nachricht noch einmal ohne Verschlüsselung.

Vielen Dank für Ihr Verständnis. Durch Ihre Unterstützung tragen Sie dazu bei, dass eBay auch in Zukunft eine sichere Plattform für seine Mitglieder bleibt.

Wie meinen? Schutz vor Identitätsdiebstahl durch Verbot von digitalen Unterschriften?! Und seit wann ist eine Signatur eine Verschlüsselung?

Ich habe mal eine Anfrage an eBay gestellt, was an der Signatur so gefährlich wäre. Ich hoffe zwar auf eine sinnvolle Antwort, aber nach meiner Erfahrung wird sich Morgen ein C&P-Textblock in meiner Inbox befinden…

—UPDATE 22.12.2008—

[…]
Ich habe Ihren Hinweis an die zuständige Abteilung weitergeleitet.
Warum die Weiterleitung der Nachrichten mit digitaler Signatur derzeit
nicht funktioniert, ist mir leider nicht bekannt.

Wir freuen uns immer über Feedback unserer Mitglieder und möchten, dass
alle an diesem einzigartigen Marktplatz mit bauen. eBay verändert sich
ständig. Daher freut es uns, wenn wir von unseren Mitgliedern Hinweise
erhalten.
[…]

Telekomiker…

Ach ja, ich liebe den rosa Riesen… Da wundert man sich tagelang über niedrigen Datendurchsatz, schaltet Backuproutinen temporär ab, konfiguriert den Router zig mal neu und was ist? Der Port des DSLAM war offenbar gestört. Narf…

Also nicht wundern, wenn jetzt etwas mehr Mails rausgehen und Blogeinträge auftauchen: Ich arbeite grade die ganzen Sachen ab, die durch die mangelnde Nutzbarkeit meiner Leitung liegengeblieben sind…