alphade

PfSense als VM unter Proxmox - IPv6 Routing funktioniert nicht

Hallo!

Ich möchte auf meinem vorhandenen Proxmox-Server pfSense als Firewall für alle anderen VM einsetzen. pfSense nutze ich schon auf mehreren Hardware-Appliances.
Proxmox wird im "routed" Modus betrieben.
Vom Hoster habe ich im IPv4 Bereich neben der Host-IP mehrere Einzel-IPs und zwei /29 Netze. Der Zugriff der pfSense VM und der übrigen VM über die pfSense mit IPv4 (NAT) funktioniert problemlos.
Für IPv6 habe ich mir neben dem Standard /64 Netz ein weiteres /56 Netz geholt, nachdem meine Recherchen zum Routing von IPv6 bei nur einem /64 Netz auf Probleme hingewiesen haben.

Für den Proxmox Host und das pfSense Wan-Interface nutze ich ein /64 (2a01:4f8:aaa:bb01::1 bzw ::3) aus dem /56 (2a01:4f8:aaa:bb00::/56) auf einer Proxmox Host Bridge, auf der Proxmox-Seite ist dieser Bridge das gesamte /56er Netz zugewiesen (das anderweitig nicht verwendet wird). Das Netz ist statisch mit der ::3 auf der pfSense Wan-Seite eingerichtet.
Für die Lan-Seite der pfSense nutze ich auf einer anderen Proxmox-Bridge ein weiteres /64 (2a01:4f8:aaa:bb02::/64). Das Netz ist statisch auf der pfSense Lan Seite eingerichtet.

Ein Ping innerhalb des v6 Lan (2a01:4f8:aaa:bb02::/64) funktioniert.
Ein Ping/Zugriff von der WAN-Seite der pfSense (Source/Dest 2a01:4f8:aaa:bb01::3) ins Internet und umgekehrt funktioniert ebenfalls.
Ein Traceroute von einer VM hinter der pfSense kommt bis zur pfSense (Lan-Seite), aber nicht weiter.

Aber es gelingt mir nicht, dass IPv6 Pakete aus dem pfSense Lan zum Host geroutet werden.

Auf der pfSense Firewall sind derzeit globale Pass-Rules für beide Interfaces.

Auch das Routing sieht korrekt aus:

default 2a01:4f8:aaa:bb01::1 UGS 539 1500 vtnet3
::1 link#7 UH 0 16384 lo0
2a01:4f8:aaa:bb01::/64 link#4 U 28340 1500 vtnet3
2a01:4f8:aaa:bb01::3 link#4 UHS 0 16384 lo0
2a01:4f8:aaa:bb02::/64 link#5 U 5 1500 vtnet4
2a01:4f8:aaa:bb02::104 link#5 UHS 6 16384 lo0

Ich weiss nicht, warum Pakete bspw. für google.de (2a00:1450:4001:811::2003) von einer VM an der pfSense hängen bleiben und nicht gemäß default Regel zum Proxmox Host und von dort weiter zum Hoster geroutet werden.

Routing des Proxmox Hosts, vmbr2 ist vtnet3, auf der vtnet4 hat der Proxmox Host keine Adresse.

::1/128 :: U 256 2 0 lo
2a01:4f8:aab:xxxx::2/128 :: U 256 1 0 enp7s0
2a01:4f8:aab:xxxx::/64 :: U 256 26 0 vmbr1
2a01:4f8:aaa:bb00::/56 :: U 256 25 0 vmbr2
::/0 fe80::1 UGH 1024 25 0 enp7s0
::1/128 :: Un 0 27 0 lo
2a01:4f8:aaa:bb00::/128 :: Un 0 3 0 vmbr2
2a01:4f8:aaa:bb01::1/128 :: Un 0 27 0 vmbr2

Was habe ich übersehen?
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 2573741832

Url: https://administrator.de/forum/pfsense-als-vm-unter-proxmox-ipv6-routing-funktioniert-nicht-2573741832.html

Ausgedruckt am: 12.05.2025 um 12:05 Uhr

aqui
aqui 22.04.2022, aktualisiert am 23.04.2022 um 09:46:39 Uhr
Goto Top
Deine v6 Default Route stimmt nicht. Wenn das WAN IP Netz 2a01:4f8:aaa:bb01::/64 ist und die die WAN IP der FW die 2a01:4f8:aaa:bb01::1 kann der next Hop der Default Route ja niemals auf sich selber zeigen.
Vom Hoster musst du ja eine öffentliche IP seines Routers bekommen haben wo die Default Route hinzeigen muss.
Das müsstest du auch sehr einfach verifizieren können über das Ping Tool der Firewall (Im Menü Diagnostics)
Von dort solltest du einmal einen v6 Ping auf z.B. www.heise.de machen aber die Absender IP (Source) auf das LAN Interface setzen !
Das gleiche auch mal mit einem v6 Traceroute.

Wenn der Proxmox Host als davor kaskadierter Router liegt, dann routet der Provider ja dein gesamtes /56er Netz auf das Interface was dein Proxmox Host Richtung Hoster liegen hat. Hier stimmt dann die Maske deines Koppelnetzes zur FW nicht.
Der Proxmox selber muss dann alle v6 Netze die im LAN Bereich der Firewall liegen auf das WAN Interface der Firewall routen.
Hilfreich wäre auch einmal ein ip -6 r vom Proxmox.
AlphaDE
AlphaDE 22.04.2022 um 23:44:49 Uhr
Goto Top
@aqui
Erstmal danke für die schnelle Antwort.

Hier der ip -6 r

2a01:4f8:aab:xxxx:1::1 dev eth2 metric 1024 pref medium
2a01:4f8:aab:xxxx:2::100 dev eth2 proto kernel metric 256 pref medium
2a01:4f8:aaa:fe01::/64 dev eth0 proto kernel metric 256 expires 86040sec pref medium
2a01:4f8:aaa:fe02::/64 dev eth0 proto kernel metric 256 expires 86040sec pref medium
2a01:4f8:aaa:fe00::/56 dev eth0 proto kernel metric 256 expires 85308sec pref medium
fe80::/64 dev eth0 proto kernel metric 256 pref medium
fe80::/64 dev eth1 proto kernel metric 256 pref medium
fe80::/64 dev eth2 proto kernel metric 256 pref medium
fe80::/64 dev eth3 proto kernel metric 256 pref medium
default via 2a01:4f8:aab:xxxx:1::1 dev eth2 metric 1024 pref medium
default via fe80::1432:bdff:fe33:d60c dev eth0 proto ra metric 1024 expires 1440sec hoplimit 64 pref low

Hoster ist Hetzner, default route für alle v6 Netze ist fe80::1

Das WAN Netz der pfSense ist 2a01:4f8:aaa:bb01::/64, die pfSense hat dort 2a01:4f8:aaa:bb01::3/64, der Proxmox Host hat die 2a01:4f8:aaa:bb01::1/64

Ein Ping von der pfSense mit der WAN Adresse funktioniert (2a01:4f8:aaa:bb01::3/64), mit der LAN Adresse (2a01:4f8:aaa:bb02::104/64) dagegen nicht. Gleiches mit einem Traceroute.

Ich nutze im LAN Bereich der pfSense nur das 2a01:4f8:aaa:bb02::/64, route aber auf Proxmox das ganze 2a01:4f8:aaa:bb00::/56 auf die vBridge, an der die VM der pfSense hängt.

Deswegen ja mein Eindruck, dass ich die v6 Pakete in der pfSense nicht vom LAN auf das WAN Interface und umgekehrt bekomme.
aqui
aqui 23.04.2022 aktualisiert um 09:10:06 Uhr
Goto Top
So sähe ein korrektes Routing aus Layer 3 Sicht aus mit diesen beiden Netzen.

ipv6rou

Routing Masken können ggf. variieren (Summarization) wenn du mehrere Netze auf der Firewall LAN Seite betreiben würdest. Dann würde man die v6 Netze auch ggf. anders aufteilen.
Es gleicht einem IPv4 Beispiel kaskadierter Router.
AlphaDE
AlphaDE 23.04.2022 aktualisiert um 09:47:00 Uhr
Goto Top
@aqui

Danke... probiere ich gleich aus, ich hatte auch gerade eine Grafik gebastelt, so sieht es derzeit hier aus.
Die pfSense nutzt auf dem v6 LAN ::104 als Adresse, das ist aber auf der dahinter liegenden VM auch so als Gateway konfiguriert (kann ich aber problemlos ändern).
Deiner Zeichnung nach wäre also das bb01 Netz als /64 auf der Bridge vmbr2 zu konfigurieren und eine Route für das bb02/64 zu ergänzen... wird nicht beides von der vorhanden Konfiguration als /56 erfasst?
Mich wundert hat, dass der Traffic zwischen bb01 und bb02 hängt. WAN bb01 Richtung Proxmox und Internet funktioniert. LAN bb02 funktioniert.

Ergänzung: Es funktioniert auf der pfSense bereits kein ping6 -S 2a01:4f8:aaa:bb01::3 2a01:4f8:aaa:bb02::104 und ping6 -S 2a01:4f8:aaa:bb02::104 2a01:4f8:aaa:bb01::3
pfsense-proxmox-ipv6
aqui
Lösung aqui 23.04.2022 aktualisiert um 09:47:35 Uhr
Goto Top
Wie schon vermutet... Die Subnetzmaske auf vmbr2/vtnet3 ist falsch ! So kann der Proxmox Host als Router ja niemals erkennen das das :bb02:: /64er Subnetz ein Subnetz ist. Für ihn ist das dann eine einfache Host Endgeräteadresse aus seinem lokalen /56er Netz. Da nützt dann auch eine Route nix. Erklärt auch warum das Pingen im /56er Teil fehlerlos klappt.
Solche simplen IP Routing/Subnetting Banalitäten solltest du aber als Profi schon kennen !! face-wink
AlphaDE
AlphaDE 23.04.2022 um 10:09:56 Uhr
Goto Top
@aqui

Bingo, danke.

Subnetmask auf /64 geändert und ein

up ip -6 route add 2a01:4f8:aaa:bb02::/64 via 2a01:4f8:aaa:bb01::3 dev vmbr2

hinzugefügt... und es geht.

Ich habe bisher mit IPv6 nicht wirklich viel gemacht, in den Heimnetzen läuft es via IPv4 und auf dem Proxmox hat die reine Konfiguration des einen /64 auf den Bridges gereicht.

Insoweit bin ich bei IPv6 sicherlich kein Profi.
aqui
aqui 23.04.2022 aktualisiert um 12:55:41 Uhr
Goto Top
hinzugefügt... und es geht.
Wie erwartet ! 👏 👍
Ich habe bisher mit IPv6 nicht wirklich viel gemacht
Das muss man auch nicht, denn das Routing Verhalten ist ja komplett identisch zum guten alten IPv4 nur das die Adressen eben rein kosmetisch etwas anders aussehen ! 😉
Wenn du obigen Fehler bei IPv4 gemacht hättest wäre das gleiche dabei rausgekommen.
Insoweit bin ich bei IPv6 sicherlich kein Profi.
Wer v4 Profi ist, der ist gleichzeitig auch immer v6 Profi. Denn ob die Adressen grün oder blau sind spielt ja dabei keine Rolle.

Eine empfehlenswerte und kostenlose Kurzlektüre zum Thema IPv6 findest du hier:
https://danrl.com/ipv6/
Damit sollten dann solche Fauxpas' nicht mehr passieren ! 😉
AlphaDE
AlphaDE 23.04.2022 um 14:56:32 Uhr
Goto Top
Danke für den Lesestoff und danke für die Hilfe.
aqui
aqui 23.04.2022 um 15:01:51 Uhr
Goto Top
Immer gerne...! face-wink