Alle Beiträge von Malte

Mit ncat/socat einen lokalen Port auf einen anderen lokalen Port weiterleiten

Es kann passieren, dass man einen bestimmten Port, lokal auf einen anderen Port umleiten muss. Meist, wenn man es mit Software zu tun hat, die nicht auf mehrere Ports und/oder IPs binden kann.

Hilfreich ist dann „ncat“. (jedoch nicht netcat oder nc!)

ncat -k -l 10.10.10.10 24 -c "nc 10.10.10.10 2003" &

Kein netcat oder nc deshalb, weil es dort unter Umständen, also z. B. bei der Benutzung für LMTP, zum Abschalten des Sockets kommt.[1]

tcp        0      0 10.10.10.10:24          0.0.0.0:*               LISTEN      909/ncat

Wenn es trotz keepalive-Funktion zu abbrüchen kommt, wäre die nächste Möglichkeit „socat“.

socat TCP-LISTEN:24,fork,range=10.10.10.10/32 TCP:10.10.10.10:2003,shut-none

Quelle

Dateien aus mehreren Quellen herunterladen mit aria2

Kürzlich wollte ich eine größere Datei runterladen, welche via HTTP von mehreren Quellen verfügbar ist. Dabei suchte ich eine bequeme Möglichkeit, aus mehreren langsamen Quellen zeitgleich herunterzuladen um so den Download insgesamt zu beschleunigen.

Einen bequemen Lösungsansatz liefert hier „aria2“, ein Tool, welches als Argument beliebig viele Quellen akzeptiert und eine Datei anschießend von allen angegebenen Quellen zeitgleich herunterläd.

Somit kam ich statt einmal 50 KB/s auf dreimal etwa 50 KB/s, was zwar noch immer nicht viel ist, aber schonmal etwas mehr.

Der entsprechende Befehl für die Kommandozeile lautet so:

aria2c.exe -j 1 http://quelle1.de/datei.zip http://quelle2.com/datei.zip [...]

Unter Linux ist das Tool nach Installation ebenso verwendbar:

aria2c -j 1 http://quelle1.de/datei.zip http://quelle2.com/datei.zip [...]

Das Tool ist auf GitHub verfügbar.

haveged – ein Daemon um Zufallsdatenpools zu befüllen

Wird auf die schnelle viel Entropie auf Server- oder Desktopsystemen benötigt, empfiehlt sich „haveged“. Bei diesem Daemon handelt es sich um eine Software, welche auf Basis des HAVEGE-Algorithmus Zufallsdaten erzeugt und diese in den Entropie-Pool des jeweiligen Systems speist.

In manchen Fällen ist dies eine Notwendigkeit (z. B. Mailserver), in vielen aber auch sonst hilfreich, da es bei viel Entropie konsumierenden Anwendungen oder Prozessen diese beschleunigt. Zusätzlich spart man sich einen Hardware-Zufallszahlengenerator, jedoch muss man auch hier bedenken, dass es keine Garantie für die Zuverlässigkeit des Generators gibt.

Zur Veranschaulichung noch zwei Graphen, deren „Schwingungsbreite“ jeweils den laufenden und den deaktivierten Daemon zeigt (Spitze = aktiviert, Tal = deaktiviert).

Die Installation von haveged gestaltet sich sowohl unter Debian als auch Ubuntu und vermutlich auch weiteren Distributionen sehr einfach. Nachdem das in Debian und Ubuntu mit „haveged“ benannte Paket installiert wurde, sollte dieses automatisch starten und beginnen den Pool zu füllen.

apt-get install haveged

Ob der Pool wirklich gefüllt wird, kann man testen, indem man den aktuellen Wert an vorhandener Zufallsdaten abfragt (z. B. vorher und nachher oder mit kurzzeitiger Abschaltung des Daemons).

cat /proc/sys/kernel/random/entropy_avail

Weitere Möglichkeiten zum erzeugen von Zufallsdaten sind zum Beispiel Mikrofone und Videokameras.

 

Ein PEM-Bundle erstellen

Heute mal ein bisschen leichtere Kost. Bestimmte Applikationen benötigen bestimmte Arten an Formaten von Zertifikaten und Schlüsseln.

Eine der bekannteren Situationen ist wohl, das eigene Zertifikat sowie ein Root-Zertifikat einer CA „zusammenzulegen“.

Hierbei ist in jedem Fall „cat“ ein hilfreicher Weggefährte:

cat unser-zertifikat.pem deren-zertifikat.pem >> bundle.pem

Dies kann um beliebig viele Einträge ergänzt werden, die dann allesamt in der Datei „bundle.pem“ zusammengelegt werden. In manchen Einsatzbereichen ist auch die Zusammenlegung mit dem privaten Schlüssel notwendig. Die Vorgehensweise ist hierbei gleich.

Korrekte Syntax für die Cyrus IMAP-Konfiguration

Mir passieren oft „Schusselfehler“ beim Ändern und Erstellen von Konfigurationen unterschiedlichster Programme. Zuletzt hatte ich mir Cyrus IMAP zu kämpfen, da ich die Doppelpunkte nach den „Schlüsseln“ vergaß. Der besagte „Schusselfehler“ führt bei Cyrus zur folgenden Fehlermeldung verbunden damit, dass der IMAP-Server nicht startet:

mail master[2792]: invalid option name on line 59 of configuration file /etc/imapd.conf
mail master[2792]: exiting

Falsch:

tls_server_cert /etc/pki/zertifikat.crt
tls_server_key /etc/pki/schluessel.key
tls_server_ca_file /etc/pki/wurzelzertifikat.crt

Korrekte Syntax für die Cyrus IMAP-Konfiguration weiterlesen