Skip to content

Hotel-WLAN ...

linux Am vergangenen Wochenende durfte ich einmal mehr in einem Hotel zu Gast sein, das ein kaputt konfiguriertes WLAN hatte. Manchmal frage ich, was die Dienstleister befürchten, wenn sie den Zugang so kastrieren.

Für mich ist elementar, dass ich via SSH auf meine Server zugreifen kann, aber Port 22 ausgehend war geblockt. Das habe ich relativ schnell in den Griff bekommen, in dem ich via "Remote Console" auf einem meiner Server sslh installiert habe. sslh nimmt Verbindungen auf Port 443 (https) an und entscheidet mit dem Handshake an welchen Dienst die Verbindung "übergeben wird". Das klappt problemlos und ziemlich gut, wenn der WLAN-Administrator nicht auf Protokollebene blockt.

Zugriff geht dann via:

ssh -p 443 user@sslh-server.example.net


Die Weiterverbindung auf andere Server lässt sich dann mittels folgendem Befehl realisieren (das geht auch transparent mit der unten aufgeführten Lösung):

ssh -o ProxyJump=user@sslh-server.example.net user@ziel.example.com


Für reine SSH-Verbindungen ist das prima, aber es gibt ja zum einen noch andere Dienste (unter anderem Usenet, Protokoll nntp, Port 119), die ich auch noch nutzen möchte.

Da kommt dann das Tool sshuttle zum Einsatz. sshuttle benutzt SSH, um darüber alle tcp-Verbindungen plus DNS mittels Paketfilterregeln weiter zu leiten. Um die lokalen Regeln anzupassen wird sudo-Zugriff auf den root-Account benötigt.

sshuttle --dns --remote=user@sslh-server.example.net:443 0/0


Für mich funktioniert das und es macht "falsch" konfigurierte Netzwerke benutzbar.

Neues Mobiltelefon ...

Neben dem zerstörten Tablet möchte ich in diesem Jahr auch mein Mobiltelefon ersetzen und da spielt mir die "Android One"-Initiative in die Hände. Ich möchte privat bei Android bleiben - iOS gibt es in der Firma - und ein Gerät haben, das regelmässig mit Updates unterstützt wird.

Leider gibt es diese Initiative "noch" nicht für Tablets.

ist übrigens Gerüchten zum Trotz eine finnische Firma und keine chinesische, sie haben die Marke Nokia gekauft und machen - wie ich finde - momentan alles richtig.

Ich schwanke zwischen dem
Nokia 8 Sirocco und dem Nokia 7 plus. Mir fehlt selbst nach längeren Überlegungen ein Grund, für das Nokia 8 Sirocco fast doppelt so viel Geld in die Hand zu nehmen wie für das Nokia 7 plus.

Wenn Euch ein Vergleich der technischen Daten interessiert, ist Nokia 7 Plus vs Nokia 8 ein guter Startpunkt.

Neues Tablet gesucht ...

Leider habe ich Trottel letzte Woche Freitag das wichtigste elektronische Gerät aus meinem kleinen Zoo geschrottet und eine Reparatur läge jenseits des Restwerts, losgelöst davon, dass es vermutlich nicht mehr so lange Updates gibt.

Es handelt sich dabei um das Sony Xperia Z4 Tablet, möge es in Frieden ruhen. Ich hatte eine passende Bluetooth Tastatur dafür und es hat mich in den letzten Jahren jeden Tag begleitet. Zusammen mit Termux hatte ich so fast alles, was ich zum mobilen Arbeiten benötige.

Leider baut Sony keine Tablets mehr und wenn ich mich auf dem aktuellen Markt umschaue, wird die Luft für meinen Anwendungsfall (Tablet mit Tastatur als Cover) sehr schnell sehr dünn. Über den Job könnte ich ein iPad Pro mit Tastatur bekommen, aber ein Bekannter sagte nicht zu unrecht, dass ich die Freiheiten von Android vermutlich sehr schnell vermissen würde.

Ein Samsung Tablet möchte ich nicht, weil ich schon sehr viel schlechtes über das User Interface gehört habe.

Auf dem vergangenen Mobile World Congress wurde das Huawei Mediapad M5-10 Pro vorgestellt und das scheint genau in meine Nische zu passen. In diesem Artikel sieht man ein Photo, was das Tablet mit Tastatur und Stylus zeigt.

Habt Ihr Vorschläge?

IPv6 ready?

Wenn ich keinen Bock geschossen habe, sollte auf meinem Server jetzt alles (nicht nur Mail) via IPv6 funktionieren.

Wer Fehler findet, darf sie behalten möge sie mir bitte melden.

Danke!

Wallabag ...

Nachdem ich die beteiligten Komponenten zur Entstehung des Linkdumps einmal aufgeschrieben hatte, kam mir das alles mehr als merkwürdig und viel zu kompliziert vor.

"Drüben", bei Google+, wurde mir nochmals Wallabag als Lösung zum Selberhosten ans Herz gelegt. Als ich das zuletzt "vor 100 Jahren" getestet habe, hat es mir nicht gefallen.

Mittlerweile hat sich da aber eine Menge getan und ich bin schwer begeistert, wie toll Wallabag mittlerweile geworden ist. Very well done!.

Wallabag ist eine Webapplikation, mit der sich einfach Webseiten lesen lassen. Dabei sorgt sie dafür, dass das ganze Brimborium um den Haupttext abgeschnitten wird und so ein sehr gut lesbarer Text entsteht, der ablenkungsfrei gelesen werden kann. Die so entkernten Webseiten lassen sich auch als E-Book (epub in Version 3, Mobipocket oder PDF) herunterladen und mit einem entsprechenden Readern lesen.

Von dem Export mache ich aber keinen Gebrauch, weil es auch eine sehr gute Android-App gibt (an eine App für iOS und eine App für Windows Phone wurde ebenfalls gedacht).

Prima finde ich auch, dass sich Wallabag mir der Share-Funktion von Firefox nutzen lässt oder mit einem Bookmarklet oder mit dieser Extension.

Solltet Ihr die Dokumentation benötigen, rate ich stark, die englischsprachige zu nehmen, die Doku in deutscher Sprache ist veraltet und zum Teil falsch.

Der Workflow bei mir hat sich jetzt so verändert, dass ich gute Artikel in der Wallabag App favorisiere und auf gelesen setze. Das folgende kleine Skript erstellt mir dann das Gerüst für den Linkdump.

Ach ja, wer bei mir einen Account möchte, kann sich gerne melden.

#!/bin/bash

# wget_options="--no-check-certificate --quiet -O -"
wget_options="--quiet -O -"

wallabag_url="<DEINE URL>"
wallabag_token="<DEIN TOKEN>"
wallabag_userid="<DEINE USERID>"

echo
date +"Linkdump %V/%G ..."
echo

wget ${wget_options} "${wallabag_url}?feed&type=fav&user_id=${wallabag_userid}&token=${wallabag_token}" \
    | egrep "<title>|<link>" \
    | egrep -v "${wallabag_url}|wallabag — fav feed" \
    | while read line; do
    if [[ -z "${title}" ]]; then
        title=$(echo ${line} | sed 's/<.\{0,1\}title>//g')
    else
        link=$(echo ${line} | sed 's/<.\{0,1\}link>//g')
        echo "<a href=\"${link}\">${title}</a>"
        echo
        unset title
        unset link
    fi
done

Die eigene Wolke ...

Ich habe das Folgende ja für wirklich gut gehalten bis ich gesehen habe, dass Dropbox für 1 TB nur noch 10 Euro monatlich nimmt, den Artikel möchte ich trotzdem veröffentlichen, weil mich Euer Feedback interessiert.

Ich habe hin und her gerechnet und spiele mit dem Gedanken "Cloud-Storage" mit ownCloud zur Verfügung zu stellen bzw. anzubieten. "Cloud-Storage" steht aus zweierlei Gründen in Anführungszeichen. Zum Einen gibt es den Speicherplatz nur auf einem Server mit Hardware-RAID-Controller und nicht auf mehreren Servern. Zum Anderen gibt es kein Backup der Daten. Dafür ist das Angebot aber günstig, sehr günstig, wie ich finde.

Ausser ownCloud wird auf dem Server kein weiterer Dienst angeboten, ich kann mir maximal noch ein Forum für Absprachen und eventuell ein Wiki vorstellen, aber mehr sicherlich nicht.

500 GB gibt es für 10 Euro im Monat und einmalig 10 Euro für das Setup (Die Setup-Gebühr wird, sobald Gewinn erwirtschaftet wird, wieder rückerstattet).

Da die Verschlüsselung von ownCloud nur serverseitig läuft, wird sie nicht benutzt. Es wäre Augenwischerei zu glauben, dass die Daten sicher sind und "security by obscurity" liegt mir nicht. Die Daten sollten clientseitig verschlüsselt werden.

Es werden Leute gebraucht, die 34 Pakete á 500 GB bezahlen, um dieses Projekt auf plus-minus-null zu finanzieren. Mehrere Pakete pro Person sind natürlich möglich.

Im Server kommen zwei gespiegelte Systemfestplatten und ein Hardware-RAID6-System mit 13 Festplatten zum Einsatz, zwei davon fungieren als "Hot-Spare-Devices", die im Fall eines Ausfalls eine defekte Platte "on the fly" ersetzen können.

Wenn drei oder mehr Daten-Festplatten gleichzeitig ausfallen, werden Daten verloren gehen.

Es gibt keine Garantie für die Verfügbarkeit, es gibt keine Garantie gegen Datenverlust. Das ist eine rein private Initiative. Die Abrechnung erfolgt zu 100% transparent. Erwirtschaftete Gewinne werden zurückgelegt, um eventuell weitere Server zu mieten oder Zahlungsausfälle zu verkraften. Weitere Server würden es erlauben, zwischen verschiedenen ownCloud-Instanzen zu spiegeln.

Rechengrundlage ist der grösste Server aus der Storage-Reihe von Hetzner, ein SX290, als Betriebssystem wird CentOS zum Einsatz kommen. Das vorgeschlagene RAID-Layout ist möglich, der Support stimmt zu, hier ist Doku des RAID-Controllers.

Hetzner berechnet nur ausgehenden Traffic, habe ich ebenfalls durch den Support bestätigen lassen. Bei einer Anbindung von 200 Mbit/s können rein theoretisch 67 TB übertragen werden, 50 TB Traffic sind inklusive, das heisst hier kann es maximal zu Traffic-Mehrkosten von 34 Euro kommen.

15 Festplatten á 4 TB sind eingebaut. Zwei für das System, zwei für die RAID6-Paritätsinformationen und zwei als Hot-Spare-Disks, damit bleiben neun mal vier Terrabytes netto-Kapazität übrig, oder 36 TB insgesamt.

Hier die Berechnungen (falls Ihr Fehler findet oder Fragen habt, bin ich für Rückmeldungen dankbar):

































































































































































  SX 60 SX130 SX290 Einheiten
Kosten einmalig 69.00 139.00 299.00 Euro
Kosten monatlich 69.00 139.00 299.00 Euro
Anzahl Festplatten 4 7 15 á 4 TB
Raid-Typ Soft-RAID5 Soft-RAID5 Hard-RAID6  
Parity Disks 1 1 2  
System-Festplatten 0 2 2  
Hot Spare 0 1 2  
Nutzdaten 12 12 36 TB
ohne OS 11 12 36 TB
Anbindung 200 200 200 Mbit/s
Freivolumen 20 30 50 TB
Maximal bei Vollauslastung (nur ausgehend laut Support) 66.96 66.96 66.96 TB
Maximale Kosten Zusatztraffic 93.45 73.55 33.75 Euro
         
Maximale Gesamtkosten pro Monat 162.45 212.55 332.75 Euro
         
Nutzdaten ohne OS 11000 12000 36000 MB
Pakete a 500 GB 22 24 72  
Kosten pro Paket (bei Maximalkosten und Maximalauslastung) 7.38 8.86 4.62 Euro
         
Preise bei Vollauslastung        
50 GB 1.50 1.00 0.75 Euro
250 GB 6.00 4.00 3.00 Euro
500 GB 10.00 7.50 5.00 Euro
         
Preise bei Halbauslastung        
50 GB 5.00 3.00 2.00 Euro
250 GB 20.00 12.00 7.00 Euro
500 GB 30.00 20.00 10.00 Euro


Leute, die Interesse haben, schicken mir bitte eine E-Mail an dirk@deimeke.net mit ihrer postalischen Adresse. Ich werde eine Postkarte senden, um die Identität zu prüfen, die Karte soll abfotografiert und wieder mir zugesendet werden.

Shell-Magie ...

Je länger ich mich mit der Shell (BaSH in diesem Fall) beschäftige, desto mehr denke ich, dass ich schon alles gesehen habe.

Dieses Konstrukt aber ist mir neu, ja das mit < <(kommando) und vielleicht kann das auch jemand von Euch brauchen.

#!/bin/bash

while read line; do
        echo ${line}
        [[ /${line}/ =~ /.*Suchtext.*/ ]] && break
done < <(tail -f logfile)


Es macht einen tail -f logfile und durchläuft die Schleife für jede Zeile im logfile . Alle Zeilen werden ausgegeben und wenn ein Suchtext im logfile vorkommt, wird die Schleife abgebrochen. Für die, die es nicht kennen, mit =~ kann man ab BaSH Version 3 auch mit regulären Ausdrücken suchen. Die Schrägstriche / werden nur für den Fall benötigt, dass im logfile auch Leerzeilen vorkommen.

Das Konstrukt umschifft einige Schwächen, die ähnliche Beispiele haben, die mit anderen Arten von Ein- und Ausgabeumlenkung arbeiten.

Wer es nicht glaubt, kann mal das Folgende probieren:

#!/bin/bash

tail -f logfile | while read line; do
        echo ${line}
        [[ /${line}/ =~ /.*Suchtext*/ ]] && break
done

Messenger ...

Momentan teste ich mit einigen Messengern herum.

Wirklich sicher ist keiner, das weiss ich auch, mir geht es mehr um die Usability. Es nutzt niemandem etwas, wenn die Tools gut, aber für die breite Masse unbrauchbar sind.

Im Test sind gerade WhatsApp, Telegram, Kontalk und Threema. Letzterer scheint einiges an der Infrastruktur getan zu haben und ist gerade mein Favorit. Gefolgt von Kontalk (leider nur Android, dafür aber Open Source) und zuletzt WhatsApp.

Wer mittesten möchte: Meine Threema-ID ist 59KP5NAF und meine Handynummer +41789569114.

Messenger von Google (Hangout) und Facebook lasse ich momentan noch aussen vor.

CLI ressources ...

Dem littlehelpers-Repository habe ich einmal ein paar Quellen für weitere Kommandozeilenwerkzeuge hinzugefügt, die ich im regelmässigen Einsatz habe oder die ich für interessant halte.



Die Tools habe ich alle schon einmal hier im Blog erwähnt, daher liste ich sie hier nur auf.

Tipps und Hinweise auf weiteres nehme ich gerne entgegen, wenn Ihr begründet, warum Ihr die Tools einsetzt.

Umgebungen ...

Es gibt kaum einen Punkt, an dem Sichtweisen so weit auseinander gehen, wie bei der Bezeichnung von Systemumgebungen, auf denen Applikationen laufen.

  • Development
  • Test
  • Integration
  • Preproduction oder Quality oder Abnahme oder User acceptance test (UAT)
  • Production


Die Namen sind meistens so wie oben oder ähnlich, es gibt häufig pro Stufe auch mehrere getrennte Umgebungen in sehr grossen Firmen oder sehr grossen Projekten. Die Stufen sind in der Reihenfolge der Wertigkeit sortiert.

Die Idee dahinter ist klar, man möchte anhand der Umgebung die Wichtigkeit festhalten. Leider funktioniert das nicht oder nur ungenügend. Ein Entwicklungssystem, auf dem 150 Entwickler arbeiten kann grösseren wirtschaftlichen Schaden verursachen als ein Abnahmesystem, auf dem nur drei Tester unterwegs sind. Schlimmer noch, das Abnahmesystem kann wichtiger werden als das Entwicklungssystem, wenn gerade ein kritischer Patch getestet wurd.

Das Problem ist, dass Plattformverantwortliche häufig gar nicht wissen, was in den einzelnen Umgebungen läuft und daher werden alle Systeme bis Oberkante des Betriebssystems als produktiv betrachten.

Ein zweites Problem ist, dass grosse IT-Umgebungen einen Fabrikbetrieb darstellen, die nur aus dem einen Grund kostengünstig arbeiten, dass es keine Ausnahmen gibt (na, gut, aber vielleicht nur wenige).

Aber auch da kann es Betrachtungsunterschiede geben.

So kann eine Plattform mit einem Service Level Agreement (SLA) oder Operation Level Agreement (OLA) betrieben werden, der sich deutlich von dem entsprechenden Level der Applikation unterscheidet.

Das ist alles Bestandteil der IT Infrastructure Library (ITIL), mit der jeder Computerfuzzy im Rahmen seiner beruflichen Laufbahn konfrontiert wird.

Sich die möglichen Kombinationen zu überlegen und die Konsequenzen daraus, kann einem echt einen Knoten ins Hirn machen.

Betriebssystem hat einen geringeren Level als die Applikation:
Ja, das gibt es, die Applikation kann durch einen Loadbalancer geclustert sein.

Betriebssystem hat einen höheren Level als die Applikation:
Ja, das gibt es natürlich auch. Das Betriebssystem kann auf einem Clusternode laufen und muss hochverfügbar sein, damit der Cluster ständig läuft.

Betriebssystem hat den gleichen Level wie die Applikation:
Klar, oder?

Mailverschlüsselung ...

Simwama (Sind wir einmal) ehrlich, Mails verschlüsseln ist mit GPG und aktueller Software sehr leicht.

Am "Web of Trust" teilzunehmen, ist für einen Durchschnittsnutzer immer noch zu komplex. Ärgerlicherweise hat sich an der Komplexität in den letzten knapp 20 Jahren auch nicht wirklich etwas geändert.

Im "Web of Trust" werden Vertrauenspfade aufgebaut, die mir als Nutzer bestätigen, dass der öffentliche Schlüssel, den ich von einem Kommunikationspartner bekommen habe, wirklich der Person gehört und von niemandem "in der Mitte" kompromittiert wurde. Um diese Identitäten zu bestätigen, werden Keysgining-Parties gehalten, in der die Ausweise kontrolliert werden und die Schlüssel später bestätigt (signiert) werden.

Damit bekommen Telefonbücher aka Keyserver ihren Sinn.

Wie kann man das leichter machen? Offizielle Anlaufstellen für das signieren von Schlüsseln? Post? Banken? Einwohnermeldeämter?

Kalender-Tango ...

Wie bereits geschrieben, halte ich "Kalender-Management mit dem Computer" für eines der letzten ungelösten Probleme der Informatik. Heute durfte ich einen wiederkehrenden Termin für das ganze Jahr anlegen und wollte diesem einen Raum (Outlook: "Ressource") zuweisen. Die Anlage des Termins war nicht möglich, da es keinen Raum gab, der im ganzen Jahr am anvisierten Termin verfügbar war.

Von einer mir helfenden Software würde ich erwarten, dass eine Liste der Termine aufpoppt, an denen ich einen anderen Raum buchen muss und auch kann, aber das ist auch 2013 noch Wunschdenken.

Über Feiertage, die auch an einem Montag stattfinden, mag ich gar nicht erst anfangen.

Nun gut, dann also den Termin ohne Raum buchen und dann wöchentlich aktualisieren. Super!

Spiegelung ist kein Backup ...

Weil ich vorgestern noch einmal darauf angesprochen wurde und weil man es gar nicht oft genug sagen kann: Die Spiegelung einer Festplatte ist kein Backup!

Es ging in der Diskussion darum, ob man eine gespiegelte Systemfestplatte sparen könne, weil ja jetzt Backup vorhanden wäre. Es sei geplant, eine SSD für das System zu kaufen.

Mir sind Anfang des Jahres in zwei root-Servern jeweils eine Platte kaputt gegangen. Die Ausfallzeit für das Wechseln der Platten war in etwa 10 Minuten.

Wenn Du nur eine Platte hast, müssen im Falle eines Defekts folgend Arbeiten ausgeführt werden.
• Platte austauschen.
• Betriebssystem neu installieren und konfigurieren.
• Dienste installieren und konfigurieren.
• Anwendungen (Webseiten) installieren und konfigurieren.
Habt Ihr ein Backup der Paketliste und ein Backup der Konfigurationen?

Wenn man das in acht Stunden hinbekommt, ist man schnell. Murphy sagt aber, dass das Freitag Abend nach den Bürozeiten des Housing-Unternehmens passiert und das bedeutet, dass man drei Tage Ausfall hat, wenn man jemandem vom Dienstleister dazu bekommst, direkt am Montag mit der Arbeit zu beginnen.

Ich würde eher auf die SSD verzichten als auf eine Spiegelung der Festplatten. Wenn Du allerdings die Geschwindigkeit von SSD haben möchtest, dann plane zwei ein für eine Spiegelung.

Ein Wort noch zu Backups.

Nach einer - relativ alten - Studie von Gartner gibt es Datenverluste aufgrund von drei Faktoren:
• Hardwareausfall (etwa 20%)
• Bedienfehler (etwa 40%)
• Softwarefehler (etwa 40%)
Die Zahlen werden sich verändert haben, aber ich vermute, dass die Verhältnisse 20% Hardware zu 80% Rest gleich geblieben sind.

Auf die Studie habe ich in einem anderen Zusammenhang schon einmal hingewiesen.

Eine gespiegelte Platte hilft, Hardwareausfälle weniger lethal zu machen. Sie hilft aber nicht bei den anderen 80%, da die Fehlbedienung / Softwarefehler auf die andere Platte gespiegelt werden. Da helfen Backups.