Blog

Docker: Reverse Proxy NGINX

Basis GIT-Repo: https://github.com/nginx-proxy/nginx-proxy Commit: https://github.com/nginx-proxy/nginx-proxy/commit/c4ad18fecce35da83adcca334fffd00afd75dced Anpassen der Parameter Da der NGINX im Default nur 5 MB in einem Post zulässt und wir z.B. für eine Registry ein Image von ca. 200 MB benötigen, muss der Parameter “client_max_body_size 200M;” in der Datei nginx.tmpl (Z. 433) ergänzt werden. Im Anschluss kann der Docker Container gebaut werden mittels: docker build -t nginxproxy . Alternativ kann der Container erweitert werden über: FROM nginxproxy/nginx-proxy:alpine RUN { \ echo 'server_tokens off;'; \ echo 'client_max_body_size 2000m;'; \ } > /etc/nginx/conf.

Weiterlesen

APT: Änderungen an der Release File

Sofern bei einer Paketquelle eine Änderung gefunden wird, muss diese Änderung beim Updaten von Hand bestätigt werden. Das kommt beispielsweise vor, wenn ein stable-Release zu oldstable wird. Oder auch, wenn der Paketquellenanbieter die Versionsnummer ändert. N: Für das Depot »http://ppa.launchpad.net/linuxuprising/shutter/ubuntu focal InRelease« wurde der »Label«-Wert von »Shutter screenshot tool and dependencies« in »soon to be discontinued - see description (Shutter screenshot tool and dependencies)« geändert. Die Änderung kann über folgenden Einzeiler bestätigt werden: apt-get --allow-releaseinfo-change update

Weiterlesen

System-Tools: vimdiff

Keyboard Shortcuts: do - Übernahme der Änderungen aus dem anderen Fenster dp - Übertrage die Änderungen aus dem aktuellem Fenster in das andere Fenster ]c - Springe zum nächsten unterschied [c - Springe zum vorherigen Unterschied Ctrl W + Ctrl W - Wechsel in das andere geteilte Fenster If you load up two files in splits (:vs or :sp), you can do :diffthis on each window and achieve a diff of files that were already loaded in buffers :diffoff can be used to turn off the diff mode.

Weiterlesen

Proxy ARP: Routing von einer IP

Beispiel: ens18 (internes Netz) - ens19 (WAN) IP-Adressen: ens19: 192.168.178.66/24 #(Haupt-IP) ens18: 192.168.178.66/32 #(Haupt-IP fürs Routing als zukünftiges Gateway) Routing: ip route add 192.168.178.70 dev ens18 #(zusätzliche IP) Aktivieren von echo 1 > /proc/sys/net/ipv4/conf/all/proxy_arp echo 1 > /proc/sys/net/ipv4/ip_forward Fertig ist das Routing von öffentlichen IP-Adressen. Bei der VM muss dort das kleinste gemeinsame Subnetz gewählt werden und als Gateway ist der Routing-Host einzutragen.

Weiterlesen

Routing: Destination-NAT inkl. aller Ports und entsprechendem Source-NAT

Einrichtung einer DNAT-Regel zum Weiterleiten aller Ports: iptables -t nat -A PREROUTING -p tcp -i eth0 -d 1.2.3.5 -j DNAT --to-destination 192.168.0.1 iptables -t nat -A PREROUTING -p udp -i eth0 -d 1.2.3.5 -j DNAT --to-destination 192.168.0.1 Quelle: https://serverfault.com/questions/234370/forward-all-ports-incoming-to-a-specific-ip-to-internal-ip-address In der /etc/network/interfaces unter vmbr0: Maskieren der privaten Adressen (Masquerade): post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o enp4s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '192.

Weiterlesen

Routing: Weiterrouten von IPs auf lokale IPs

IPv4: In der /etc/network/interfaces unter vmbr0: Aktivieren des Masqurade-Funktion, sodass Pakete auf diesem Subnetz ins Internet geroutet werden können. Dazu bekommt der Server mit der Routing-Funktion eine interne IP. sysctl -w net.ipv4.conf.enp4s0.forwarding=1 sysctl -w net.ipv4.conf.vmbr0.forwarding=1 sysctl -w net.ipv4.conf.all.forwarding=1 post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o enp4s0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o enp4s0 -j MASQUERADE Aufbau eines Destination-NAT, um auf der Routing-IP einzelne Dienste an einen weiteren Server zu erlauben.

Weiterlesen

DHCP / DNS: (DDNS) Automatische DNS-Updates per DHCP

Als Linux-Distribution kommt Debian 8 “Jessie” zum Einsatz, aber die Konfiguration sollte auf anderen Distributionen ähnlich aussehen. Glücklicherweise liefert Debian den BIND-Server (apt-get install bind9) schon mit einer modularen Konfiguration aus, was es einfacher macht, die eigenen Änderungen strukturiert zu pflegen. Die Hauptkonfiguration ist in der Datei /etc/bind/named.conf zu finden. Sie bindet die beiden Dateien /etc/bind/named.conf.options und /etc/bin/named.conf.local ein. Gedacht ist erstere für globale Konfigurationsoptionen, während Sie in der zweiten Datei die DNS-Zonen eintragen.

Weiterlesen

Jailkit: SFTP erlauben für Benutzer

Wie bereits erwähnt, können Sie prinzipiell alle Programme des lokalen Systems in die Jails installieren. Jailkit sieht hierfür »jk_init« vor, das die Informationen der Programme (Pfade, Abhängigkeiten und so weiter) aus der Konfigurationsdatei »/etc/jailkit/jk_init.ini« bezieht und entsprechend installiert. Selbstverständlich sind nicht alle Programme hinterlegt. Wenn Sie zum Beispiel einen SFTP-client im Jail zur Verfügung stellen wollen, müssen Sie die jk_init.ini entsprechend erweitern. Um weitere Programme für unsere Jails zur Verfügung stellen zu können, müssen diese über die »/etc/jailkit/jk_init.

Weiterlesen

Jailkit: Zugriff über SSH auf die Datenbank über das MySQL-Socket

Für MySQL-Server sollte bzw. kann wegen dem sock Problem der [client] Abschnitt in der /etc/mysql/my.cnf erweitert werden (falls man den Hostnamen nicht immer angeben möchte): [client] host = 127.0.0.1 protocol = TCP port = 3306 #socket = /var/run/mysqld/mysqld.sock Wichtig! Bei 64bit Installationen zuerst alle bestehenden Pfade zu den Libs in der /etc/jailkit/jk_init.ini prüfen und ggf. anpassen. Eine angepasste Jailkit-Konfiguration für 64bit: jk_init.ini [mysql_client] comment = mysql client executables = /usr/bin/mysql, /usr/bin/mysqladmin, /usr/bin/mysqlcheck, /usr/bin/mysqldump, /usr/bin/mysqlhotcopy, /usr/bin/mysqlshow, /usr/bin/mysqltest paths = /usr/lib/x86_64-linux-gnu/libmysqlclient.

Weiterlesen

ZFS: Übertragen von Snapshot von einem Remote-Server auf den lokalen Server und umgekehrt

Von Lars Gremme in ZFS

Lokaler Server -> Remote Server Übertragen des ersten Snaphots zfs send -vc rpool/data/vm-100-disk-2@snap | ssh root@192.168.20.3 zfs recv backuppool/vm-100-disk-2 Übertragen der Differenzierungen zfs send -vc -I rpool/data/vm-100-disk-2@snap[vorheriger] rpool/data/vm-100-disk-2@snap2[neuer] | ssh root@192.168.20.3 zfs recv -sdvF backuppool Remote Server -> Lokaler Server Übertragen des ersten Snaphots ssh -l <user> 192.168.20.3 'sudo zfs send-vc rpool/data/vm-100-disk-2@snap' | zfs recv backuppool/vm-100-disk-2 Übertragen der Differenzierungen ssh -l <user> 192.168.20.3 'sudo zfs send -vc -I rpool/data/vm-100-disk-2@snap[vorheriger] rpool/data/vm-100-disk-2@snap2[neuer]' | zfs recv -sdvF backuppool Weitere Optionen Kurzbezeichnung Langbezeichnung Beschreibung zfs send -c –compressed Kompression kann nur bei lz4 auf dem Remote und lokalen Dataset genutzt werden.

Weiterlesen