OPNsense mit Hetzner und /56 IPv6-Subnetz

Started by groove21, January 29, 2021, 10:20:25 PM

Previous topic - Next topic
Hallo liebe Community,

ich habe bzgl. IPv6 nun schon viel gelesen und mir aufgrund der Empfehlungen auch ein /56er-Netz geholt, damit meine OPNsense im LAN-Bereich ein /64 Netz verteilen kann.
Machen wir es kurz: Ich probiere schon eine Weile mit allen möglichen Einstellungen rum und bekomme es nicht zum laufen.

Setup:
Hetzner-Root mit Proxmox
OPNsense ist eine VM innerhalb der Proxmox.
OPNsense hat zwei Netzwerkkarte, eine für WAN (vmbr0), eine für LAN (vmbr1)

Proxmox leitet das Subnetz weiter:

source /etc/network/interfaces.d/*

auto lo
iface lo inet loopback

iface lo inet6 loopback

auto enp4s0
iface enp4s0 inet static
        address x.x.58.91
        netmask 255.255.255.255
        gateway x.x.58.65
        pointopoint x.x.58.65

iface enp4s0 inet6 static
        address 2a01:xxx:xxx:1900::2
        netmask 128
        gateway fe80::1
        up sysctl -p

auto vmbr0
iface vmbr0 inet static
        address x.x.58.91
        netmask 255.255.255.255
        bridge-ports none
        bridge-stp off
        bridge-fd 0
        up ip route add x.x.58.87/32 dev vmbr0
        up ip route add x.x.58.88/32 dev vmbr0
        up ip route add x.x.58.124/32 dev vmbr0
        up ip route add x.x.58.125/32 dev vmbr0
        up ip route add x.x.58.126/32 dev vmbr0

iface vmbr0 inet6 static
        address 2a01:xxx:xxx:1900::3
        netmask 56
        up ip -6 route add 2a01:xxx:xxx:1900::/56 dev vmbr0

auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0



Mein Ziel:
Die OPNsense soll WAN-seitig unter 2a01:xxx:xxx:1900::f001 erreichbar sein => funktioniert
Die OPNsense soll LAN-seitig unter 2a01:xxx:xxx:1901::f001 erreichbar sein => funktioniert nicht
Die VMs auf dem LAN-Interface sollen static IPs und DHCP benutzen können (natürlich DHCP-Scope entsprechend konfigurieren damit sich static und dynamic nicht in die Quere kommt. Für den Großteil der Server will ich feste IPs und kein DHCP

Static-IP nach dem Muster (1901 ist ja dann das zweite /64 Subnetz wenn ich das alles richtig verstanden habe)
2a01:xxx:xxx:1901::f100 usw.


Meine Config WAN/LAN sowie Gateway ist im Anhang.

Ich wäre für jede Hilfe dankbar.
Falls ich irgendwas falsch verstanden haben sollte oder mein Setup auch einfacher ginge wäre ich auch für einen Hinweis dankbar. Wichtig wäre halt die statischen IPs. Ich habe auch was mit DHCPv6 gelesen, aber damit verbaue ich mir ja wieder die static Zuweisung oder? Deswegen habe ich diese nicht benutzt.

Gruß
groove21

Moin,

Erfahrung mit Proxmox habe ich nicht, aber die Konfiguration von vmbr0 fällt auf. Die Präfixlänge sollte 64 sein (identisch zur OPNsense-WAN-Konfiguration). Außerdem fehlt in der Route das Gateway, über die das /56 geroutet werden soll (die OPNsense-WAN-Adresse):


iface vmbr0 inet6 static
        address 2a01:xxx:xxx:1900::3
        netmask 64
        up ip -6 route add 2a01:xxx:xxx:1900::/56 via 2a01:xxx:xxx:1900::f001 dev vmbr0


Grüße
Maurice
OPNsense virtual machine images
OPNsense aarch64 firmware repository

Commercial support & engineering available. PM for details (en / de).

Hallo Maurice,

du bist meine Rettung :)
Genau daran lag es. Nachdem ich es umgelegt hatte lief gleich alles. Also waren meine Einstellungen in der OPNsense gar nicht so falsch :)

Vielen Dank!

Gruß
groove21

Auch wenn der Post schon was älter ist, danke für den Hinweis dem Host zu sagen er soll die /56 zum WAN Interface der OPNsense routen. Wäre ich so schnell nicht drauf gekommen.
Dachte die ganze Zeit es lag an irgendeiner Firewall Regel, weil OPNsense selbst ohne Probleme ins Internet gekommen ist.

Sollte es nicht theoretisch dann auch so mit dem Standard /64 Sub von Hetzner tun?
Dem Host eine IP aus dem Netz mit /128 geben und die Route für den Rest des Netzwerkes setzen (/64) auf die IP des OPNsense WAN Ports?

Danke!

> Sollte es nicht theoretisch dann auch so mit dem Standard /64 Sub von Hetzner tun?

Nein, denn die Meisten IPv6 Mechanismen setzen ein /64er Netz voraus, das man vollständig zur Verfügung hat. Aus einem /56er ein /64er zum Routen auszuschneiden ist völlig OK und legitim. Aber du kannst nicht ein einzelnes /64er nehmen und mit einer /128er Host-IP abbilden. Wohin soll die /128 denn dann routen upstream? Es wird zumindest ein zweites /64er gebraucht damit man vernünftig arbeiten kann.

Hetzner kann das aber bieten, wenn man bspw. mit Floating IPs arbeitet.
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.

@JeGr - das stimmt so nicht ganz. Wenn man bei Hetzner einen dedizierten Server hat, z.B. das "Robot"-Produkt mit einem einzelnen /64, dann routen die das ganze /64 an die MAC-Adresse des Servers.

Man kann dann z.B. eine Bridge ohne phys. Interface anlegen, auf die man seine ganzen Jails hängt, der <PREFIX>::2/64 geben, die ist dann auch der Default-GW für die Jails. Und dem phys. Interface außen gibt man <PREFIX>::1/128. Darüber ist dann der Server selbst erreichbar.

FreeBSD kann ganz prima auch Ethernet mit /128 (v6) bzw. /32 (v4) Prefixlängen. Dann (und nur dann!) kann man auch dasselbe Netz oder einzelne Adressen daraus auf mehreren Interfaces haben.

Gruß
Patrick
Deciso DEC750
People who think they know everything are a great annoyance to those of us who do. (Isaac Asimov)

@Patrick hast du recht, aus irgendeinem Grund hab ich Hetzner Cloud statt Dedi Root gelesen. Deshalb kommt es da immer drauf an was genau man hat und wie das Netz ankommt :)
"It doesn't work!" is no valid error description! - Don't forget to [applaud] those offering time & brainpower to help you!
Better have some *sense as no(n)sense! ;)

If you're interested in german-speaking business support, feel free to reach out via PM.