Zum Hauptinhalt springen Skip to page footer

Virtualisierung bei Hetzner

Bei Hetzner ist die Virtualisierung auf einem Root-Server leider durch die bereitgestellte Infrastruktur etwas aufwendiger. Damals war lediglich eine Virtualisierung durch Proxmox VE möglich, mittlerweile ist die Virtualisierung mit VMWare ESXi, sowie Hyper-V möglich (andere Systeme möglicherweise ebenfalls).

Gezwungenermaßen habe ich mich damals mit Proxmox VE auseinandersetzen müssen und habe dadurch das Potenzial dieser Software kennen gelernt.

Im nachfolgenden Beitrag möchte ich auf meine Serverkonfiguration eingehen. Diese umfasst ein auf dem Root-Server laufendes Proxmox VE (basierend auf einem Debian Grundsystem) sowie 4 interne Netzwerke, getrennt und gefiltert durch eine pfSense Firewall. Ich versuche, sofern möglich, alle Dienste per IPv4 und IPv6 (also Dual-Stack) anzubinden.

Grundinstallation Proxmox
Zu beginn muss der Root-Server in das Rescue-System gebootet werden, dies wird ganz bequem über den Hetzner-Robot durchgeführt. Über den Befehl "installimage" und dem Menupunkt "Virtualization (!!NO_SUPPORT!!)" kann ein Debian Grundsystem sowie dem Proxmox VE darauf installiert werden. Nach dem ersten Startvorgang kann Proxmox über die Public IP und dem Port 8006 aufgerufen werden (https://176.123.111.1:8006).

Für eine Detaliertere Installationsanleitung bitte auf das Hetzner Wiki zurückgreifen. Ich denke, hier sind bereits ausreichend Informationen vorhanden.

Netzwerkkonfiguration Proxmox
Die öffentlichen IP-Adressen:

176.123.111.1/32 (für Proxmox selbst)
176.123.222.1/32 (für das 1 Private Netzwerk)
176.123.222.2/32 (für das 2 Private Netzwerk)
176.123.222.3/32 (für das 3 Private Netzwerk)
176.123.222.4/32 (für das 4 Private Netzwerk)
2a01:abc:abc:1234::/64 (später zu /68 gesubnettet und für alle Hosts und Netzwerke)
Die routing IPv4 IP-Adressen:

10.9.75.1/30 (vmbr11 auf Proxmox)
10.9.75.2/30 (vtnet0 auf pfSense)
10.9.75.5/30 (vmbr12 auf Proxmox)
10.9.75.6/30 (vtnet2 auf pfSense)
10.9.75.9/30 (vmbr13 auf Proxmox)
10.9.75.10/30 (vtnet3 auf pfSense)
10.9.75.13/30 (vmbr14 auf Proxmox)
10.9.75.14/30 (vtnet4 auf pfSense)
Die privaten IPv4 Netzwerke:

192.168.1.0/24 (Netzwerk1 - vmbr21 (Proxmox) & vtnet1 (pfSense)
192.168.1.0/24 (Netzwerk2 - vmbr22 (Proxmox) & vtnet2 (pfSense)
192.168.1.0/24 (Netzwerk3 - vmbr23 (Proxmox) & vtnet3 (pfSense)
192.168.1.0/24 (Netzwerk4 - vmbr24 (Proxmox) & vtnet4 (pfSense)
192.168.11.0/24 (OpenVPN)
IPv6 Subnetting:

Grundnetzwerk: 2a01:abc:abc:1234::/64

Subnetting auf /68:

2a01:abc:abc:1234:0000::/68
2a01:abc:abc:1234:1000::/68
2a01:abc:abc:1234:2000::/68
2a01:abc:abc:1234:3000::/68
2a01:abc:abc:1234:4000::/68
2a01:abc:abc:1234:5000::/68
2a01:abc:abc:1234:6000::/68
2a01:abc:abc:1234:7000::/68
2a01:abc:abc:1234:8000::/68
2a01:abc:abc:1234:9000::/68
2a01:abc:abc:1234:a000::/68
2a01:abc:abc:1234:b000::/68
2a01:abc:abc:1234:c000::/68
2a01:abc:abc:1234:d000::/68
2a01:abc:abc:1234:e000::/68
2a01:abc:abc:1234:f000::/68
Warum /68 und nicht einfach nur ein /66 oder /67? Leider ist es notwendig ein "paar" Adressen zu "verschwenden" aber keine sorge, ein /68 Netz hat immer noch 1,152,921,504,606,846,976 Adressen zu verfügung. :)

Das Routing der IPv6 Netzwerke:

2a01:abc:abc:1234:3000::/68 via 2a01:abc:abc:1234:2000:2000::/68 (1 Private Netzwerk)
2a01:abc:abc:1234:5000::/68 via 2a01:abc:abc:1234:4000:2000::/68 (2 Private Netzwerk)
2a01:abc:abc:1234:7000::/68 via 2a01:abc:abc:1234:6000:2000::/68 (3 Private Netzwerk)
2a01:abc:abc:1234:9000::/68 via 2a01:abc:abc:1234:8000:2000::/68 (4 Private Netzwerk)
2a01:abc:abc:1234:a000::/68 via 2a01:abc:abc:1234:2000:2000::/68 (OpenVPN)
Die privaten IPv6 Netzwerke:

2a01:abc:abc:1234:3000::/68 (1 Private Netzwerk)
2a01:abc:abc:1234:5000::/68 (2 Private Netzwerk)
2a01:abc:abc:1234:7000::/68 (3 Private Netzwerk)
2a01:abc:abc:1234:9000::/68 (4 Private Netzwerk)
2a01:abc:abc:1234:a000::/68 (OpenVPN)
Meine Muster Netzwerkkonfiguration stelle ich hier gerne zur verfügung, in dieser befindet sich bereits die notwendigen einstellungen für iptables sowie das IPv6 Routing.

Warum nicht einfach eine Virtuelle MAC-Adresse verwenden und das WAN Interface direkt per Bridge an die pfSense anbinden?
Das funktioniert natürlich auch, hier ist lediglich das Problem, dass sobald mehrere WAN Schnittstellen verwendet werden, sich alle Interfaces im selben Bridge Netzwerk befinden, somit wird jedes Netzwerk-Paket von der Firewall auch mehrfach verarbeitet. Bei viel Traffic wird früher oder später die Firewall dies nicht mehr beweltigen können und abstürzen.

Einrichtung der pfSense VM
Zu beginn laden wir uns das pfSense Installations ISO von der pfSense Webseite herunter und stellen es anschließend im local Datastore des Proxmox zu Verfügung. Anschließend erstellen wir eine neue VM mit bspw. dem Namen Firewall, wählen das zuvor abgelegte ISO aus. Als Gastbetriebssystem verwenden wir Linux mit der Version 5.x - 2.6 Kernel. SCSI Controll er verwendete ich den "Default (LSI 53C895A)" als Festplatte sollten uns im Regelfall die voreingestellten 32GB ausreichen. Als CPU habe ich 4 Cores in verwendung und als Typ "host" ausgewählt. CPU units habe ich auf "2048" erhöht. Den Arbeitsspeicher habe ich ebenfalls von 512MB auf 2048MB erhöht. Als erste Netzwerkkarte definieren wir im Wizard ein Bridge Interface (vmbr11) als Model ist es zu empfehlen "VirtIO (paravirtualized)" zu verwenden da ich hier die maximalste performance erreichen konnte. Wenn die VM erzeugt wurde, gehen wir in die Hardware Einstellungen und fügen die weiteren Netzwerkkarten hinzu ich habe meine Netzwerkkarten nach folgender Reihenfolge hinzugefügt: vmbr11, vmbr21, vmbr12, vmbr22, vmbr13, vmbr23, vmbr14, vmbr24. das hat den Vorteil, dass wir bei der Installation keine änderungen in der Verwendung vornehmen müssen, da pfSense standartmäßig davon ausgeht, dass das erste Interface ein WAN und das zweite ein LAN interface ist. Desweiteren müssen wir unter Options noch sicherstellen, dass die Option "Use tablet for pointer" auf "No" gestellt ist.

Sind die entsprechenden Einstellungen gesetzt kann die VM eingeschaltet und installiert werden, für die nachfolgende Einrichtung sowie spätere Administration der Firewall ist es zu empfehlen sich ein Client System als zusätzliche VM zu installieren und diese mit dem vmbr21 Netzwerkinterface zu verbinden.

Beitrag wird weiter vervollständig.