Eine einfache stateful Firewall mit iptables

Einführung Mit iptables kann man unter Linux eine Firewall konfigurieren. In diesem Artikel zeige ich die wichtigsten Befehle und Arbeitsschritte um eine Firewall für IPv4 und IPv6 einzurichten. Hilfsvariabeln und Hilfsfunktionen Folgende Hilfsvariabeln vereinfachen einem die Kontrolle über de einzelnen Befehle und Konfigurationsdateien: IPTABLES="/sbin/iptables" IPTABLES_SAVE="/sbin/iptables-save" IPTABLESCONFIG="/etc/iptables/iptables.rules" IP6TABLES="/sbin/ip6tables" IP6TABLES_SAVE="/sbin/ip6tables-save" IP6TABLESCONFIG="/etc/iptables/ip6tables.rules" IP46TABLES="ip46tables" Die Hilfsfunktion ip64tables verwende ich, um Befehle gleichzeitig mit iptables und ip6tables auszuführen. Somit verhindert man den Fehler, dass man Regeln nur für IPv4 und nicht für IPv6 erstellt: ...

20.12.2013 · 16 min · Emanuel Duss

EXIF Zeitstempel nachträglich hinzufügen mit jhead

Einführung Für mich ist es wichtig, dass Fotos mit einem korrekten Zeitstempel versehen sind. Falls ein Bild noch kein EXIF Zeitstempel besitzt, kann man den mit jhead einfach hinzufügen. Foto mit Zeitstempel versehen Zuerst muss eventuell noch der EXIF Header dem Foto hinzugefügt werden: $ jhead -mkexif foto.jpg Danach kann man mit der Option -ds von jhead das Aufnahmedatum in der Form yyyy:mm:dd setzen: $ jhead -ds2013-05-23 foto.jpg Will man zusätzlich noch die Zeit angeben, macht man das mit der Option -ts im Format yyyy:mm:dd-hh:mm:ss: ...

01.08.2013 · 1 min · Emanuel Duss

Eigener Dynamischen DNS (DDNS) Service betreiben (Eigenes DynDNS)

Einführung Mit Dynamischem DNS (DDNS) kann man DNS Einträge zur Laufzeit verändern. So kann z. B. ein DHCP Server autoomatisch zu jedem DHCP Client ein DNS Eintrag erstellen. Ein anderer Anwendungszweck ist das bereitstellen eines DNS-Eintrags (z. B. A oder AAAA Records) für eine sich oft wechselnde IP-Adresse, damit diese immer unter dem selben Namen erreichbar ist. Bekannte Anbieter solcher Dynamischen DNS Services sind dyn.com oder noip.com. So einen Dienst kann man aber auch selber betreiben. ...

01.07.2013 · 4 min · Emanuel Duss

Zahlensysteme umrechnen mit bc und Script dazu

Einführung Ich muss oft Zahlen von einem Zahlensystem in ein anderes umwandeln. Für kleine Zahlen und bekannte Basen geht das noch im Kopf, aber wenn man viele oder grosse Zahlen umwandeln will, nimmt man gerne die Hilfe eines Computers entgegen. Damit ich nicht auf eine Internetverbindung und ein Onlinetool angewiesen bin, entwickelte ich ein kleines Script, welches Zahlensysteme für mich umwandelt. Zahlensysteme umrechnen mit bc Mit bc kann man ganz einfach Zahlensysteme umrechnen. Das kleine Tool bc ist bei allen gängigen Linux Distributionen installiert. Mit ibase gibt man das Input-Zahlensystem und mit obase das Output-Zahlensystem an. Auf der Konsole sieht das so aus: ...

04.06.2013 · 3 min · Emanuel Duss

Zwingender monatlicher Login bei DynDNS.org automatisieren (Auto Login Script)

Einführung Seit kurzer Zeit muss man sich, damit man seinen Hostnamen nicht verliert, jeden Monat im Account von DynDNS.org einloggen. Mit einem einfachen Skript und einem Crontab Eintrag lässt sich das automatisieren. Automatisch einloggen Folgendes Skript automatisiert das Login im Account von DynDNS.org. Man muss nur noch den Usernamen und das Passwort eintragen. #!/usr/bin/env bash # # dyndnslogin - Automate login to prevent account expiration # ######################################################################## # DynDNS Settings (default-value, overwrite with $1 and $2) # If you have special chars in your password, you need to urlencode: # python -c "from urllib.parse import quote; # print(quote('your password', safe=''))" DEFAULT_USERNAME="username" DEFAULT_PASSWORD="password" # Import settings from /etc/ddclient.conf if available DDCONF="/etc/ddclient.conf" if [ -r "$DDCONF" ] && grep -q "^server=members.dyndns.org" "$DDCONF" then DEFAULT_USERNAME="`awk -F= '/^login=/{ print $2 }' $DDCONF`" DEFAULT_PASSWORD="`awk -F= '/^password=/{ print $2 }' $DDCONF`" fi USERNAME=${1:-$DEFAULT_USERNAME} PASSWORD=${2:-$DEFAULT_PASSWORD} PROGNAME=dyndnslogin COOKIE=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_cookie_XXXXX` OUTPUT=`mktemp --tmpdir="/tmp" -t ${PROGNAME}_output_XXXXX` USERAGENT="Mozilla/5.0" MULTIFORM=`curl -s -A $USERAGENT -c $COOKIE https://account.dyn.com \ | awk -F\' '/multiform/{ print $6 }'` curl -s --location -A "$USERAGENT" -b $COOKIE -c $COOKIE -o $OUTPUT \ --data-urlencode "username=$USERNAME&password=$PASSWORD&iov_id=&submit=Log+in&multiform=$MULTIFORM" \ https://account.dyn.com/ if grep -i -E "(Welcome|Hi).*$USERNAME" $OUTPUT > /dev/null 2>&1 then echo Login successful else echo Login failed FAILED="true" fi rm $COOKIE rm $OUTPUT if [ "$FAILED" = "true" ] then exit 1 fi Nach dem Ausführen erhält man die Rückmeldung, ob das Login funktioniert hat oder nicht. ...

23.05.2013 · 2 min · Emanuel Duss

Den Computer als Wecker benutzen

Einführung Damit ich am Morgen von passender Musik geweckt werde, habe ich mir ein Skript geschrieben, welches mein Notebook in einen Wecker verwandelt. So stelle ich normalerweise den Notebook vor dem Schlafen gehen in den Sleep-Modus, welcher 30 Minuten Musik abspielt und danach in den Stanbdy fährt. Am Morgen schaltet mein Notebook automatisch zur eingestellten Weckzeit ein und spielt die Musik weiter. So starte ich meist gut in den Tag. Hier beschreibe ich, wie ich das gemacht habe. ...

30.03.2013 · 5 min · Emanuel Duss

Fotos zu einem Zeitraffer zusammenfügen mit ffmpeg

Einführung Manche Digitalkameras können Fotos in einem bestimmten Zeitintervall auslösen. Nach ein paar Stunden sammeln sich viele Fotos in einem Ordner an, welche man mit ffmpeg in ein Video umwandeln kann. Ich habe einige Zeit gebraucht, bis alles endlich funktioniert hat. Hier seht ihr, wie man das mit ffmpeg machen kann. Schritt für Schritt Ausgangslage Als Ausgangslage habe ich viele Fotos in einem Verzeichnis: $ ls 2011-07-08_13-59-58.jpg 2011-07-08_15-01-27.jpg 2011-07-08_16-02-57.jpg 2011-07-08_14-00-07.jpg 2011-07-08_15-01-38.jpg 2011-07-08_16-03-08.jpg 2011-07-08_14-00-17.jpg 2011-07-08_15-01-47.jpg 2011-07-08_16-03-17.jpg [...] In meinem Fall sind das 1104 Fotos: ...

22.11.2012 · 3 min · Emanuel Duss

Externe Bildschirme verwalten mit xrandr

Einführung An einem Computer oder Notebook angeschlossene Bildschirme kann man sehr einfach mit dem Tool xrandr verwalten und steuern. Dabei kann man z. B. den Bildausschnitt oder die Auflösung festlegen. Dieser Artikel gilt für Bildschirme wie auch für Beamer. Bildschirme erkennen Mit folgendem Befehl kann man feststellen, welche Bildschirme einem zur Verfügung stehen und wie die aktuelle Konfiguration aussieht: $ xrandr --query Wenn an meinem Notebook kein externer Bildschirm angeschlossen ist, sieht das so aus: ...

26.08.2012 · 5 min · Emanuel Duss

Fotos nach Datum umbenennen mit jhead

Einführung Digitalkameras speichern Bilder oft unter Dateinamen wie DSC00523.jpg. Mit diesen nicht sprechenden Namen kann ich nicht viel anfangen. Das Datum und die Uhrzeit des Fotos ist für den Dateinamen viel besser geeignet. EXIF-Daten auslesen Die Digitalkamera speichert das Datum und die Uhrzeit in den so genannten EXIF-Tags. Mit jhead kann man diese Tags auslesen und bearbeiten. Mit jhead dateiname.jpg kann man sich die EXIF-Tags anzeigen lassen: emanuel@discordia:~ $ jhead DSC00523.JPG File name : DSC00523.JPG File size : 2277972 bytes File date : 2011:02:06 13:45:34 Camera make : Canon Camera model : Canon DIGITAL IXUS 80 IS Date/Time : 2010:12:27 12:02:37 Resolution : 2592 x 1944 Flash used : No Focal length : 14.3mm (35mm equivalent: 90mm) CCD width : 5.72mm Exposure time: 0.020 s (1/50) Aperture : f/4.5 Focus dist. : 6.57m ISO equiv. : 800 Whitebalance : Auto Metering Mode: pattern In der Zeile Date/Time sieht man, dass das Foto am 27.12.2010 um 12:02:37h erstellt wurde. ...

06.02.2011 · 2 min · Emanuel Duss

Bilder verkleinern mit convert (imagemagick)

Einführung Wenn man im Internet eine Fotogalerie publizieren will, oder man viele Fotos per E-Mail verschicken will, sollte man die Fotos verkleinern. Ich habe mir ein Skript geschrieben, welches die Auflösung der Bilder verkleinert und die JPEG-Qualitätsstufe heruntersetzt. Somit kann man ganz schnell viele Bilder verkleinern. Einzelne Bilder verkleinern Mit dem Befehl convert kann ein Bild verkleinert werden. Hierzu muss das Paket imagemagick installiert sein. convert -resize 2048x2048 -quality 60 bild.jpg klein.jpg Man sieht gut, wie sich die Dateigrösse verändert: ...

12.12.2010 · 2 min · Emanuel Duss
×