Artikel mit Tag Linux

Iptables Firewall - Wann beim Portforwarding ein DNAT nicht genug ist

Betreibt man Firewalls auf einem Linux-Router mit iptables, kommt man früher oder später in die Verlegenheit, Portforwarding machen zu müssen. Schaut man dann einschlägige Anleitungen im Internet an, findet man solche, die das allein über ein DNAT (Destination Natt ing) in der Prerouting-Chain lösen, manche wiederum sagen, dass man unbedingt auch ein SNAT (Source Natting) in der Postrouting-Chain machen muss, sonst würde das überhaupt nicht funktionieren.

Ich hatte das Problem letztens und möchte das hier mal etwas aufdröseln, damit ich beim nächsten mal nicht wieder Schaubildchen malen muss. Vielleicht hilft es ja auch dem ein oder anderen von euch, wenn ihr mal einen ähnlichen Routing-Fall lösen müsst.

Ich gehe in diesem Artikel nicht auf die Grundlagen des Routings und Firewallings ein, sondern möchte nur den oben erwähnten speziellen Fall genauer beschreiben.

Zunächst schauen wir uns grob an, wie so ein IP-Paket die einzelnen Chains (Ketten) unserer Firewall durchläuft.

Schematische Darstellung der Routing-Chains

Wie man sieht, haben wir zwei NAT-Chains (Network Adress Translation), nämlich die Prerouting- und die Postrouting-Chain. Jedes IP-Paket enthält unter anderem eine Absender-IP und eine Empfänger-IP. In diesen beiden Ketten kann iptables diese beiden Adressen umschreiben, nämlich die Empfänger-Adresse im Prerouting und die Absender-Adresse im Postrouting. Das besondere ist, dass diese Adressen, sobald die Antwort auf so ein verändertes Paket wieder bei unserem Router ankommen, auch wieder zurück übersetzt werden können.

Unsere Router zu Hause machen das übrigens ständig, wenn wir im Internet surfen. Bei allen Paketen wird die private IP-Adresse aus unserem Heimnetz in die öffentliche IP-Adresse ausgetauscht, die wir von unserem Provider erhalten haben. Kommt eine Anwort zurück, tauscht der Router die Adresse wieder zurück und sendet die Internetinhalte an das Gerät in unserm LAN, das sie auch angefordert hat.

Diese spezielle Form des SNAT in der Postrouting-Chain nennt man auch Masquerading.

Doch nun zu einem etwas komplexeren Setting, bei dem wir spezielle Adressumschreibungen benötigen, die über ein pauschales Masquerading hinaus gehen.

Wir haben als Beispiel eine Firewall mit drei Netzwerkkarten, eine (eth0) zeigt ins Internet mit einer öffentlichen IP-Adresse 1.2.3.4, eine Karte (eth2) zeigt in unser internes Firmennetz und hat die IP 192.168.1.1/24. Die dritte Karte (eth1) mit der IP 192.168.10.1/24 zeigt auf ein Netzwerk, in dem zwei Webservices laufen, die aus dem Internet erreichbar sein sollen.

Alle Pakete aus dem Internet, die auf für die IP-Ports 80 und 443 ankommen, sollen auf einen Reverse-Proxy weitergeleitet werden, der dann den Verkehr weiter an die zuständigen Rechner für die jeweiligen Services verteilt.

Das ganze schaut schematisch so aus:

Schematische Darstellung des Beispiel-Netzwerks

Die beiden Adressen “service_a.example.com” und “service_b.example.com” werden vom DNS auf die IP-Adresse 1.2.3.4 geleitet. Also müssen unsere Firewall anweisen, alle Pakete, die auf der IP-Adresse 1.2.3.4 auf Port 80 und 443 ankommen, an unseren Reverse-Proxy zu forwarden.

Dazu müssen wir zunächst das Forwarding für diese Ports in der FORWARD-Chain erlauben:

iptables -A FORWARD -i eth0 -o eth1 -p TCP --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -p TCP --dport 443 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT

Dann kommt das eigentliche Portforwarding, also das Umschreiben der Empfängeradresse im Paket.

iptables -t nat -A PREROUTING -d 1.2.3.4 -p TCP --dport 80 -j DNAT --to-destination 192.168.10.10:80

iptables -t nat -A PREROUTING -d 1.2.3.4 -p TCP --dport 443 -j DNAT --to-destination 192.168.10.10:443

Das funktioniert zunächst für alle Pakete, die aus dem Internet (hier als Beispiel von der IP-Adresse 3.4.5.6) kommen. Die Empfänger-Adresse wird auf den Proxy umgeschrieben:

Source          Dest
3.4.5.6         1.2.3.4  -> DNAT -> 192.168.10.10

und auf dem Rückweg:

Source          Dest
3.4.5.6         1.2.3.4  <- DNAT <- 192.168.10.10

Der Absender 3.4.5.6 erhält also als Antwort auf sein Paket, dass mit der Empfängeradresse 1.2.3.4 abgesendet wurde.

Das gleiche funktioniert auch, wenn ein Rechner aus dem internen Netz ein Paket an einen unserer beiden Services sendet. Der Router sorgt auch hier wieder für den Aus- und Zurücktausch der Empfänger-Adresse des Pakets.

Jetzt kommen wir aber zu einem Fall, in dem das so nicht funktioniert. Nehmen wir einmal an, der Rechner “service_a.example.com” muss ein IP-Verbindung zu “service_b.example.com” herstellen. Da “service_b.example.com” auch im internen Netz mit der IP 1.2.3.4 übersetzt wird, geht unser IP-Paket also an unseren Router, der auch wieder brav die Empfängeradresse austauscht.

Source          Dest
192.168.10.50   1.2.3.4  -> DNAT to 192.168.10.10

Das Paket geht zunächst ordnungsgemäß an unseren Reverse-Proxy, der an 192.168.10.60 (service_b) vermittelt. Nun soll der Proxy eine Antwort an den Absender schicken und hat folgendes IP-Paket vorliegen:

Source          Dest
192.168.10.50   192.168.10.10

Ah, das Paket kommt von einer IP aus dem eigenen Netz, die ganz ohne Routing direkt erreicht werden kann, also wird die Antwort direkt an 192.168.10.50 gesendet.

Dieser Rechner kann aber mit der Antwort nichts anfangen, denn er hat nie ein Paket an die IP 192.168.10.10 gesendet, sondern an 1.2.3.4.

Also wird die Antwort verworfen, die IP-Verbindung kommt in diesem Fall nicht zustande. Hier haben wir den Fall, in dem ein DNAT für das Portforwarding nicht ausreicht.

Um dafür zu sorgen, dass die Antwort den gleichen Weg nimmt wie das Ursprungspaket auf dem Weg zum Reverse-Proxy und damit der Router die Daten des Pakets wieder auf den ursprünglichen Wert zurücksetzt, müssen wir in der Postrouting-Chain die Absender-Adresse des Pakets auf die IP des Routers ändern:

iptables -t nat -I POSTROUTING -s 192.168.10.0/24 -d 192.168.10.10 -p tcp --dport 80 -j SNAT --to-source 192.168.10.1

iptables -t nat -I POSTROUTING -s 192.168.10.0/24 -d 192.168.10.10 -p tcp --dport 443 -j SNAT --to-source 192.168.10.1

Zusätzlich benötigen wir an dieser Stelle eine Forwarding-Regel, die das Forwarding auch von eth1 zu eth1 erlaubt:

iptables -A FORWARD -i eth1 -o eth1 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Dadurch stellen wir sicher, dass das Paket bei Beantwortung zunächst wieder an den Router geschickt wird, der dann die IP-Adressen wieder auf die alten Werte korrigiert.

Als Regel kann man festhalten, dass wir immer dann eine SNAT-Regel für das Portforwarding benötigen, wenn durch das umschreiben der Empfänger-Adresse (DNAT) das IP-Paket so geändert wird, dass sich der Routing-Pfad auf dem Rückweg so ändert dass der Router, der das Natting durchgeführt hat, nicht mehr beteiligt ist. Dann ist es notwendig, auch die Absenderadresse so zu manipulieren, dass das Paket den gleichen Weg zurück nimmt und am NAT-Router wieder umgeschrieben wird.

In Firefox die eingebaute Screenshot-Funktion nutzen

Beim Surfen in den Weiten des World Wide Web kommt man immer mal in Verlegenheit, von einem Teil einer Webseite einen Screenshot zu machen. Sei es ein Textausschnitt oder auch ein Foto oder eine Grafik, die man für später archivieren oder auch mal schnell per Mail oder Messenger mit anderen teilen möchte. Manchmal möchte man vielleicht sogar einen Screenshot von der gesamten Webseite machen.

Wahrscheinlich hat jeder von uns im Betriebssystem ihrer/seiner Wahl ein Lieblingstool, mit dem er oder sie Screenshots anfertigt. Allerdings bringt die Desktop-Version des Browsers Firefox eine eingebaute Screenshot-Funktion mit, die ein paar komfortable Features hat und für einen schnellen Screenshot während des Surfens eine gute Alternative sein kann.

Aufruf der Funktion

Aufgerufen wird die Funktion im Firefox mit der Tastenkombination STRG-Shift-S (am Mac ist es CMD-Shift-S). Alternativ könnt ihr auch über das Menü "Weitere Werkzeuge" - "Symbolleiste anpassen" das Icon "Bildschirmfoto" in eurer Symbolleiste hinzufügen und den Modus darüber aufrufen (Danke an Dirk für den Hinweis in den Kommentaren.).

Screenshot-Modus des Firefox

Nach der Betätigung der Tastenkombination hat man vier Optionen, einen Screenshot anzufertigen.

Möglichkeit 1: Seitenelemente kopieren

Fahrt ihr mit der Maus nun über die Webseite, werden Seitenelemente der Webseite (Divs, Grafiken, Testelemente, Überschriften usw.) umrahmt. Mit einem Mausklick wählt ihr den jeweils markieren Bereich für den Screenshot aus. An der Auswahl habe ihr bei allen vier Optionen die Funktionen zum Kopieren in die Zwischenablage oder den Download des Screenshots als PNG-Datei zur Verfügung. Ein Klick auf das “X” beendet die Screenshot-Funktion.

Markierung eines Seitenelements

Möglichkeit 2: Einen Bereich für den Screenshot markieren

Mit gedrückter Maustaste könnt ihr im Screenshot-Modus einen beliebigen Bereich der Webseite markieren und danach davon einen Screenshot anfertigen.

Freie Markierung eines Webseitenbereichs

Möglichkeit 3: Den sichtbaren Bereich auswählen

Oben rechts erscheinen im Screenshot-Modus zwei Auswahl-Buttons. Mit dem Rechten Button wählt ihr den gesamten sichtbaren Bereich im Browserfenster für den Screenshot aus.

Buttons zur Auswahl des sichtbaren Bereichs und der gesamten Webseite

Möglichkeit 4: Gesamte Webseite auswählen

Eine besonders interessante Option bietet der linke der beiden Buttons in der rechten oberen Ecke. Mit diesem Button wählt ihr die gesamte Webseite für einen Screenshot aus, also auch den Bereich, der momentan nicht im Browserfenster zu sehen ist.

Screenshot der gesamten Homepage von hommel-net.de

Fazit

Die eingebaute Screenshot-Funktion von Firefox bietet einen nützlichen Funktionsumfang und ist komfortabel zu bedienen. Für den schnellen Screenshot zwischendurch ziehe ich die Funktion mittlerweile einem separatem Programm für Screenshots vor.

Heizungsstatus mit Bordmitteln überwachen

Heizungen gehen ja vorzugsweise im Winter kaputt, wenn es draußen kalt ist. Unsere betagte Heizung hat in den letzten Tagen auch angefangen, etwas rumzuspinnen. Ist wohl alles etwas verkalkt und deshalb greift immer mal wieder die Notabschaltung für die Abgastemperatur. Und weil man das in der Wohnung immer erst bemerkt, wenn es empfindlich kälter in den Räumen wird, waren in den letzten Tagen regelmäßige Kontrollgänge in den Heizungskeller an der Tagesordnung.

Da muss man doch auch was mit IT machen können, dachte ich mir und habe mich heute daran gemacht, mit der hier vorhandenen Hardware etwas zu basteln, das mir das Leben bis zur Behebung des Problems (vermutlich durch einen Tausch der Heizung) erleichtert.

Im Heizungskeller gibt es eine Steckdose und es ist dunkel. Die Heizung selbst hat keine Schnittstellen, die man nutzen könnte. Das waren die Voraussetzungen. Immerhin gibt es WLAN-Empfang dort.

Die Heizung hat eine LED, die normalerweise grün leuchtet und im Störungsfall rot blinkt. Da könnte man doch was mit anfangen. Ich habe mir also einen alten Mini-PC mit eingebautem WLAN geschnappt und eine momentan nicht benötigte Webcam von K2. Auf dem PC flux eine Debian-Minimalinstallation gemacht, die Webcam angeschlossen und das ganze hochprofessionell vor der LED positioniert.

Unsere Gastherme mit der mittels Klebeband angebrachten Webcam vor der LED.

Um mit der Webcam Bilder aufzunehmen, kommt das Programm fswebcam zum Einsatz, das mir schon beim Projekt “Twitternde Webcam” in 2016 gute Dienste geleistet hat. Ein Mini-Bash-Skript macht minütlich ein Foto mit der Webcam und lädt dieses auf den hier im internen Netzwerk stehenden Webserver. Eine sehr, sehr rudimentäre “Webseite” zeigt das Bild an. Fertig ist die Fernüberwachung, mit der ich den Status der Heizung sehe, ohne in den Keller zu laufen.

Screenshot von der Webseite mit dem Foto von der LED

Kleines Upgrade des "Hauptrechners"

Bild eines Monitors mit KDE-Plasma-Oberfläche

Wer wie ich beruflich und privat viel mit IT zu tun hat, wird es kennen. Es steht eine Menge Hardware in der heimischen Wohnung herum. Aber es gibt auch diesen einen "Hauptrechner", jenes Arbeitstier, auf dem man die wichtigen Dinge des Adminlebens erledigt und an dem man möglichst wenig verändert und das immer stabil laufen muss.

Dieser Rechner ist bei mir ein relativ altes Gerät, eine Lenovo ThinkStation aus dem Jahr 2013, auf dem schon diverse Kubuntu-Versionen residierten. Wie es sich für so ein Produktivgerät gehört, ist dort immer eine LTS-Versionen dieser Distribution mit verlängertem Support-Zyklus installiert, momentan die 20.04. Im Rechner werkelt ein 4-Kern Xeon Prozessor, 16GB Hauptspeicher und eine drehende 1TB Festplatte. Der Rechner wird nicht zum Spielen genutzt, daher reicht die Leistung und Performance für mich noch locker aus.

Was mich zunehmend störte, war das Display-Setup, das aus zwei alten 19-Zöllern bestand. Diese beiden alten Geräte habe ich nun durch einen 27" Display von Lenovo mit QHD-Auflösung ersetzt. Ein Problem dabei war, dass die bisher verwendete Onboard-Grafikchip der ThinkStation nur eine maximale Auflösung von 1900x1200 schaffte, daher musste zum Display noch eine neue Grafikkarte her. Wichtig war mir hierbei, dass die neue Karte keinen zusätzlichen Lärm macht, also passiv gekühlt ist. Meine Wahl viel dann auf eine Nvidia Geforce GT710 von Asus mit 2 GB Speicher und vier HDMI Ausgängen, die nun im neuen Rechner unhörbar vor sich hin werkelt und das neue Display in voller Pracht mit 2560x1440 Pixeln befeuert.

Und wie immer, wenn etwas neu ist, macht es natürlich auch wieder mehr Spaß, es zu benutzen und damit zu arbeiten. ;-)

Der Plan ist, demnächst noch die drehende Festplatte durch eine SSD zu ersetzen, denn das bringt ja auch immer noch etwas mehr Performance. Außerdem ist eine so alte drehende Platte auch immer ein kleines Risiko. Natürlich sind Backups vorhanden, aber Festplatten fallen meistens dann aus, wenn man es am wenigsten gebrauchen kann. Ihr kennt das.

Ansonsten bin ich mit der "alten Kiste" immer noch sehr zufrieden und hoffe, dass sie mir noch ein paar Jahre treue Dienste leisten wird.

Telefonieren unter Linux mit Linphone und der Fritzbox

In Zeiten der IP-Telefonie ist es praktisch, dass man auch mit einem entsprechenden Client direkt ohne ein zusätzliches Telefon direkt vom Rechner telefonieren kann. Auch unter Linux gibt es die sogenannten SIP-Clients, mit denen man über einen SIP-Provider telefonieren kann.

Wenn ihr zu Hause einen Router habt, der auch IP-Telefonie beherrscht, könnt ihr diesen oftmals auch als SIP-Provider nutzen. Ich habe mal aufgeschrieben, wie das mit einer Fritzbox 7590 und dem Programm Linphone unter Linux funktioniert.

Telefonie-Gerät auf der Fritzbox einrichten

Als erstes muss ein neues Telefoniegerät auf der Fritzbox eingerichtet werden. Im Menü der Fritzbox (in meinem Fall eine 7590) geht ihr auf den Punkt "Telefonie"-"Telefoniegeräte" und wählt die Schaltfläche "Neues Gerät einrichten".

In der nächsten Maske "Telefon" auswählen und auf "Weiter" klicken.

In der nächsten Maske müssen wir der Fritzbox sagen, dass es sich um ein IP-Telefon handelt. Außerdem könnt ihr einen Namen für das Gerät vergeben.

Nun geben wir einen Benutzernamen und ein Kennwort ein. Diese Daten müssen wir uns merken, um später den Client einrichten zur können.

Wenn ihr über euren Internetprovider mehrere Rufnummern zur Verfügung gestellt bekommt, könnt ihr nun auswählen, mit welcher Rufnummer euer Client später raustelefonieren soll.

Ebenso könnt ihr festlegen, ob euer Client bei allen ankommenden Rufnummern klingeln soll oder nur bei bestimmten. Das ist zum Beispiel bei Homeoffice praktisch.

Die nächste Maske zeigt nochmal alle Einstellungen an und mit "Übernehmen" wird die Anlage des Gerätes gestartet.

Zum Schluss möchte die Fritzbox noch, dass ihr euch autorisiert, dass kann entweder über eine Zahlenkombination erfolgen, die ihr an einem bereits an die Fritzbox angeschlossenen Telefon eingebt, oder über das Drücken einer Taste auf der Fritzbox selbst.

Die Vorbereitungen auf der Fritzbox sind nun abgeschlossen und wir können den Linphone-Client einrichten.

Linphone einrichten

Linphone ist in den gängigen Distributionen über die jeweiligen Installationswerkzeuge installierbar. Bei den verschiedenen Ubuntu-Derivaten auch bequem über die Befehlszeile mit:

sudo apt install linphone

Beim ersten Start begrüßt uns ein Einrichtungsassistent, den wir natürlich gern mit "Forward" starten.

In der nächsten Maske den Punkt "Ich habe bereits ein SIP-Konto und möchte es jetzt benutzen" wählen.

Jetzt kommen Benutzername und Kennwort aus der Fritzbox-Einrichtung zum Einsatz. Im Feld "Domäne" tragt ihr die IP-Adresse eurer Fritzbox ein. Mit Klick auf "Apply" wird das Konto eingerichtet.

Wenn alles richtig eingegeben wurde kann man jetzt über das eingerichtete Konto in Linphone bequem vom Linuxrechner telefonieren. Am besten verwendet man dazu natürlich ein entsprechendes Headset.

Debian 10 "Buster" veröffentlicht

Debian 10 Logo

Das Debian-Projekt hat nach zwei Jahren die neue stabile Version 10 der universellen Linux-Distribution veröffentlicht. Seit gestern kann das neue Stable-Release mit dem Codenamen "Buster" offiziell heruntergeladen werden.

Obwohl Debian meist gern auf Servern ohne grafische Benutzeroberfläche genutzt wird, bringt Buster mehrere Deskop-Umgebungen mit:

  • Cinnamon 3.8
  • GNOME 3.30
  • KDE Plasma 5.14
  • LXDE 0.99.2
  • LXQt 0.14
  • MATE 1.20
  • Xfce 4.12

Die GNOME-Umgebung verwendet im neuen Release erstmals des Wayland-Display-Server als Standard. Xorg ist aber weiterhin installiert und kann beim Login ausgewählt werden.

Das Zugangskontroll-Framework AppArmor ist installiert und eingeschaltet. Bei der Netzwerkfilterung stehen als Befehlsschnittstelle sowohl nftables als auch iptables zur Verfügung. Ein weiteres Sicherheitsfeature sind die Reproducable Builds. Hierdurch ergeben 91% der Quellpakete beim Selbstkompilieren identische Binärpakete.

Die UEFI-Unterstützung wurde verbessert und auch das treiberlose Drucken sollte nun problemlos funktionieren.

Zahlreiche Softwarepakete wurden aktualisiert, obwohl traditionell bei Debian aufgrund des Entwicklungsprozesses nicht die allerneuesten Pakete zum Einsatz kommen. Dafür erhält man eine sehr stabile und gut getestete Distribution.

Alle weitern Informationen, auch die Download- und Update-Möglichkeiten, könnt ihr im Release-Artikel des Debian-Projekts finden. Viel Spass beim Installieren und Updaten. :-)

S9y-Camp 2019: Wie man Nogger aufreißt

Kein S9y-Camp ohne Tux im Sessel auf dem Zimmer im Linuxhotel

Du meine Güte, vor lauter Migrationsgedöns an der Arbeit bin ich ja noch gar nicht dazu gekommen, über das diesjährige Treffen der Serendipity-Community zu schreiben, an dem ich vom 26. bis 28. April in diesem Jahr wieder teilnehmen konnte. Here we go.

Das Treffen richtet sich nicht nur an Entwickler, sondern ausdrücklich auch an Anwender der besten Blogsoftware der Welt, zu denen mich auch zähle. Los ging es wie immer am Freitag Abend. Ab 18 Uhr trudelten die - in diesem Jahr leider wenigen - Teilnehmer ein. So waren schließlich wieder alte Bekannte zusammen :-). Leider mussten wir in diesem Jahr schon wieder auf Dirk verzichten, der das Treffen ursprünglich mal iniziiert hat. Leider konnte er nicht zu uns stossen. Auch unser "Chef" und Hauptentwickler Garvin konnte es nicht einrichten, trotzdem hatten wir uns vorgenommen, an diesem Wochenende wieder einiges an der Weiterentwicklung von Serendipity zu arbeiten.

Essen und Trinken

Aber auch die geselligen Abende im Linuxhotel bei dem einen oder andern Glas Rotwein bzw. Flasche Bier und viel zu viel zu Essen sind inzwischen schon Tradition und runden das Event immer zu einer richtig schönen Veranstaltung ab. Außerdem ist Support untereinander ein wichtiges Thema in unserer Community. An diesem Wochenende konnten wir einen Teilnehmer besonders unterstützen, indem wir ihn in das ordnungsgemäße Öffnen von Nogger-Verpackungen einweisen konnten und wir können mit einigem Stolz sagen, dass er es am Ende des Wochenendes nahezu perfekt beherrschte.

Ich kann also jedem Nutzer von Serendipity (auch wenn man es erst noch werden möchte ;-) ) oder abitionierten Entwickler empfehlen, an unserem S9y-Camp im nächsten Jahr mal teilzunehmen, es lohnt sich wirklich.

Ergebnisse

Was hat sich während des Wochenendes an Serendipity getan? Das wichtigste Ergebnis dürfte die neu veröffentlichte Beta-Version 2.3-beta1 sein, die vorrangig die Kompatibilität zur PHP-Version 7.2 und 7.3 herstellt (die aktuelle stabile Version ist nur bis PHP7.1 kompatibel). Wir haben am Wochenende zwar viel getestet, aber zu einem Beta-Test gehört natürlich auch eine gewisse Anzahl von Nutzern, die die Version auch auf ihren Blogs "in the wild" testen. Also, wenn ihr experimentierfreudig seid, nichts wie ran an die Beta.

Weitere neue Funktionen sind responsive Bilder und das leichtere Erzeugen von Bildergallerien.

Fazit

Aufgrund der wenigen Teilnehmer konnten natürlich nur wenige Dinge umgesetzt werden. Auch deshalb gab es dieses mal wahrscheinlich auch etwas intensivere und leidenschaftlichere Diskussionen als sonst. Trotzdem hat mir das Treffen wieder viel Spaß gemacht und mich - wie jedes Jahr - wieder motiviert, etwas mehr Zeit in das Opensource-Projekt Serendipity zu investieren und das wenige, dass ich als technisch interessierter Nutzer und Nicht-Entwickler beitragen kann, auch beizutragen. Denn schließlich möchte ich noch viele Jahr Freude an meinem kleinen Blog und seiner Blogengine haben.

Bis zum nächsten Jahr und vielen Dank an das Linuxhotel für die Gastfreundschaft und das tolle Angebot für Opensource-Communitys.

In other news

End of Life und Supportende für Kubuntu-Versionen

Kubuntu-Logo

Der Monat April markiert jedes Jahr den Zeitpunkt, an dem die LTS-Versionen von Ubuntu und seiner Derivate das Ende ihres Lebenszyklus erreichen. Die Nutzer von Kubuntu, der Ubuntu-Variante mit KDE-Desktop, müssen diesen April auf zwei Versionen ein Augenmerk legen.

Kubuntu 14.04 LTS wurde im April 2014 veröffentlicht und erreicht nach den regulären 5 Jahren am 25.04.2019 das End-of-Life-Datum.

Eine Besonderheit besteht bei Kubuntu 16.04 LTS. Hier haben die Kubuntu Maintainer bei der Veröffentlichung im April 2016 entschieden, für das Release die Short-LTS Option zu wählen. Das bedeutet, dass nach bereits nach drei Jahren am 21.04.2019 der Support für Kubuntu 16.04 LTS ausläuft.

Betroffene Nutzer sollten also ihr Kubuntu aktualisieren. Hierfür bietet sich das aktuelle LTS-Release 18.04 an, welches wieder fünf Jahre Support anbietet.

Wie ich Nextcloud nutze

Nextcloud Logo

Ich hatte vor einiger Zeit schonmal versprochen, dass ich über mein Nextcloud-Setting schreiben würde. Here we go.

Die Nexcloud-Installation

Ein häufiges Szenario ist ja, dass man Nextcloud auf einem Homeserver laufen lässt und dann über einen DynDNS-Dienst von außen über den Router darauf zugreift.

Ich habe mich anders entschieden und habe meine Nextcloud auf einem Webhosting-Space installiert. Das funktioniert bei meinem Provider ziemlich gut, nur einige Feintuning-Sachen lassen sich nicht einstellen, was mich aber zur Zeit nicht stört.

Als Datenbank-Backend verwende ich ein SQLite-Datenbank. Das ist zwar von Nextcloud nicht unbedingt empfohlen, aber bei einer Installation mit maximal 4 Nutzern dürfte die Performance nicht so sehr ins Gewicht fallen. Ich fand es ganz angenehm, dass dadurch die Datenbank komplett mit im Datenverzeichnis liegt und so von der täglichen Datensicherung des Hosting-Providers mit erfasst ist. Falls es da mal Probleme geben sollte, kann man ja jederzeit auf eine MySQL-Datenbank wechseln.

Nexcloud Basis Frontend

Dateiablage

Die vornehmliche Aufgabe der Nextcloud ist natürlich das Speichern von Dateien. Ich lege hier nicht alle meine Daten ab sondern nutze NC für die folgenden Szenarien:

  • Dateien zwischen verschiedenen Devices austauschen.
  • Dateien auf verschiedenen Devices synchron halten (z.B. die KeePass-Datenbank)
  • Sicherung von Mediendaten von unseren Smartphones
  • Bereitstellung von größeren Dateien an Dritte über Links (z.B. wenn sie zu groß für eine E-Mail sind)

Als externen Speicher habe ich noch meine Magenta-Cloud über Webdav eingebunden, die beim Telekomzugang ja quasi gratis dabei ist.

Neben der Dateiablage kommen noch einige zusätzliche Apps zum Einsatz:

Kontakte

Über die Kontakte-App verwalten alle Familienmitglieder ihre Kontakte auf verschiedenen Geräten. Somit muss man, gerade auf Android-Geräten, nicht zwangsweise alle Kontakte bei Google speichern, was ja sonst standardmäßig geschieht.

Kalender

Ganz wichtig ist die Kalender-App. Wir haben einen Familienkalender, der mit allen Familienmitglieder geteilt wird. So kann (sofern man das als Teenager will ;-) ) jeder auf die allgemeinen Termine zugreifen. Das ist natürlich hauptsächlich für Papa und Mama wichtig. Daneben kann sich natürlich jeder beliebig viele zusätzliche Kalender anlegen, in denen er Termine pflegt, die nicht für alle anderen von Interesse sind.

Notizen

Mit der Notizen-App kann jeder bequem auf verschiedenen Geräten Notizen anlegen. Die App unterstützt dabei auch Markdown, was ich mir zur Zeit bei meinem Workflow zur Blogartikel-Erstellung zu nutze mache. Aber dazu mehr in einem späteren Artikel.

Aufgaben

Die Aufgaben-App ermöglicht die einfache Verwaltung von Aufgaben über einen zusätzlichen Kalender. Funktioniert ebenfalls gut auf allen möglichen Endgeräten.

Bookmarks

Die App zur Erstellung von Bookmarks teste ich derzeit. Ziel ist es hierüber auf jedem - auch fremden - Gerät auf wichtige Links zugreifen zu können. So richtig warm bin ich mit der App aber noch nicht geworden.

Desktop (Linux)

Bei mir zu Hause haben alle Desktop-Systeme, seien es PCs oder Laptops, Linux als Betriebssystem installiert. Die Nutzung würde sich aber so ziemlich genauso auch auf Windows oder MacOS gestalten, denke ich mal.

Wie nutze ich die Nextcloud also auf meinen Desktop-Systemen? Zunächst einmal ganz klassisch über das Browser-Frontend. Aber ich habe auch den Nextcloud-Client installiert, mit dem alle oder auch nur ausgewählte Verzeichnisse der Nextcloud mit dem Desktop synchronisiert werden.

Den Kalender und die Kontakte synchronisiere ich mit dem Mailclient Thunderbird. Hierbei kommen die Addons Lightning für den Kalender und CardBook für die Kontakte zum Einsatz.

Ein Tool unter Linux, das sehr gut mit der Notizen-App von Nextcloud harmonisiert, ist QOwnNotes. Hier kann man bequem (Markdown) Notizen schreiben als auch die Aufgaben aus der Aufgaben-App verwalten.

Smartphone (Andoid)

Auf dem Smartphone kommt die Nextcloud-App zum Einsatz, um Dateien zu Synchronisieren oder mit anderen Geräten auszutauschen. Außerdem nutze ich die praktische "Sofort-Upload"-Funktion, die Fotos oder Videos direkt (oder sobald sich das Smartphone in einem WLAN befindet) in die Nextcloud sichern lässt.

Zum Synchronisieren von Kalender und Kontakten nutze ich zwei Apps: CalDav-Sync und CardDav-Sync. Diese integrieren sich in die jeweiligen Kalender- und Kontakt-Apps unserer jeweils genutzen Android-Geräte.

Mit Nextcloud-Notes und OpenTasks verwalte ich Notizen und Aufgaben. Die Notizen werden dabei direkt über das Nextcloudkonto in der App synchronisiert, OpenTasks nutzt die synchronisierten Kalenderdaten von CalDav-Sync.

Tablet (iOS)

Ich habe auch noch ein etwas älteres iPad im Einsatz (vornehmlich auf der Couch), welches sich auch mit der Nextcloud verbindet. Allerdings nutze ich hier nur den Kalender-Sync mit der nativen iOS-Kalender-App und die Nextcloud-App, um Dateien zu synchronisieren. Aber auch hier gäbe es natürlich noch weitere Möglichkeiten die Nextcloud zu nutzen.

Fazit

Alles in allem ist die Nextcloud für mich ein wichtiges Werkzeug für mein tägliches Online-Leben geworden, das ich nicht mehr missen möchte. Mit der neuen Version 15 kommt auch noch eine SocialMedia-App dazu, mit der man sich auch an diverse Dienste im Fediverse (z.B. Mastodon) anbinden kann. Das finde ich auch sehr interessant und werde es auf jeden Fall einmal testen.

Zum Schluss die obligatorische Frage: Nutzt ihr auch eine Nextcloud und habt ich andere Nutzungsszenarien? Oder benutzt ihr etwas ganz anderes? Ich freue mich auf reges Feedback.

Kubuntu Cosmic Cuttlefish (18.10) Beta erschienen

Bald ist es Oktober und somit steht das nächste Zwischenrelease für die beliebte Linux-Distribution Ubuntu und damit auch für die verschiedenen Desktop-Flavours an. Auch für das von mir bevorzugte Kubuntu, welches auf die Desktop-Umgebung KDE optimiert wurde, haben die Entwickler nun die erste Beta der Version 18.10 zur Verfügung gestellt.

Wie immer gibt es den Hinweis der Kubuntu-Community, dass die Beta-Version nicht für Nutzer gedacht ist, die ein stabiles System benötigen. Eine Beta kann immer Fehler und Probleme enthalten, darüber sollte man sich im klaren sein, wenn man eine solche Version installiert.

Ich nutze schon seit langem immer nur die LTS-Versionen von Kubuntu und habe auf meinem Rechnern vor kurzem die letzte LTS-Version 18.04 installiert. Dennoch habe ich mir das ISO heruntergeladen und in einer virtuellen Maschine installiert, um mir Kubuntu 18.10 einmal kurz anzusehen.

Sofware aufgefrischt

Kubuntu Screenshot 1Für diejenigen Nutzer, die bereits mit der 18.04 unterwegs sind, ändert sich außer dem angepassten Standardhintergrund-Bild nicht viel. Das dunkle Theme der letzten LTS-Version, das mir übrigens sehr gut gefällt, wurde übernommen. Die Plasma-Version wurde auf 5.13.5 aktualisiert. Die KDE-Applications  kommen in der Version 18.04.3 daher.

Der Standard-Webbrowser ist nach wie vor Mozillas Firefox. Nutzt man die Standardinstallation, die eine große Auswahl von Software-Paketen mitinstalliert, steht als Office-Suite LibreOffice 6.1.1 zur Verfügung, das jetzt erstmals QT5 für die Darstellung des Frontends nutzt.

Snaps standardmäßig aktiviert

Discover mit aktiviertem Snap-BackendSchon in 18.04 waren die Paketverwaltungs-Tools Snap und Flatpak im Programmverwaltungs-Tool "Discover" integriert, beide mussten aber zunächst in den Einstellungen aktiviert werden, um genutzt werden zu können. In der Beta sind nun Snaps standardmäßig aktiviert. Das kann bei unerfahrenen Benutzern allerdings zu Verwirrungen führen, wenn auf einmal scheinbar identische Programme mehrmals auftauchen.

Programmliste in DiscoverErst ein Klick auf die verschiedenen Einträge offenbart die Quelle des Programms, ob es also aus einem (Ubuntu) Repository oder aus einem Snap installiert wird. Hier wäre es sicher schöner, wenn man das gleich in der Übersicht erkennen könnte.

Programmquelle im Detail

Kurzes Zwischenspiel für Wayland

Der alternative Anzeige-Server Wayland hat in dieser Beta ein kurzes Zwischenspiel. Man kann diesen bei der Anmeldung am System als Alternative zum X-Server starten. Die Entwickler weisen allerdings ausdrücklich darauf hin, dass die Implementierung noch sehr instabil ist nur zu Testzwecken genutzt werden sollte. In der stabilen Version von Kubuntu 18.10 wird die Option standarmäßig nicht mehr zur Verfügung stehen.

Testen und Bugs melden

Das Ziel einer Beta-Version ist es immer, mögliche Fehler und Stabilitätsprobleme vor dem eigentlichen Release zu finden und noch vorher beheben zu können. Wer sich Kubuntu 18.10 also schonmal installiert (zum Beispiel gefahrlos in einer virtuellen Maschine) und solche Bugs findet, kann die im Bugtracker melden und so zur Qualität vom endgültigen Release beitragen. Happy Testing!