Mal wieder Proxmox und Hetzner

meyergru

Member
Jan 28, 2023
69
16
8
www.congenio.de
Vorausgeschickt sei, dass ich die Konfiguration schon am laufen habe, damit gibt es aber ein Problem:

Code:
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto eth0
iface eth0 inet static
        address 65.99.98.21/32
        gateway 65.99.98.1
        post-up echo 1 > /proc/sys/net/ipv4/ip_forward
        post-up echo 1 > /proc/sys/net/ipv6/conf/eth0/forwarding
        post-up iptables -t nat -A PREROUTING -i eth0 -p tcp -d 65.99.98.21 -j DNAT --to 172.17.17.1
        post-up iptables -t nat -A PREROUTING -i eth0 -p udp -d 65.99.98.21 -j DNAT --to 172.17.17.1

iface eth0 inet6 static
        address 2a01:4f9:9999:8888:7777::6666/128
        address 2a01:4f9:9999:8888:172::2/128
        gateway fe80::1

auto vmbr0
iface vmbr0 inet static
        address 65.99.98.21/32
        bridge-ports none
        bridge-stp off
        bridge-fd 0
#Proxmox WAN Bridge

iface vmbr0 inet6 static
        address 2a01:4f9:9999:8888:4e8c::6666/80

auto vmbr1
iface vmbr1 inet static
        address 172.17.17.0/31
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up   iptables -t nat -A POSTROUTING -s '172.17.17.1/31' -o eth0 -j MASQUERADE
        post-down iptables -t nat -D POSTROUTING -s '172.17.17.1/31' -o eth0 -j MASQUERADE
#OPNsense WAN - Proxmox LAN

iface vmbr1 inet6 static
        address 2a01:4f9:9999:8888:172::2/80
        post-up ip -6 route add 2a01:4f9:9999:8888:173::/80 via 2a01:4f9:9999:8888:172::1
        post-up ip -6 route add 2a01:4f9:9999:0000::/64     via 2a01:4f9:9999:8888:172::1

auto vmbr2
iface vmbr2 inet static
        address 192.168.17.2/24
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        post-up ip route add 192.168.0.0/16 via 192.168.17.1 dev vmbr2
#LAN bridge

iface vmbr2 inet6 static

source /etc/network/interfaces.d/*

Mein Ziel war es, mit nur einer routebaren IPv4 auszukommen (65.99.98.1 - die stimmen natürlich alle nicht). Eine der VMs ist eine OpnSense VM, die als WAN 172.17.17.1 und als Gateway 172.17.17.0 hat (bei IPv6 2a01:4f9:9999:8888:172::1 und 2a01:4f9:9999:8888:172::2 als Gateway). Ich habe mir zur Erleichterung neben dem /64er Subnetz einen zusätzlichen /56er Präfix geben lassen. Auf diese Weise kann ich an vmbr1 als WAN und vmbr2 als LAN unterschiedliche IPv6 nehmen und die OpnSense per SLAAC IPs verteilen lassen. vmbr2 hat auch RFC1981-IPs (192.168.17.0/24).

Somit können alle VMs im LAN per IPv6 über die OpnSense laufen und per IPv4 entweder per Port-Forwarding oder mittels eines Reverse-Proxies.
Ausgehende Verbindungen per IPv6 sind kein Problem, die IPs werden aus dem /56er Subnetz genommen (fest oder IPv6 Privacy). Ausgehendes IPv4 läuft per NAT erst von der OpnSense auf 172.17.17.1 und dann nochmals NAT auf die endgültige IP 65.99.98..


Soweit so gut, funktioniert ganz gut.


Allerdings ist es lästig, dass aus SIcht der OpnSense die WAN-IP eben die 172.17.17.1 ist. Wenn man nämlich entsprechende DNAT-Regeln definiert, um beispielsweise Port 53 (DNS) auf eine interne Maschine weiterzuleiten, werden auch mit Port-Reflection Zugriffe vom LAN oder von der OpnSense selbst nicht auf das interne Ziel umgeleitet. Ähnliches gilt beim Zugriff aus dem LAN auf API-Funktionen per HTTP(s) auf die offiziellen IPs.

Möglicherweise könnte man das mit geschickten Regeln umschiffen - zumindest für das LAN, allerdings ist das unintuitiv.



Was mir vorschwebt, ist eine Konfiguration, bei der vmbr0 keine IPv4, sondern nur die IPv6 2a01:4f9:9999:8888:7777::6666/128 erhält, um ggf, einen Notfall-Zugriff auf den PVE zu ermöglichen. vmbr1 soll als reine Bridge erlauben, dass die OpnSense die offizielle IP 65.99.98.1 übernimmt (plus eine IPv6). vmbr2 kann so bleiben, wie es ist.


Ich kenne die entsprechenden Anleitungen für gerouteten und gebridgten Aufbau. Mein Problem liegt darin, dass ich nun eigentlich vmbr1 mit eth0 als Bridge-Interface konfigurieren müsste, damit die OpnSense selbst aktiv werden kann (mal ganz abgesehen davon, dass ich deren MAC bei Hetzner nicht aktivieren kann, weil für das erste Interface nur die Hardware-MAC genommen und nicht geändert werden kann).

Andererseits weiß ich nicht, wie ich die Notfall-IPv6 dann konfigurieren müsste.


Hat jemand so etwas am Laufen?
 
Ich habe soetwas nicht am laufen und würde das auch nie so machen. Dein Host ist die ganze Zeit frei im Internet erreichbar und soetwas mag ich nicht. Bei mir bekommt die OPNsense die öffentliche IP und der Host hat nur noch eine intere IP hinter der Sense.
 
  • Like
Reactions: Johannes S
Das ist nicht richtig. Die einzige IP, mit der der Proxmox erreichbar ist, wäre bei meiner angestrebten Lösung eine IPv6, die niemand erraten kann.
Natürlich habe ich auf der OpnSense ein VPN aufgesetzt, das den Zugriff auf das LAN ermöglicht.

Auch bei meiner aktuellen Lösung ist das unproblematisch, weil alle IPv4-Ports an die OpnSense durchgeleitet werden und zusätzlich natürlich die Proxmox-Firewall aktiv ist. Zugriff auf den Promox-Host gibt es also nur per IPv6 (viel Spaß beim Erraten!) und auf dedizierte Ports.

Aber abgesehen davon: Wie sieht Deine /etc/network/interfaces aus? Du hast das Problem offenbar nicht, weil Du wirklich eth0 voll bridgest?
Wie löst Du das Problem mit der MAC?
 
Last edited:
  • Like
Reactions: Johannes S
Das ist nicht richtig. Die einzige IP, mit der der Proxmox erreichbar ist, wäre bei meiner angestrebten Lösung eine IPv6, die niemand erraten kann.
Natürlich habe ich auf der OpnSense ein VPN aufgesetzt, das den Zugriff auf das LAN ermöglicht.

Auch bei meiner aktuellen Lösung ist das unproblematisch, weil alle IPv4-Ports an die OpnSense durchgeleitet werden und zusätzlich natürlich die Proxmox-Firewall aktiv ist. Zugriff auf den Promox-Host gibt es also nur per IPv6 (viel Spaß beim Erraten!) und auf dedizierte Ports.
OK, wenn du alles sauber trennst, aber leider sieht man ganz viele offen erreichbare PVE.
Aber abgesehen davon: Wie sieht Deine /etc/network/interfaces aus? DU hast das Problem offenbar nicht, weil Du wirklich eth0 voll bridgest?
Wie löst Du das Problem mit der MAC?
Welches problem mit der MAC? Du kannst ja theoretisch der Sense auch die MAC der physischen NIC geben, wenn du die NIC nur als Bridge ohne Interface nutzt. Du kannst natürlich auch die NIC an die VM durchreichen oder deine virtuelle NIC freischalten lassen.
 
  • Like
Reactions: Johannes S
Ja, klar - einen offenen PVE sollte man vermeiden, der Normalfall ist immer, über das VPN zu gehen.

Ich habe jetzt eine Anleitung gefunden, bei der jemand dem physischen Interface eine andere MAC zugewiesen hat und dann in der OpnSense dem WAN-Interface die vorhandene MAC gegeben. Das würde aber in Kombination mit einer Notfall-IPv6 wohl nicht gehen, oder eben nur über die OpnSense, die dann wieder auf dem kritischen Pfad liegt.

Ist halt alles nicht so einfach, wenn man nicht per Netzwerk auf die OpnSense bzw. den Proxmox kommt. Eine Fehlkonfiguration führt zum Verbindungsverlust und eine Lara hilft auch nur bedingt, weil man damit weder auf den PVE noch auf die OpnSense kommt.

Ich fürchte, so etwas klappt nur mit einer zweiten IP (die dann eine zweite MAC erlaubt). Oder man muss darauf verzichten und aktiviert im Notfall per Rescue-System eine alternative Netzwerk-Konfiguration, bei der man danach auf den PVE direkt draufkommt und dort ggf. einen alten Snapshot zurückholt.

Ich probiere das nochmal, wenn ich den Server komplett umgezogen habe mit dem alten Server...
 
Last edited:
  • Like
Reactions: Johannes S
Ja, klar - einen offenen PVE sollte man vermeiden, der Normalfall ist immer, über das VPN zu gehen.

Ich habe jetzt eine Anleitung gefunden, bei der jemand dem physischen Interface eine andere MAC zugewiesen hat und dann in der OpnSense dem WAN-Interface die vorhandene MAC gegeben. Das würde aber in Kombination mit einer Notfall-IPv6 wohl nicht gehen, oder eben nur über die OpnSense, die dann wieder auf dem kritischen Pfad liegt.

Ist halt alles nicht so einfach, wenn man nicht per Netzwerk auf die OpnSense bzw. den Proxmox kommt. Eine Fehlkonfiguration führt zum Verbindungsverlust und eine Lara hilft auch nur bedingt, weil man damit weder auf den PVE noch auf die OpnSense kommt.

Ich fürchte, so etwas klappt nur mit einer zweiten IP (die dann eine zweite MAC erlaubt). Oder man muss darauf verzichten und aktiviert im Notfall per Rescue-System eine alternative Netzwerk-Konfiguration, bei der man danach auf den PVE direkt draufkommt und dort ggf. einen alten Snapshot zurückholt.
Genau das ist das Problem. Entweder ich habe nicht so hohe Anforderungen und kämpfe im Notfall mit dem Rescue System oder wenn man es einfach und schnelles Troubleshooting haben will, zweite IP.
 
  • Like
Reactions: Johannes S

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!