Docker & QEMU auf einem Rechner

Problem : Ich habe Docker und QEMU auf einem Rechner laufen. Nach der Docker Installation war es der virtuellen Maschine in QEMU nicht mehr möglich ins Internet zu zugreifen.

Lösung :
In meinem Fall waren die Default Einstellungen der Docker-CE Installation Schuld. Durch das korrigieren der IP-Tables konnte ich das Problem in meinem Fall beheben.
iptables -A FORWARD -i br1 -o br1 -j ACCEPT
Der Fehler tritt auch manchmal auf wenn der Linux Server in QEMU installiert ist und die lokale Firewall Einstellung das forwarding nicht zulässt.

Websockets mit Apache hinter haproxy

Ich hab hier eine Anwendung die WebSocket verwendet und im HA Umfeld läuft (haproxy). Leider benötigt diese Anwendung auch Sessions (sticky) deswegen musste ich ein wenig basteln ;-) Bei mir läuft eine node.js Anwendung hinter dem haproxy , für andere Fälle muss man vermutlich noch etwas mit der Konfiguration spielen.

haproxy config websockets
Erstmal habe ich in der vhost des Apaches dafür gesorgt das ws auf den richtigen Server geleitet wird.

vhost
   RewriteEngine On
   RewriteCond %{HTTP:Connection} Upgrade [NC]
   RewriteCond %{HTTP:Upgrade} websocket [NC]
   RewriteRule /demoapp/(.*) ws://demo-srv-01:3030/$1 [P,L]

   RedirectMatch           ^/demoapp$   TARGET-URL/demoapp/
   ProxyPass               /demoapp/    http://demo-srv-01:3030/
   ProxyPassReverse        /demoapp/    http://demo-srv-01:3030/

Dann hab ich die haproxy Konfiguration auf die Anwendung zugeschnitten.

haproxy
listen demoapp:3030
  bind *:3030
  # EIO ist immer gesetzt wenn über Websocket
  acl IsStatus urlp(EIO) 3
  use_backend ws_demoapp if IsStatus
  use_backend default if !IsStatus

backend ws_demoapp
  mode http
  # eventuell gesetzte Header löschen
  rspdel ^Server:.*
  rspdel ^X-Powered-By:.*
  # und durch Server demoapp Header ersetzen
  rspadd Server:\ demoapp
  # diese Seite muss HTTP-Status 200 liefern damit der HA erkennt das alles ok ist
  option httpchk HEAD /lbhealth
  # check auf Status wenn der 200 ist ist alles ok
  http-check expect status 200
  # using the `io` cookie set upon handshake
  cookie io prefix indirect nocache
  # Server Endpunkte
  server wsdemoapp01 ws-demo-srv-01:8200 check cookie monitor01
  server wsdemoapp02 ws-demo-srv-02:8200 check cookie monitor02

backend default
  mode http
  # eventuell gesetzte Header löschen
  rspdel ^Server:.*
  rspdel ^X-Powered-By:.*
  # und durch Server demoapp Header ersetzen
  rspadd Server:\ demoapp
  # Server Endpunkte wird normal gebalancet
  balance leastconn
  server node01 ws-demo-srv-01:80 check cookie node01
  server node02 ws-demo-srv-02:80 check cookie node02
Quellen & Info :
https://de.wikipedia.org/wiki/WebSocket
https://load-balancer.info/themen/sticky-session-load-balancing/
https://nodejs.org/en/about/
https://www.haproxy.org/#desc
https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API

SSH : Tunneln zu Maschine hinter Jumphost

Da ich mir das nie merken kann schreib ich das hier mal auf ;-)
Ich möchte die Status Seite eines haproxys in einem Netz anzeigen das nur über einen Jumphost erreichbar ist. Dafür braucht man 2 Tunnel einen auf den Jumphost und dann von Jumphost auf das Zielsystem. Der Jumphost und das Zielsystem müssen mit Key verbunden sein das ein Tunnel möglich ist. ( SSH Login mit authorized_keys )
ssh -L 9090:localhost:9090 USERNAME@JUMPHOST -i SSHKEY ssh -L 9090:localhost:9090 -N USERNAME@TARGETSYSTEM

Ubuntu ( 16.04 / 18.04 ) : SQL Developer von Oracle installieren

Ich bin seit langem nur noch auf Linux unterwegs und habe jetzt den SQL Developer von Oracle gebraucht. Unter Windows ist das ja nur eine setup.exe doppelklicken und durchklicken unter Ubuntu gibt es ein bisschen mehr das man beachten sollte.
So habe ich den SQL Developer unter Ubuntu 16.04 und Ubuntu 18.04 installiert.
Als erstes patchen wir das Ubuntu durch und installieren das openjdk-8-jdk (noch ist der Oracle SQL Developer nur bis Java 9.1 stable)
sudo apt update && sudo apt dist-upgrade -y && sudo apt install openjdk-8-jdk
Dann laden wir die gewünschte Version der Oracle SQL Developers von dieser Seite : Oracle SQL Developer (Other Platforms)
Jetzt installieren wir das Tool durch diese Befehle.
sudo unzip ~/Downloads/sqldeveloper/sqldeveloper-18.4.0-376.1900-no-jre.zip -d /usr/local/bin/
sudo ln -s /usr/local/bin/sqldeveloper/sqldeveloper.sh /bin/sqldeveloper
sudo sed -i 's#"`dirname $0`"#/usr/local/bin/sqldeveloper#g' /usr/local/bin/sqldeveloper/sqldeveloper.sh
Jetzt sollte der sqldeveloper einfach starten wenn man ihn im Terminal startet (durch sqldeveloper).Eventuell werdet ihr beim starten des SQL Developers nach der JDK Installation gefragt dann könnt ihr diesen Pfad angeben
/usr/lib/jvm/java-8-openjdk-amd64
sollte hier etwas schief gehen könnt ihr den Pfad direkt in den Configdateien überprüfen. [ username ] ist hier natürlich euer Benutzername.
  /home/[ username ]/.sqldeveloper/18.4.0/product.conf
  /usr/local/bin/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf
Ich persönlich möchte den SQL Developer nicht immer aus dem Terminal starten deswegen habe ich mir noch eine .desktop datei angelegt.
sudo -s
echo -e "[Desktop Entry]\nName=Oracle SQL Developer\nExec=/usr/local/bin/sqldeveloper/sqldeveloper.sh\nIcon=/usr/local/bin/sqldeveloper/icon.png\nCategories=Development;Office;Science\nType=Application\nStartupNotify=false" > /usr/share/applications/sqldeveloper.desktop
Oracle SQL Developer
Quellen:
https://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html

Nextcloud 14 : Thunderbird Lightning

Mein Thunderbird Lightning konnte nach dem Update meiner Server und der Nextcloud nicht mehr auf die Kontakte und dem Kalender in der Nextcloud zugreifen. Nachdem ich etwas recherchiert habe konnte ich den Fehler lösen indem ich network.cookie.same-site.enabled auf false gesetzt habe.
Dazu geht ihr in Thunderbird auf Edit -> Preferences -> Advanced -> Config Editor dort sucht ihr network.cookie.same-site.enabled und setzt den Wert auf false. Nach einem Neustart von Thunderbird sollte alles wieder funktionieren. So wie es aussieht wird das auch erst in Nextcloud 15 gefixt. (NC15 - Fix)
https://github.com/nextcloud/server/issues/10134
https://bugzilla.mozilla.org/show_bug.cgi?id=1468912
“Sicher ist, dass nichts sicher ist. Selbst das nicht.”
Joachim Ringelnatz