Kategorie-Archiv: Linux

Docker-Container per DNS auflösen

Ich habe auf meinem Root-Server alle in Docker-Containern laufen. Also WordPress für mehrere Webseiten. Alles PHP-FPM. Jetzt starte ich meine Docker-Container alle mit einem entsprechenden Hostnamen. Also meistens so wie die Domain heißt plus „.docker“. Also zum Beispiel „klein0r-de.docker“. Dieses Ziel gebe ich dann in meinem Apache für ProxyPathMath an.

Soweit, so gut. Apache läuft bei mir übrigens nicht in einem Container. Warum eigentlich nicht? Könnte ich mir auch noch überlegen.

Jedenfalls habe ich dann das Problem, dass mein Host diese Domain nicht auflösen kann! Also habe ich anfangs die einzelnen Seiten in die etc/hosts eingetragen. Blöd ist dabei nur, dass die IPs natürlich rotieren können, sobald der Server mal neugestartet wird. Also habe ich plötzlich andere Inhalte hinter den Domains – extrem nervig. Das ist mir jetzt 2x passiert und nun habe ich mich mit einer Lösung beschäftigt. Am einfachsten war dabei für mich der Weg über einen weiteren Docker-Container für DNS.

Nun werden alle DNS-Anfragen in den Container gejagt. Außerdem werden nun die Hostnamen der Docker-Container richtig aufgelöst und alles funktioniert wunderbar wie ich mir das vorgestellt habe. Sobald man den Container stoppt ist übrigens wieder alles wie vorher. Also kein Risiko. Danke restart=always wird der Container also nun auch immer brav mitgestartet und alles überlebt ebenfalls einen Neustart des Servers. Puh, das war einfacher als ich dachte!

Nun bin ich kein Sysadmin, sondern Softwareentwickler. Daher lese ich mir solche Themen immer an und bin froh, dass es so einfache Lösungen wie diese gibt. Wenn Du eine bessere oder einfachere Idee hast: Immer her damit!

fail2ban und mysql 5.7 – Filter funktioniert nicht direkt

Normalerweise legt man einfach eine neue Datei nach /etc/fail2ban/jail.d/mysql.conf, aktiviert das richtige Jail und schon funktioniert alles. Leider nicht so im Falle von mysql 5.7 – scheinbar hat sich da der Logeintrag etwas geändert. Meine Datei sieht jetzt so aus:

Und den Filter musste ich wie folgt anpassen:

Die erste Zeile habe ich dabei nicht angefasst, sondern nur die zweite hinzugefügt. Statt einer Warning erscheint bei mySQL 5.7 nur noch „Note“. Der reguläre Ausdruck ist natürlich relativ allgemein, aber funktioniert für mich wunderbar. Endlich werden die ganzen Login-Versuche auf root entsprechend geblockt.

Testen kann man das ganze wie folgt:

Bei mir sieht die Ausgabe nun so aus:

Sieht also sehr gut aus!

Fail2Ban und Zugriff auf Docker-Container

Ich hatte heute das Problem, dass Fail2Ban (läuft auf dem Host) zwar munter Regeln in den iptables angelegt hat, aber die Regel keine Wirkung auf alle weitergeleiteten Ports der Docker-Container hatte.

Die Lösung dafür ist relativ einfach – man darf die Regeln nur nicht als INPUT definieren, sondern muss diese für Forward definieren. Damit Ihr ein etwas leichteres Leben habt, habe ich eine neue Action geschrieben, welche ganz einfach angewendet werden kann:

Für alle Jails, welche für Docker-Container gelten, verwende ich als „banaction“ nur eben diese. Funktioniert bisher einwandfrei!

ipkg unter DS5 auf einer Synology DS214+ installieren

Ich habe nun hunderte Beiträge im Netz gelesen, ständig für andere Versionen. Dann habe ich dieses gist gefunden und konnte ipkg erfolgreich auf meiner DS214+ zum Laufen bekommen. Was ein Krampf! In der vorigen Version war das wohl alles leichter. Ich möchte hier noch einmal alle Schritte erläutern, damit auch andere in den Genuss von ipkg auf Ihrer DiscStation kommen. Weiterlesen…

Synology: sendmail per shell aktivieren

Um auf einer Synology DiscStation über Bash-Scripts per sendmail Mails verschicken zu können (oder auch über php-Scripts), muss zuerst das Paket „Mail Server“ installiert werden. Erst dann steht einem auf der Shell der Befehlt „sendmail“ zur Verfügung.

Danach geht man in die Einstellungen unter der neuen Anwendung „Mail Server“ und dort auf SMTP (schließlich wird dieses Protokoll zum versenden von Mails genutzt). Da ich die Mails nicht direkt vom NAS verschicken möchte, sondern über meinen Webserver, richte ich dort ein weiteres Postfach ein, und gebe die entsprechenden Daten unter „SMTP-Relay“ ein. Weiterlesen…

Komplettes Webserver-Backup auf eine Synology DiscStation

Wie schon berichtet, steht bei mir zu Hause eine Synology DS214+. Nun läuft diese Seite (und auch meine anderen Seiten) alls bei all-inkl. Dort habe ich ein Premium-Paket mit SSH-Zugang. Das Ganze bietet sich natürlich an, um regelmäßig ein Backup des kompletten Servers zu machen und auf der Synology zu speichern. Dabei ist der Plan, täglich die kompletten Daten und auch die mysql-Datenbanken zu sichern.

Was braucht man dafür?

  • SSH-Zugang
  • Einen Benutzer auf der Synology, welcher mit Key-Authentication auf den Webserver darf (dazu muss für den neuen Benutzer ein Key erstellt werden, welcher auf dem Webserver hinterlegt wird). Wie genau das geht, erklären hunderte von Beiträgen im Netz.
  • Etwas Platz auf der DiscStation

Ich habe mir dazu einen neuen Benutzer namens „backup“ (kreativ, oder?) auf der Synology angelegt, welcher als einziger Zugriff auf einen neuen gemeinsamen Ordner Namens „backup“ bekommt. Alle anderen Benutzer dürfen dort nicht schreiben – außer die Administratoren. Weiterlesen…

GPIO: Erste Schritte mit dem Raspberry Pi

Vor einiger Zeit habe ich eine Artikelserie über das Thema Hausautomatisierung geschrieben. Mittlerweile steht das ganze Zeug leider relativ ungenutzt in der Gegend rum. Das soll sich nun ändern. Und zwar möchte ich nun etwas mit GPIO rumspielen – also den Pins auf dem Raspberry. Ich habe sowohl das Model der ersten generation, als auch der zweiten Generation hier. Da die Pins vom neueren Modell vom Touch-Display belegt sind, nutze ich das ältere Modell. Aber es sollte alles auch mit der neusten Generation funktionieren.

Also habe ich mir ein Start-Kit bestellt, damit ich nicht alles einzeln zusammensuchen muss. Sicher etwas teurer, dafür hat man jede Menge Kram zum spielen dabei. Alles verpackt in einer kleinen praktischen Plastikbox.

Als erstes habe ich wiringPi installiert. Der Build dauert eine ganze Weile – also ruhig einen Kaffee holen in der Zeit. Weiterlesen…