Abo
  • IT-Karriere:

Kernel: Fehler liefert fehlerhafte TCP/IP-Daten an Container aus

Die Auslagerung von Prozessen in verschiedene virtuelle Container von Docker, Kubernetes, Google Container Engine und Mesos führte dazu, dass TCP-Prüfsummen nicht richtig ausgewertet wurden. Twitter-Entwickler entdeckten den Bug, jetzt wird der Linux-Kernel gepatcht.

Artikel veröffentlicht am , Ferdinand Thommes
Kernel-Bug im Netzwerk-Stack geschlossen
Kernel-Bug im Netzwerk-Stack geschlossen (Bild: Flickr/CC-BY 2.0)

Ein Fehler im Kernel führt bei Containern dazu, dass TCP-Prüfsummen nicht ausgewertet werden, wenn sie virtuelle Netzwerkadapter für ihr Netzwerkrouting verwenden. Daraus resultiert, dass Anwendungen aus gänzlich unterschiedlichen Bereichen in bestimmten Situationen fehlerhafte Daten erhalten. Betroffen sind unter anderem Docker, Kubernetes, Google Container Engine und Mesos. Für Docker gilt das nur bei Verwendung von IPv6. Der Fehler existiert seit mindestens drei Jahren, jetzt wurde ein Patch in den Kernel aufgenommen.

Stellenmarkt
  1. Miles & More GmbH, Frankfurt am Main
  2. Stadt Nürtingen, Nürtingen

Der Zusammenhang dieser Dienste mit einem Bug im Kernel wurde im November von Twitter-Entwicklern entdeckt. Sie waren gleichzeitig informiert worden, dass von ihnen betreute Applikationen Fehler meldeten, die eigentlich nicht möglich waren. Strings enthielten Zeichen, die dort nicht hingehörten, Pflichtfelder bleiben leer.

Der Zusammenhang dieser Fehler in verschiedenen Applikationen war aufgrund der verteilten Architektur von Twitters Infrastruktur zunächst unklar geblieben. Verschärft wurde das Problem dadurch, dass fehlerhafte Daten in verteilten Systemen lange nach dem ersten Auftreten weitere Fehler nach sich ziehen können, da sie in Caches, in Logs und auf Festplatten geschrieben werden.

Schwierige Fehlersuche

Erste Untersuchungen ergaben, dass in bestimmten Server-Racks gehäuft Fehler in TCP-Prüfsummen zu verzeichnen waren, bevor die Applikationen vermehrt sinnlose Fehler meldeten. Wurden diese Racks aus dem System genommen, arbeiteten die betroffenen Anwendungen einwandfrei. Da anfängliche Tests unter Linux keine eindeutige Lösung brachten, setzten die Entwickler ihre Testreihen unter Mesos fort, das bei Twitter Anwendungen und Dienste in Containern isoliert.

Prompt wurden sie fündig. Obwohl die TCP-Prüfsummen als ungültig erkannt wurden, tauchten fehlerhafte Daten in den Anwendungen auf. Nachdem im virtuellen Adapter das Checksum-Offloading abgeschaltet war, wurden die fehlerhaften Daten erwartungsgemäß fallengelassen.

Aus dem Workaround wird ein Kernel-Patch

Damit war eine vorübergehende Lösung gefunden. Schnell war aber klar, dass es keine Fehlkonfiguration in Mesos war, sondern es sich um einen Fehler im Netzwerkstack des Kernels handelte, der schließlich im Veth-Modul gefunden wurde. Der daraus resultierende Kernel-Patch wurde mittlerweile in den Kernel aufgenommen und wird derzeit bei verschiedenen Distributionen bis zu Kernel 3.14 rückportiert.



Anzeige
Top-Angebote
  1. 129,90€ (Bestpreis!)
  2. 59,99€ (Release am 15. November)
  3. (Batman Arkham Collection & Lego Batman Trilogy)
  4. (u. a. Actionfiguren ab 11,99€, DCU Animation Batman Collection 59,97€, verschiedene Lego DC...

mahennemaha 18. Feb 2016

Dir fällt es vermutlich bei den Google Diensten besonders auf, da Google in Verbindung...


Folgen Sie uns
       


Acer Predator Helios 700 - Hands on (Ifa 2019)

Was für ein skurriles Gerät: Golem.de schaut sich das Gaming-Notebook Predator Triton 700 von Acer an und probiert die Schiebetastatur aus.

Acer Predator Helios 700 - Hands on (Ifa 2019) Video aufrufen
Programmiersprache: Java 13 bringt mehrzeilige Strings mit Textblöcken
Programmiersprache
Java 13 bringt mehrzeilige Strings mit Textblöcken

Die Sprache Java steht im Ruf, eher umständlich zu sein. Die Entwickler versuchen aber, viel daran zu ändern. Mit der nun verfügbaren Version Java 13 gibt es etwa Textblöcke, mit denen sich endlich angenehm und ohne unnötige Umstände mehrzeilige Strings definieren lassen.
Von Nicolai Parlog

  1. Java Offenes Enterprise-Java Jakarta EE 8 erschienen
  2. Microsoft SQL-Server 2019 bringt kostenlosen Java-Support
  3. Paketmanagement Java-Dependencies über unsichere HTTP-Downloads

Innovationen auf der IAA: Vom Abbiegeassistenten bis zum Solarglasdach
Innovationen auf der IAA
Vom Abbiegeassistenten bis zum Solarglasdach

IAA 2019 Auf der IAA in Frankfurt sieht man nicht nur neue Autos, sondern auch etliche innovative Anwendungen und Bauteile. Zulieferer und Forscher präsentieren in Frankfurt ihre Ideen. Eine kleine Auswahl.
Ein Bericht von Dirk Kunde

  1. E-Auto Byton zeigt die Produktionsversion des M-Byte

Mobile-Games-Auslese: Superheld und Schlapphutträger zu Besuch im Smartphone
Mobile-Games-Auslese
Superheld und Schlapphutträger zu Besuch im Smartphone

Markus Fenix aus Gears of War kämpft in Gears Pop gegen fiese (Knuddel-)Aliens und der Typ in Tombshaft erinnert an Indiana Jones: In Mobile Games tummelt sich derzeit echte und falsche Prominenz.
Von Rainer Sigl

  1. Mobile-Games-Auslese Verdrehte Räume und verrückte Zombies für unterwegs
  2. Dr. Mario World im Test Spielspaß für Privatpatienten
  3. Mobile-Games-Auslese Ein Wunderjunge und dreimal kostenloser Mobilspaß

    •  /