Aktionen

Proxmox OVH SoYouStart Kimsufi Failover IP für VM nutzen - pfSense Installieren

Aus znilwiki

Changelog:

  • 27.04.2025 erste Version

Vorwort

Bei den Mietserver von OVH, oder deren günstigeren Ablegern SoYouStart und Kimsufi, kann man inzwischen auch Proxmox PVE als Betriebssystem auswählen:


Die VMware ESXi Templates sind dafür rausgeflogen.
Ich habe seit vielen Jahren / Jahrzehnten immer Bare-Metal-Server bei OVH gemietet. Angefangen bei Kimsufi, zur Zeit bei SoYouSource.
Die letzten Jahre mit ESXi, inzwischen nun mit Proxmox.
Die Server sind z.B. einer Ubuntu-Installation als Webserver überhaupt nicht ausgelastet. Seit mehr als 10 Jahren verwende ich deshalb folgenden Aufbau:

  • Bare-Metal Server mit Hypervisior
    • Haupt-IP hat die Management-Schnittstelle des Hypervisior
    • 2 Netzwerke auf dem Hypervisior
      • EXTERN in dem auch die Management-Adresse liegt
      • INTERN als Nur-Host-internes Netzwerk
  • pfSense als VM auf dem Hypervisor
    • WAN ist mit EXTERN verbunden
    • LAN ist mit INTERN verbunden

Alle meine VMs liegen dann im INTERN Netzwerk und können die pfSense als Gateway in das Internet nutzen. Die pfSense kann wiederum Portweiterleitungen / NAT auf die internen VMs aufbauen.
So kann ich viele VMs hinter einer IP betreiben und diese mit einer Firewall absichern.

Ich werfe Nachfolgende ggf. Bezeichnungen durcheinander. In Proxmox heißt es Linux Bridge was für mich in etwa dem vSwitch bei vSphere entspricht. Die VMs und Geräte werden an diesen "angesteckt" wie ein echter Rechner an einen Netzwerkswitch.


Proxmox: Ausgangslage

Ihr habt euren Mietserver mit Proxmox installiert und könnte euch am System auf Port 8006 anmelden.
Die Netzwerkkonfiguration sieht wie folgt aus:


37.187.93.131       Haupt-IP => Ip-Adresse des Promox PVE Hosts selbst
37.187.93.254       Standardgateway
enp1s0              an diese Netzwerkkarte (und deren MAC) ist die IP gebunden

Den IPv6 Teil ignorieren wir an dieser Stelle erste einmal.
Geplant ist folgender Aufbau:


Der schwarze Teil oben links am vSwitch / an der Linux-Bridge vmbr0 ist bereits geschehen.
Nachfolgend beschreibe ich wie man

  • Den internen vSwitch / Linux-Bridge vmbr0 erstellt
  • Die pfSense als VM erstellen und Ihr als WAN die Failover-IP geben, diese als LAN mit dem internen Switch verbindet



Kundencenter: Failover IP konfigurieren

Im Kundencenter von SoYouStart (bei Kimsuif und OVH sieht das sehr ähnlich aus) kann man seine IP-Adressen und bestellten Failover-IPs einsehen:


Die 37.187.93.131 ist die IP unseres Proxmox PVE Servers,
178.33.35.230 und 5.196.125.45 sind meine beiden Failover-IP-Adressen die ich gemietet habe.
Ich klicke auf das Zahnrad hinter der Failover-IP 5.196.125.45 und wähle aus dem Menü den Punkt Virtuelle MAC-Adresse hinzufügen:


Der Name ist beliebig, nehmt den gleichen den Ihr später auch der VM geben wollt.


Nach dem Bestätigen steht da eine Weile Wird ausgeführt, wenn Ihr die Ansicht aktualisiert steht da irgendwann dann eine MAC-Adresse drin:


Ok, in diesem Fall die

02:00:00:a2:e8:b4

Diese merken wir uns für gleich.


Proxmox: Interne Linux Bridge / vSwitch erstellen


1 Ihr markiert den Server selbst,
2 wechselt zu System 3 Network, geht dann auf
4 Create und wählt dort 5 die Linux Bridge aus.
Im Dialog lasst Ihr einfach alles leer und klickt auf OK:


Im Anschluss klickt Ihr oben auf Apply Configuration damit das ganze übernommen wird





Proxmox: pfSense VM erstellen

Unter

local => ISO Images

habe ich bereits die ISO für pfSense hochgeladen (und eine für Windows Server + Gastbetriebssystem-Tools):


Ich erstelle nun eine neue VM:


Wählt eine VM ID und einen Namen:


Ich habe hier auch den Haken bei Start at boot gesetzt damit diese nach einem Neustart des Proxmox PVE gleich mit gestartet wird.


als ISO image dann die ISO für pfSense
Bei Storage (im Bild local) wählt Ihr den Datenspeicher auf dem Ihr die VM speichern wollt! In der Regeln local-lvm oder local-zfs!


Als Graphic card: wählen wir SPICE weil das angeblich Ressourcenschonender ist und setzen den Haken bei Qemu Agent (den Installieren wir später nach)


Den kompletten Disks Dialog übernehmen wir so wie er ist - 32GB sollten ausreichen.


host sollte alle CPU-Features die möglich sind durchreichen, der Default Wert x86-64-v2-AES wird es auch tun.
In manchen Anleitungen wird empfohlen, unten bei den Extra CPU Flags das aes mit dem Plus zu aktivieren - das sollte bei beiden Typen aber sowieso schon der Fall sein.


Memory steht per Default auf 2048 / 2GB. Als normale Firewall reicht das völlig aus. Falls Ihr aber z.B. den HA Proxy noch darauf lassen lassen wollt, empfehle ich mehr RAM.


Die Bridge sollte bereits auf vmbr0 stehen, als MAC address tragt Ihr die Adresse der Failover-IP ein die Ihr zuvor generiert habt.
Und dann noch noch die Erstellung bestätigen:


Nachdem die VM erstellt wurde, bearbeiten wir nochmals die Hardware dieser:


1 die Vm markieren und rechts auf 2 Hardware gehen.
Dann oben bei 3 Add ein 4 Network Device auswählen:


Bei Bridge wählt Ihr vmbr1 aus, die interne Linux-Bridge die wir zuvor erstellt haben.

Jetzt sind wir bereit für die Installation!


Proxmox: pfSense Installieren

Klicken auf die Console der VM und starten diese:





Nehmt hier Auto (UFS) Guided UFS Disk Setup
Es braucht viel weniger RAM für die Verwaltung und in einer VM - die ggf. selbst auf ZFS liegt - ist es nicht unbedingt von Vorteil.






Leitet den Reboot ein. Wenn die VM wieder am hochfahren ist, könntet Ihr jetzt noch einmal die Hardware der VM bearbeiten und die ISO aus dem CD/DVD Drive (ide2) entfernen (auf Do not use any media stellen).


Proxmox: pfSense nach ersten Start konfigureren

Nach dem Reboot sollte der Bildschirm etwa so aussehen:


Wir drücken einmal n und Enter (da steht da im Text zwischen den Meldungen, nein wir wollen kein VLAN einrichten)


Als WAN geben wir vtnet0 ein


Als LAN geben wir vtnet1 ein


Und mit z bestätigen (englische Tastaturbelegung!)
Das kann nun eine Weile dauern - er versucht mehrmals auf dem WAN-Interface eine IP-Adresse zu bekommen was ihm aber nicht gelingen wird. Einfach Geduld haben, nach ein paar Minuten geht es weiter.
Ihr wartet bis Ihr diesen Bildschirm seht:


Dort wählt Ihr 2) Set interface(s) IP Address:


1 für das WAN


n weil wir kein DHCP sondern eine statische IP setzen wollen


Als IP geben wird unsere Failover-IP ein, in meinem Fall also die 5.196.125.45


Als Maske die 32 - ja, bei einer Failover-IP ist das richtig so.


Als Gateway tragt Ihr das gleiche ein das auch eurer Proxmox-PVE-Host hat.
Bzw. die Haupt-IP deren letzte Zahl Ihr durch 254 ersetzt.
Ich weis, das kommt euch Falsch vor - aber bei OVH Failover-IPs funktioniert das nun mal so.
Er meckert das in der Konsole auch gleich mit einem Non-local gateway detected an.


Wieder z drücken (immer noch englische Tastaturbelegung) um das Gateway als Standardgateway zu setzen.


n Nein, keine IPv6 per DHCP6


Die IPv6 Adresse lasst Ihr einfach leer (um keine zu konfigurieren)


n nein, kein DHCP-Server auf der WAN-Schnittstelle.


Hier wird gefragt ob das Webinterface http statt https verwenden soll - ich wähle hier n


und wir sind wieder im Hauptmenü:


Über die Punkte

2 => 2 => n => 192.168.128.1 => 24 => leer lassen => n => leer lassen => z => 192.168.128.101 => 192.168.128.120 => n

Konfiguriert Ihr die interne Schnittstelle auf einen anderen Adressbereich inklusive DHCP-Server, bei mir das 192.168.128.0/24 Netzwerk.
Das Hauptmenü sieht nun so bei mir aus:



Nun testen wir einmal ob das Internet auch wirklich funktioniert:
Wählt

8) Shell

und dann als ersten Befehl:

ping -c 4 8.8.8.8

Das Minus findet Ihr hinter der ß Taste (oder am Nummernblock), damit pingt Ihr den Google DNS Server 4x an.

curl checkip.znil.net

zeigt euch eure aktuelle IP-Adresse (unten links im Screenshot), z und y sind immer noch auf der Tastatur vertauscht.
Leider könnt Ihr zu diesem Zeitpunkt die pfSense noch nicht anpingen - weil es schlicht keine Firewall-Regel dafür auf der pfSense gibt welche das erlauben würde.


Proxmox: pfSense QMEMU Tools installieren

Vorweg: Wir tippen jetzt viel in der Konsole mit englischer Tastaturbelegung. Eventuell macht Ihr euch in einem separaten Browserfenster mal diese Belegung auf: https://computertastatur.info/schreiben-auf-deutscher-tastatur-mit-us-zeichensatz/
Wo wir schon mal gerade in der Shell sind, können wir auch gleich den QEMU Guest Agent installieren (hatten wir bei der Erstellung der VM angehakt), nur kann kann Proxmox z.B. sehen welche IP-Adressen die VM hat und erhält genauere Werte über CPU und RAM:


Dazu tippt Ihr

pkg install -y qemu-guest-agent

ein. z und y sind vertauscht, das - findet Ihr hinter der Taste ß oder auf dem Nummernblock:
Nach der Installation stehen da 2 wichtige Informationen:

Start the service with:
service qemu-guest-agent start

Was bedeutet der Dienst läuft gerade noch nicht und

To run the guest agent on startup:

sysrc qemu_guest_agent_enable="YES"

um den Dienst auch nach einem reboot automatisch zu starten.

Um den Starten zu können, müssen wir erst dessen automatischen Start einrichten, also gebt folgendes ein:

sysrc qemu_guest_agent_enable="YES"
  • Der Unterstrich _ befindet sich unter Shift + ß
  • Das = hinter ´, die Taste rechts neben dem ß, einfach drücken
  • Die "..." Anführungszeichen erreicht Ihr mit Shift + Ä

Die Ausgabe sollte

qemu_guest_agent_enable:  -> YES

sein. Jetzt können wir den Agenten manuell starten:

service qemu-guest-agent start

Wenn der Dienst läuft, solltet Ihr in Proxmox beim Summary der VM nun die IP-Adressen sehen:



Wir sehen die interne und externe IP - wundervoll!
Allerdings startet der Dienst nicht automatisch nach einem Reboot. Dazu müssen wir eine weitere Start-Datei erstellen.
Weil mir der vi eh schon kompliziert ist und mit einer englischen Tastatur umso mehr, installieren ich den nano Editor nach:

pkg install -y nano

und dann

nano /usr/local/etc/rc.d/qemu-agent.sh

Der / befindet sich hinter der Taste -
Und folgenden Inhalt (Erklärung der Tasten folgt unten drunter):

#!/bin/sh
sleep 9
service qemu-guest-agent start
  • den Lattenzaun # findet Ihr über der 3, also Shift + 3
  • den / auf der Taste -
  • das Minus auf der Taste ß

Beim speichern daran denken das y und z vertauscht sind.
Jetzt noch den Befehl

chmod +x usr/local/etc/rc.d/qemu-agent.sh

jetzt den Befehl

exit

und dann per Option

5) Reboot system

die Büchse neu starten.
{{Hinweis|Im Internet kursieren viele Anleitungen welche das ...enable="YES" in die Datei /etc/rc.conf.local schreiben. Der Befehl sysrc hat es in die Datei /etc/rc.conf geschrieben. Die soll man nicht von Hand ändern - was wir mit dem Befehl auch nicht machen.
Zudem wird das Logging für den Dienst aktiviert. Darauf verzichte ich, auch weil ich nicht weis ob überhaupt ein Logrotate stattfinden würde.


pfSense: Restliche Konfiguration per GUI

Dafür installiere ich mir immer eine zweite VM.
Diese hat dann nur eine Netzwerkkarte die an vmbr hängt.
Auf der pfSense hatte ich DHCP aktiviert, also hat die VM auch gleich eine Adresse und kann in das Internet.
Und die pfSense über das Webinterface konfigurieren:



Quellen


Proxmox PVE Host von innen erreichbar machen

Um den Proxmox-Host aus dem vmbr1 Netzwerk ansprechen zu können, müssen wir diesem nur eine IP-Adresse in diesem Netzwerk geben.
Dazu bearbeitet den vmbr1 Eintrag einfach:


Und hinter auf Apply Configuration klicken!



Kommentare

Loading comments...