Hetzner Storage-Box als Proxmox-Storage nutzen

Ich nutze ja, wir man an den Tutorials hier merkt, ganz gerne die Hetzner-Server in Verbindung mit Proxmox.

Leider ging mir auf einer meiner Maschinen langsam der Speicherplatz aus, weshalb ich mir Gedanken darüber gemacht habe, wie ich das Problem am einfachsten löse, ohne einen neuen Server oder das – allseits unbeliebte – Flexi-Pack zu buchen.

Weiterlesen…Hetzner Storage-Box als Proxmox-Storage nutzen

Hetzner und Proxmox: pfSense als Gateway

For a english version of this article follow this link.

Ich nutze, wie viele meiner Leser wissen, einige Hetzner-Server im Zusammenspiel mit der Virtualisierungslösung Proxmox.

Um das Setup ein bisschen sicherer zu gestalten und nicht auf die Hetzner-Firewall angewiesen zu sein, habe ich mich vor kurzem darum gekümmert, meine virtuellen Maschinen hinter einer pfSense-VM abzuschirmen. Die Netzwerkkonfiguration war dabei nicht ganz trivial und daher möchte ich meinen Lesern einen kleinen Einblick geben.

Voraussetzungen

  • dedizierter Hetzner-Server (hier: EX41-SSD)
  • lauffähiges Proxmox-System
  • eine Zusatz-IP für die pfSense-VM mit MAC-Adresse (Hetzner-Robot)
  • Subnetz, gerouted auf die pfSense-VM

Sobald diese Voraussetzungen erfüllt sind, können wir uns an die Konfiguration des Systems machen.

Proxmox-Konfiguration

Die Proxmox-Konfiguration sieht bei mir wie folgt aus (/etc/network/interfaces):

auto lo
iface lo inet loopback

iface eth0 inet manual

auto vmbr0
iface vmbr0 inet static
        address  <SERVER-HAUPT-IP>
        netmask  255.255.255.255
        gateway  <SERVER-HAUPT-GATEWAY>
        pointopoint <SERVER-HAUPT-GATEWAY>
        bridge_ports eth0
        bridge_stp off
        bridge_fd 0

        up ip route add 192.168.0.0/16 via 138.201.203.59 dev vmbr0
        up ip route add 172.16.0.0/12 via 138.201.203.59 dev vmbr0
        up ip route add 10.0.0.0/8 via 138.201.203.59 dev vmbr0

        up sysctl -w net.ipv4.ip_forward=1
        up sysctl -w net.ipv4.conf.eth0.send_redirects=0

# Virtual switch for DMZ
# (connect your firewall/router KVM instance and private DMZ hosts here)
auto vmbr1
iface vmbr1 inet manual
        bridge_ports none
        bridge_stp off
        bridge_fd 0

Die Server-Haupt-IP und das Server-Haupt-Gateway könnt ihr aus dem Hetzner Robot auslesen – hier gibt es eigentlich nicht viele Fehlerquellen.

pfSense-Konfiguration

WAN-/LAN-Konfiguration

Die pfSense-Konfiguration ist nicht wirklich komplizierter. Im Proxmox-Interface erstellen wir die VM mit zwei Netzwerkdevices, eins davon gebunden an vmbr0 – unser WAN-Interface – und eins an vmbr1 – das LAN-Interface.

Nach der pfSense-Installation weisen wir die Interfaces in der pfSense entsprechend zu und konfigurieren das WAN-Interface:

pfSense WAN-Konfiguration

Die Konfiguration des LAN-Interfaces sollte selbsterklärend sein – privates Subnetz, kein Gateway.

Virtual IP Address

Um unser Subnetz hinter der pfSense nutzen zu können, müssen wir nun noch jede zu nutzende IP unter „Firewall -> Virtual IPs“ eintragen. Hier ist es möglich, alle IP-Adressen des Subnetzes einzutragen, wir brauchen keine Broadcast- oder Host-Adresse.

Interne IP-Adressen

Wir sind nun in der Lage, unseren Clients im LAN ihre IP-Adressen zu verteilen. Entweder man nutzt hierfür den DHCP-Server der pfSense und vergibt im einfachsten Fall statische Reservierungen oder mann konfiguriert die Clients per Hand.

Ich habe mich für die DHCP-Variante entschieden, auf die Konfiguration möchte ich hier aber nicht weiter eingehen, da das ziemlich selbsterklärend ist.

1:1 NAT

Um unsere internen Clients nun auch aus dem Internet erreichen zu können, müssen wir noch das 1:1 NAT konfigurieren.

1:1 NAT configuration

Firewall-Konfiguration

Zum Schluss ist es nun die Sache des Administrators, die Firewall korrekt zu konfigurieren. Hier gibt es so viele Lösungsansätze, dass ich darauf nicht weiter eingehen möchte – welche Ports wohin geöffnet werden, muss der Betreiber der Firewall selbst entscheiden.

ICMP-Ping-Regel

Ich finde es ganz angenehm, die Erreichbarkeit eines Hosts von außen mit einem ping prüfen zu können. Hierzu lege ich immer als erstes diese Regel in der pfSense-Firewall an:

pfSense ICMP Ping Rule

Als Destination muss natürlich die interne IP bzw. das interne Subnetz angegeben werden.

Fazit

Die Konfiguration einer pfSense-VM bei Hetzner ist nicht ganz trivial, aber doch gut machbar. Ein wenig Trial & Error ist zwar dabei, aber das ist es ja bei Firewalls immer. Als kleinen Tipp möchte ich noch mitgeben, den Zugriff auf das Proxmox-Webinterface nicht zu früh zu sperren, damit man im Zweifelsfall noch Zugriff auf die pfSense-Konsole hat, wenn man sich verkonfiguriert.

Gerne beantworte ich Fragen oder nehme Hinweise zu meinem Setup entgegen. Perfekt ist es sicher nicht, das weiß ich, aber es funktioniert bei mir zuverlässig, weshalb ich darüber eigentlich ganz glücklich bin. Sollte dennoch jemand einen guten Tipp parat haben: gerne ab in die Kommentare damit!

IPv6-Konfiguration

Der IPv6-Konfiguration habe ich einen eigenen Artikel gewidmet.

Migration: OpenVZ zu LXC

Quelle: Linux Containers

Ich habe aktuell noch zwei Kunden, deren Systeme auf der OpenVZ-Virtualisierung aufbauen. Prinzipiell ist die Nutzung von OpenVZ auch kein Problem, dennoch gibt es hier und da ein paar Problemchen und Einschränkungen, die nicht mehr dem heutigen Stand der Technik entsprechen.

Nachdem ich inzwischen bereits zwei Migrationen von OpenVZ zu LXC hinter mir habe, möchte ich kurz erläutern, wie man den Wechsel am Besten durchführt.

Weiterlesen…Migration: OpenVZ zu LXC

Accelerated Mobile Pages aktiviert

Ab heute sind die von mir veröffentlichen Beiträge auch konform zum AMP-Projekt.

Die Umsetzung war sehr simpel, dennoch möchte ich eine kurze Anleitung schreiben – vielleicht hilft sie ja dem ein oder anderen weiter.

Was ist eigentlich „AMP“?

Die Abkürzung AMP steht für „Accelerated Mobile Pages“. Die Website des Projekts schreibt über sich selbst:

AMP ist eine Methode, Webseiten für statische Inhalte zu erstellen, die schnell dargestellt werden.

Viel mehr ist es auch in der Tat nicht. Der User hat auf mobilen Geräten den Vorteil, dass sich Webseiten, die AMP aktiviert haben, wesentlich schneller aufbauen, als „klassische“ Webseiten – natürlich bedeutet das auch gleichzeitig, dass weniger Daten übertragen werden müssen, was das Datenvolumen schont.

Nutzung von AMP mit WordPress

Automaticc, die Firma hinter WordPress, hat auch ein AMP-Plugin veröffentlicht. Dieses Plugin ist kostenfrei und aktiviert schnell und simpel auf der eigenen Website die AMP-Struktur. Mit diesem Plugin hat die Aktivierung von AMP nicht mal eine Minute gedauert, perfekt.

Zusätzlich habe ich, als SEO Framework-Premium-User, auch noch die AMP-Extension des Frameworks aktiviert. Diese Extension bindet das SEO Framework an das vorher installierte AMP-Plugin an, sodass alle Daten korrekt übernommen werden.

Validierung

Google bietet ein Tool zur Validierung der eigenen AMP-Umgebung an. Hier muss man nur die AMP-URL eines Artikels angeben und sieht sofort, ob es Probleme gibt. Die URL ist sehr einfach zu merken, denn man muss nur /amp/ ans Ende einer Artikel-URL anhängen – Beispiel: https://dominicpratt.de/seo-daten-aus-wpseo-exportieren/amp/

Tutorial: Bloonix mit Let’s Encrypt-Zertifikaten

Seit inzwischen vier Jahren überwache ich meine Server mit der grandiosen Monitoring-Lösung Bloonix. Bis heute habe ich dafür ein SSL-Zertifikat von StartSSL benutzt, welches aber bald ablaufen sollte und eine Verlängerung war für mich aus diversen Gründen indiskutabel.

Ich machte mich also auf den Weg, meine Bloonix-Instanz vollständig mit einem SSL-Zertifikat von Let’s Encrypt auszustatten, wie ich es auch hier im Blog benutze. Da ich bei der Konfiguration ein paar Stolpersteine überwinden musste, möchte ich den von mir gegangenen Weg kurz aufzeigen.

Weiterlesen…Tutorial: Bloonix mit Let’s Encrypt-Zertifikaten