[z]-Blog

Über Open Source im Alltag

Kategorie: Linux

LXC-Container mit zwei+ IP-Adressen in verschiedenen Netzwerken

Mit mehrere Netzwerkgeräten kann man einem LXC-Container mehrere IP-Adressen in unterschiedlichen Netzen zuweisen.

Dazu erstellt man in der LXC-Container-Konfiguration (z.B.: /var/lib/lxc/beispiel-kontainer/config) zwei (oder mehr) Blöcke mit entsprechenden Netzwerk-Einstellungen.

lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = br0
lxc.network.name = eth0
lxc.network.hwaddr = 00:16:3e:1d:3f:2b
lxc.network.ipv4 = 123.122.121.120/32
lxc.network.ipv4.gateway = 188.187.186.185


lxc.network.type = veth
lxc.network.flags = up
lxc.network.link = lxcbr0
lxc.network.name = eth1
lxc.network.hwaddr = 00:16:3e:1d:4f:1b
lxc.network.ipv4 = 10.0.0.10

In diesem Beispiel hat der Host die IP-Adresse 188.187.186.185 und der Container die private 10.0.0.10 und öffentliche 123.122.121.120 IP-Adresse. Da Host-IP und die öffentliche IP-Adresse des Containers in unterschiedlichen Netzwerken liegen muss man beim Host eine entsprechende Route eintragen.

Hier der entsprechende Auszug aus /etc/network/interfaces des Hosts:

iface br0 inet static
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0
        address 188.187.186.185
        broadcast 188.187.186.255
        gateway 188.187.186.1    
        up route add -host  123.122.121.120/32 dev br0

Nun kann der Container neu gestartet werden. Ohne Konfiguration innerhalb des Containers kennt dieser nun 2 neue Netzwerkgeräte, IP-Adressen und die entsprechenden Routen:

$ route -n
Kernel-IP-Routentabelle
Ziel                         Router                      Genmask                   Flags  Metric Ref    Use Iface
0.0.0.0                   188.187.186.185    0.0.0.0                   UG            0       0        0 eth0
10.0.0.0                 0.0.0.0                    255.0.0.0               U              0       0        0 eth1
188.187.186.185   0.0.0.0                    255.255.255.255   UH            0       0        0 eth0

Bash Prompt mit zufälligen Farben

Bildschirmfoto von »2016-06-21 00-08-29«

Wer mit vielen Containern oder Rechnern arbeitet verliert schnell den Überblick darüber in welcher Shell man sich gerade befindet. Aus diesem Grund habe ich mich entschieden die Farben meines Prompts zufällig generieren zu lassen, damit ich schnell merke in welcher Shell ich mich befinde.

Dazu habe ich bei jedem Container drei Zeilen in die ~/.bashrc der root Nutzer eingetragen:

r_col1=$(( $RANDOM * 6 / 32767 +1 ))
r_col2=$(( $RANDOM * 6 / 32767 +1 ))
PS1='${debian_chroot:+($debian_chroot)}\e[3$(echo $r_col1)m\u\033[0m@\e[3$(echo $r_col2)m\h\033[0m:\w\$ '

Die ersten beiden Zeilen generieren jeweils einen Zufallswert zwischen 1 und 6. Dann werden diese als Farb-Codes in den Prompt eingesetzt:

\e[3$(echo $r_col1)m\u

Dieser Teil fügt mit \e[34m einen zufälligen Farbcode hinzu (31 – 36). Darauf folgt der Benutzername mit \u. Das selbe dann nochmal in anderer Farbe für den Hostname (\h).

Durch die Kombination von Benutzername und Hostname gibt es insgesamt 36 Farbkombinationen. Wer Rot als Farbe ausschließen möchte kann aus dem +1 einfach ein +2 machen.

Das kann man bestimmt auch etwas eleganter umsetzen. In diesem Sinne: Verbesserungsvorschläge willkommen. 😀

mpv – Videos per Tastendruck löschen und verschieben

Wenn man eine größere Video-Sammlung zum Sichten hat, oder Video-Podcasts automatisch herunterladen lässt, dann ist es oft aufwendig die Dateienin einem zweiten Schritt zu löschen oder sortieren.

Mit mpv und selbst definierten Tastenkombinationen in der Konfigurationsdatei ~/.mpv/input.conf kann man den Prozess vereinfachen.

Folgende Zeile in der Datei löscht beim Drücken von Strg+r die aktuell angezeigte Mediendatei und zeigt eine Meldung an.

ctrl+r run "rm" "-v" "${path}" ; show_text "Gelöscht: ${filename}"

Um die Datei nur in den Papierkorb zu verschieben, nicht aber zu löschen kann das Programm trash-cli anstelle von rm verwendet werden. Das Programm befindet sich in den Repositories der meisten großen Linux Distributionen.

Zum verschieben verwendet man mv anstelle von rm.

ctrl+m run "mv" "-v" ${path} "/home/Schreiberling/Schnitt/gesichtet" ; show_text "Nach ~/Schnitt/gesichtet verschoben"

mpv – Tastenkombination zum Drehen von Videos

In der heutigen Zeit kommt es immer häufiger vor dass man mit vertikalen Videos zu tun hat. Es kann viele verschiedene Gründe geben warum warum die Metadaten zur Orientierung des Videos verloren gehen. Für diese Fälle bietet es sich an das Video einfach im Video-Player zu drehen.

Um bei mpv eine Tastenkombination zu vergeben fügt man folgende Zeilen in die Datei ~/.mpv/input.conf hinzu:

# Rotate by 90 degrees clockwise
Alt+RIGHT no-osd vf add rotate=90
# Rotate by 90 degrees counterclockwise
Alt+LEFT no-osd vf add rotate=270

Danach kann man mit „alt“+“Linker Pfeiltaste“ bzw. Rechter Pfeiltaste das Video um 90° gegen oder im Uhrzeigersinn drehen.

Passwort-Recovery bei einem Headless RaspberryPi

Hat man seinen RaspberryPi länger nicht benutzt, oder will SD-Karten mit alten Installationen nutzen kann es sein dass man das Passwort vergessen hat.

Da der RaspberryPi headless läuft kann man nicht einfach einen Bildschirm und Tastatur anschließen und via init=/bin/bash in eine Shell starten. Zumindest ist das in meinem Fall so.

Deshalb nimmt man sich einfach die SD-Karte und öffnet die Passwort-Datei /etc/shadow dort kann man nun folgendes tun:

  1. Den Passwort-Hash ersetzen
  2. Den Passwort-Hash entfernen

Bei der ersten Methode braucht es zuerst einen neuen Hash den man einsetzen kann. Bei Debian und ebenso Raspbian wird der SHA-512 Hashing-Algorithmus verwendet.

In der /etc/shadow steht in der zweiten Spalte der Passwort-Hash, die Spalten werden hier mit : getrennt:

root:$6$X1FoOoKgi4PZR[…]

Fängt der Hash mit $6 an dann handelt es sich um SHA-512. Um nun einen neuen Hash zu generieren nutzt man folgenden Befehl:

mkpasswd -m sha-512 

Dann wird man nach dem Passwort gefragt und es wird ein Hash erstellt. Diesen kann man dann in die Passwort-Datei kopieren.

Man kann aber auch ganz einfach den Hash ganz entfernen, dann braucht es überhaupt kein Passwort mehr. Danach sollte man beim einloggen mit passwd zur Sicherheit jedoch ein neues Passwort vergeben.

GRUB auf allen RAID-Festplatten installieren (Debian & Derivate)

Installiert man ein RAID möchte man im Zweifelsfall von jeder Festplatte booten können. Deshalb sollte GRUB auf allen Festplatten installiert sein. Der Installer von Debian installiert GRUB standardmäßig jedoch nur auf einer Festplatte.

Die einfachste Methode GRUB auf allen Festplatten eines RAIDs zu installieren ist über den folgenden Befehl:

dpkg-reconfigure grub-pc

Dort kann man nun die Festplatten auswählen auf denen GRUB installiert wird. Ändert man die Konfiguration von GRUB wird die Änderung automatisch auf alle Festplatten übertragen.

grub-raid

© 2019 [z]-Blog

Theme von Anders NorénHoch ↑