IPv6 CARP-WAN IP mit dynamischen Präfixen

Gegeben:

IPv4:
FB6591 --- NAT --> LAN (DMZ) --> WAN:OPN --- Routing --> Traefik-Node über vrrp-ip
|FB-WAN| Portworwarding von FB-WAN an CARP-WAN | Container-LAN |

Die Container aus dem Internet erreichbar, egal ob nur OPNsense Master oder Backup "oben" ist, einer der Proxmox oder Docker-Nodes in Wartung ist oder ausfällt.


IPv6: FB6591 -> WAN:OPN --- HA-Proxy -> Traefik-Node über vrrp-ip

Aktuell löst der DNS-Eintrag nur auf eine der OPNsense-Boxen auf, so dass diese oben sein muss, damit die Container erreicht werden können.
Um die Verfügbarkeit zu erhöhen, läuft Traefik mit je einem Replica auf 3 Nodes (mir geht es nicht um Last-Verteilung). und dient als Einstieg in die Container-Welt.


Mein Ziel:
Ich will aus dem Internet auch mittels ipv6 auf eine der Instanzen mit einer Failover-IP zugreifen können, die eigenständig zum nächsten "healthy node" wandert, falls der aktuell aktive ausfällt. Das kann sowohl auf der OPNSense sein oder über einen anderen Weg.


Würde Keepalived mit Dynamischen Präfixen funktionieren, würde ich dort eine vrrp für die GA setzen - wäre mir die liebste Lösung, aber es scheint nur mit ULA zu gehen.
Als nächstbeste Lösung dachte ich daran das Problem an die OPNsense auszulagern und dort mit eine CARP Adresse auf dem WAN Interface mit GA zu machen, was aber scheinbar genauso wenig geht. Für das Container-LAN ist mir CARP für ipv6 fast egal (wobei ich mich dann frage wie es mit DNS aussieht, das bei mir als Unbound auch auf der OPN läuft).
 

blurrrr

Well-known member
IPv6: FB6591 -> WAN:OPN --- HA-Proxy -> Traefik-Node über vrrp-ip

Aktuell löst der DNS-Eintrag nur auf eine der OPNsense-Boxen auf, so dass diese oben sein muss, damit die Container erreicht werden können.
Um die Verfügbarkeit zu erhöhen, läuft Traefik mit je einem Replica auf 3 Nodes (mir geht es nicht um Last-Verteilung). und dient als Einstieg in die Container-Welt.
Vielleicht habe ich ja grade irgendwo einen Denkfehler, aber wir reden doch von IPv6? Warum gehst Du dann nicht "direkt" auf traefik - das Ding läuft doch eh immer und die Route dorthin sollte doch bekannt sein, oder habe steh ich da grade auf dem Schlauch? (Bin auch noch nicht ganz wach, waren noch keine 10+ Kaffee heute... 🤣)
 
Der Denkfehler liegt garantiert bei mir - mein Bild von ipv6 ist noch zum unvollständig um zu beurteilen wir man es "richtig" machen würde...
In einigen Belangen tue ich mich echt schwer mit der Transferleistung von ipv4 auf ipv6.

Warum gehst Du dann nicht "direkt" auf traefik
Bei einer Traefik mag das noch Sinn ergeben. GA vom Node bei CloudFlare registrieren und alles ist gut. Fäll der Node aus, ist es vorbei mit der Verfügbarkeit...
Ich habe allerdings 3 Traefik-Replikas verteilt auf 3 Nodes laufen.

Was ich denke das ich will ist eine Failover-IP (egal ob CARP, vrrp) als Ziel des AAAA-Record - egal ob von OPNsense oder dem Cluster von Container Hosts.
Allerdings weiß nicht, ob das was ich will, auch tatsächlich das ist was ich brauche ^^

Ich glaube nicht das es einen Weg gibt mittels DynDNS die GA's der Nodes als Multivalue AAAA-Record zu verwenden - wie sollte bei der Aktualisierung festgestellt werden, dass ein Eintrag zu den anderen evtl. noch existierenden Nodes gehören.
 

blurrrr

Well-known member
Ich hab keine Ahnung von Cloudflare, aber wenn eh alles darüber läuft, kann man es nicht direkt darüber lösen? Irgendwas in Richtung Loadbalancing/Failover werden die doch sicherlich auch haben 🙃

Multi-Value/RRSets/wie auch immer - dürfte das eigentliche Problem nicht lösen, bzw. kommt es da wohl eher auf die Client-Seite an und wie die Software mit mehreren DNS-Records umgeht: a) "einen" rauspicken und versuchen und wenn es nicht funktioniert -> Pech gehabt, b) den ersten versuchen und wenn der nicht funktioniert (Timeout), den nächsten Record versuchen.
 
Ich verwende "nur" den DNS-Server von Cloudflare. Ich kann nachher mal schauen was im "Kostnix-Account" so möglich ist.

Der CF API-Zugriff erlaubt mir mit wenig Aufwand Wildcard LE Zertifikate über DNS-Challenge erzeugen lassen zu können, sowie mit Dynamic DNS Clients nutzen zu können.
Dort wo DDNS Clients Cloudflare nicht direkt unterstützen, verwende ich meinen eigenen Dyndns-Service zum aktualisieren der IP (die Fritzbox ist so ein Kandidat).

Eigentlich will ich die Multivalue-Lösung nicht, ABER wenn ich überlege wie ich das bei AWS umsetzen würde, dann wäre es unabhängig von ipv4 oder ipv6 auch mit Loadbalancer mit Multivalue Einträgen je AZ, sowie hinten raus eine Lastverteilung auf die Member der Targetgroup. In der Targetgroup wären dann die sich dynamisch selbst registrierenden Ziele in privaten Subnetzen.

Ich verstehe einfach nicht wie man das Szenario "stabilie ip" für ein HA-Szenario nutzt, dass keine Lastverteilung durchführen soll - in analogie zur OPNsense hätte ich gerne weiterhin einen aktiven Master.
 

blurrrr

Well-known member
Ich sag einfach mal... "zeichne mal auf" 😅

Wenn ich das richtig verstehe (was ich sicherlich nicht habe 😅), geht es Dir darum, dass Du sowohl a) das bisherige Konstrukt (mit allem zip und zap) fährst, aber einzelne (hinten liegende) Dinge nochmal "direkt" mit einer einzeln zugewiesenen IP ansprechen kannst? Würde für mich bedeuten, dass die generellen DNS-Records tendentiell erstmal auf den/die Reverse-Proxy-Geschichten gehen und es für diese einzelnen Dinger halt nochmal extra Records gibt.

AAAA-Record (statisch, CNAME) -> Reverse-Proxy (RP-dynamisch) -> Nodes (nodeX-dynamisch)

Soll es allgemein angesprochen werden, geht es halt über den normalen AAAA-Record zum RP-Host, willst Du es einzeln und "direkt", nimmst Du halt die DynDNS-Adresse des jeweiligen was-auch-immers?

Bitte diverse Verständnisprobleme zu verzeihen, habe heute leider nur recht wenig geschlafen (verdammte IT... 🙄🤭)

EDIT: Ich hab bestimmt alles völlig falsch verstanden... 🤣
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
585
Beiträge
8.621
Mitglieder
204
Neuestes Mitglied
sina27
Oben