// fail2ban: geblockte IP-Adressen entsperren

Hin und wieder kommt es vor, dass eine gesperrte IP-Adresse in fail2ban wieder freigeschaltet werden soll. Das Tool fail2ban-client sagt dazu:

$ fail2ban-client -h
Usage: /usr/bin/fail2ban-client [OPTIONS] <COMMAND>
 
Fail2Ban v0.8.6 reads log file that contains password failure report
and bans the corresponding IP addresses using firewall rules.
(...)
    get <JAIL> actionunban <ACT>             gets the unban command for the
                                             action <ACT> for <JAIL>
(...)

D.h. ich beziehe über folgenden Befehl den passenden Befehl um den Clienten/die IP zu entbannen:

$ fail2ban-client get <JAIL> actionunban <ACT>

<JAIL> und <ACT> können, falls nicht bekannt durch die folgenden Befehle bestimmt werden:

$ sudo fail2ban-client status          # Bestimmung von <JAIL>: Status/Liste aller aktiven Jails
$ sudo iptables -L                     # Bestimmung von  <ACT>: zeigt die Chains und Rules von iptables an

<ACT> müsste normalerweise iptables-multiport sein. Für den Jail apache ergibt sich nun folgende Ausgabe:

$ sudo fail2ban-client get apache actionunban iptables-multiport
iptables -D fail2ban-<name> -s <ip> -j DROP

Mit <name> wird der Jail bezeichnet. Somit kann ich den Client mit der IP <ip> wie folgt entsperren:

$ sudo iptables -D fail2ban-apache -s <ip> -j DROP

// Jahresrückblick: Jahresraffer & Wettergraphen 2013

Auch für dieses Jahr habe ich wieder eine Timelapse aus täglichen Snapshots zusammengestellt. Diese wurden immer um 17 Uhr in der Zeitspanne vom 29.12.2012 bis zum 29.12.2013 aufgenommen und anschließend mit ffmpeg zusammengesschnitten. Leider hatte ich – wie unschwer ersichtlich – auch dieses Jahr wieder Probleme mit der Absenkung der Webcam.


→ Timelapse No.9 – One Year in Schutterwald II auf Vimeo, weitere Timelapses auf meinem Vimeo Channel

Weather.chrisge.org hat mittlerweile Wetteraufzeichnungen, die zwei Jahre zurückreichen. Hier die zur Timelapse passenden und zum Vergleich auch noch die von letztem Jahr.

// Raspberry Pi: Livestream mit dem Kamera Modul

Um das Bild des Raspberry Pi Kamera Moduls live auf einen Client zu streamen gibt es eine Menge Möglichkeiten. Ich habe es mir aber einfach gemacht und einfach die Variante mit Netcat und MPlayer aus der Doku etwas angepasst.
Auf dem Client wird dazu logischerweise Netcat und MPlayer benötigt. Der Pi muss wie hier beschrieben für das Kamera Moudul vorbereitet werden. Leider kann so nur auf einen Client, dessen IP-Adresse im Voraus bereits bekannt sein muss, gestreamt werden (was der größte Nachteil dieser Methode ist).
Mit folgenden zwei Befehlen erziele ich eine kaum spürbare Latenz (via LAN oder WLAN) und das bei einer recht guten Bildqualität (dank While-Schleife wartet raspivid so lange bis auf der Clientseite netcat läuft):

# Auf dem Pi ausführen:
pi@ardupi ~ $ CLIENT=""  # IP des Empfängers
pi@ardupi ~ $ while [ 1 ] ; do raspivid -vs -vf -w 1280 -h 720 -fps 10 -t 999999 -o - | nc $CLIENT 5001 ; sleep 5 ; done
 
# Auf dem Client ausführen:
user@client:~$ nc -l 5001 | mplayer -fps 20 -cache 430 -
  • -vs und -vf kann natürlich angepasst werden
  • natürlich kann auf dem Pi auch -w, -h und -fps erhöht werden, dann wird die Latenz aber wieder größer
  • wenn auf dem Client der Stream nicht startet, muss der Wert von cache erhöht werden

Der Trick besteht darin, die FPS auf der Clientseite höher zu setzen als auf dem Pi. Dank dem reinen „Pipen“ via netcat ist die einzige Softwarekomponente mit Cache/Buffer MPLayer, was zusätzlich die Latenz verringert. Um mit MJPG-streamer (Streamer), Browser/VLC (Client) und einer Webcam vergleichbare Latenzen zu erhalten, musste ich die Qualität erheblich herunterschrauben.

// GlobalSat DG-100 unter Linux nutzen

Um Rennradfahrten oder Alpentouren aufzuzeichnen verwende ich einen GlobalSat DG-100 GPS-Datenlogger (Produktvideo). Der Logger verfügt über internen Speicher für 60.000 Trackpoints und hält mit den mitgelieferten Akkus 20 Stunden durch. Über einen Schalter an der rechten Seite kann ein Logginginterval aus drei Modi ausgewählt werden. Die Schalterbelegung (A, B und C) kann frei konfiguriert werden.

Für Windows stellt der Hersteller natürlich ein Setuptool bereit. Dieses ist in meinen Augen ein Beispiel für schlechte Windowssoftware und dem entsprechend nicht gerade angenehm zu bedienen. Der Linuxuser kann auf Tools wie globdog-dg100, dg100util, DG100 GPS Driver oder GPSBabel zurückgreifen.

Konfiguration des Loggers: globdog-dg100

Zur Konfiguration des Loggingformats und Intervalls verwende ich globdog-dg100. Dieses Tool bietet darüber hinaus die Möglichkeit die Tracks exportieren und den Logger als GPS-Maus zu verwenden.
Zunächst habe ich die Intervalle wesentlich verkleinert. In Mode C wird in meinen Einstellungen jede Sekunde ein Trackpoint gesetzt, was sich gut für Autofahrten und Rennradtouren eignet (hier ein Beispiel), in Mode B alle 5 Sekunden. Mit dieser Einstellung hält der Logger problemlos drei Tourentage in den Alpen durch (hier ein Beispiel).
Außerdem habe ich das Format so geändert, dass nun auch die Geschwindigkeit und die Höhe mitgeloggt werden und nicht nur die Position wie in der Standardeinstellung.

Export der Tracks: GPSBabel

Alle oben aufgezählten Tools können Tracks vom Logger exportieren. Meine Wahl fiel aber auf GPSBabel, da ich eine einfache CLI-Lösung benötige, die in Shellskripte integriert werden kann. GPSBabel bietet eine sehr einfache Möglichkeit die Tracks als GPX zu exportieren:

$ gpsbabel -t -i dg-100 -o gpx /dev/ttyUSB0 outputfile.gpx          # Track exportieren, aber nicht löschen
$ gpsbabel -t -i dg-100,erase -o gpx /dev/ttyUSB0 outputfile.gpx    # Track exportieren und löschen
$ gpsbabel -t -i dg-100,erase_only /dev/ttyUSB0                     # Track löschen

Dabei werden leider über den Knopf an der Vorderseite gesetzte Waypoints ebenfalls als Trackpoints exportiert – was mich nicht stört, da ich diese Funktion nicht verwende.

Hello World!

This is the personal website of Christoph Winkler aka chrisge.
Here you will find a sort of blog and some information about me and my projectshave fun!

Recent Comments
Latest Tweets
QR-Code: aktuelle Seiten-URL
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Noncommercial-Share Alike 3.0 Unported