IPv6 Hosting Deutsche Glasfaser

Started by beefchurch, January 16, 2025, 11:02:29 AM

Previous topic - Next topic
January 16, 2025, 11:02:29 AM Last Edit: January 16, 2025, 11:10:25 AM by beefchurch
Moin,

ich versuche __ipv6__ hosting zum laufen zu bekommen. Ich bin bei der DG, die machen CGNAT(?), ipv4 hosting faellt also aus.
Ich habe eine OPNSense fw, die einen /56 prefix ueber den DHCP der DG bekommt. Prefix id auf dem LAN benutze ich 0000, also `0` eingestellt. Internet laeuft mit dem Setup.

Nun habe ich ueber SLAAC einem host eine IPv6 zugewiesen, also das RouterAdvertisement auf `unmanaged` gesetzt und `track interface -> WAN` beim LAN if fuer die ipv6 Vergabe eingestellt.

Feststellung 1 : Mein Server bekommt eine IPv6 im gleichen Subnetz wie das LAN Interface. Sowas wie 2a00::/64.
Feststellung 2 : Lokal kann ich den DNS-Namen aufloesen (DuckDNS nur AAAA eingetragen) und lande bei meinem Server.
Feststellung 3 : Das WAN Interface bekommt ein anderes IPv6 subnet, sowas wie 2a00:0000:1234:1234::/128. Das irritiert mich schon.
Feststellung 4 : Ich habe eine Firewall Regel eingetragen, die traffic zu meinem Server erlauben sollte. Also sagen wir 80 und 443 nach 2a00::/128 erlaubt.

Aber ich komme nicht von aussen an meinen Server.

Hat jmd ne Idee oder kann mich zu ipv6 Dokumentation leiten? Danke!



January 16, 2025, 12:05:19 PM #1 Last Edit: January 16, 2025, 12:07:59 PM by meyergru
Du solltest "Request prefix only" verwenden. Damit bekommt das WAN-Interface den selben /56er Präfix wie Dein LAN.
Außerdem: Lege vorher den Port für die Web-GUI der OpnSense auf etwas anderes als 443 um.

Etwas mehr zum Lesen dazu:

https://forum.opnsense.org/index.php?topic=39556.0

Und speziell: https://forum.opnsense.org/index.php?topic=37155.0

Und hier die offizielle Dokumentation.

Noch ein Tipp: Nutze einen Reverse-Proxy wie HAproxy, Caddy oder Nginx, um Deinen Server über die OpnSense abzuschotten. Dazu gibt es in der Tutorial-Sektion HowTos.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 440 up, Bufferbloat A+

Danke schonmal, habe ich schon alles gelesen.

Nach dem Haekchen fuer "Request Prefix Only" bekommt das WAN nur noch eine link local ipv6. An den Server komme ich dennoch nicht.
443/80 benutze ich eh nicht auf meinem Server nicht, sollte also nicht mit dem GUI der FW kollidieren koennen.

Diese Cloud VPS Sache gibt mir zu denken. Ist es unter CGNAT der DG grundsaetzlich nicht moegloch ipv6 zu hosten? Der Text liest sich so...

ReverseProxy etc. hab ich auf dem Schirm, aber erstmal muss das minimal Experiment funktionieren.

Doch, natürlich. Es geht lediglich darum, dass WAN und LAN den selben Präfix haben sollten, damit die DynDNS-IP, die ja vom WAN der OpnSense aus gesetzt wird, den selben /56er Präfix bekommt wie Geräte im LAN, die Du exponieren willst. Wenn der DynDNS-Anbieter etwas kann, solltest Du die Präfixlänge setzen und die niedrigen 72 (8-Bit Präfix und EUI-64) ebenfalls konfigurieren können. Damit müsste die DNS-Auflösung wirklich der IPv6 Deines Geräts entsprechen.

Freigeben kannst Du das in der Firewall dann mit einem "Dynamic IPv6 Host", wobei das Interface den 8-Bit-Präfix bestimmt und die EUI-64 entnimmst Du Deinem Gerät.

Das funktioniert bei mir hier alles einwandfrei. Und das WAN hat auch eine GUA. Du musst halt den 8-Bit-Präfix für das WAN anders als für das LAN setzen.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 440 up, Bufferbloat A+

Alternativ kann man auch eines der zugewiesenen Präfixe per DHCPv6 verbreiten und der Server macht seine eigenen DynDNS Updates. Dann spielt es auch keine Rolle, ob das WAN eine GUA hat oder nicht.

Kann man machen, ich verwalte aber DynDNS und Zertifikate letzten Endes aber lieber zentral (der Router bekommt auch am schnellsten mit, wenn die Leitung ab- und wieder aufgebaut wird, speziell, wenn das häufig passiert mit Zwangstrennung).

Und dafür sind dann Lösungen mit HAproxy oder Caddy einfach überlegen - man kann dann intern auch ganz auf IPv6 verzichten, weil das auf der Anwendungsebene gehandelt wird. Das macht auch einiges einfacher, falls Dienste z.B. per Docker angeboten werden, weil der nicht wirklich IPv6-fruendlich ist (insbesondere mit dynamischen Adressen).
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 440 up, Bufferbloat A+

Genau da wird fuer mich auch die Reise hingehen. Zentral und Rest des Netzes ipv4 waere mir am liebsten. Da was ich woran ich bin und haenge nicht ausversehen irgendwas ans Netz.
Diese ipv6 Sache laesst mir noch die letzten Haare ausfallen...


Ich bin jetzt einen Schritt weiter. Sinnbildlich sieht es so aus
WAN:       2a00:xxxx:xxxx:0000::01/64
LAN:       2a00:xxxx:xxxx:0001::01/64
Server:    2a00:xxxx:xxxx:0001::02/64
Der Server bekommt seine ip durch SLAAC Magie.

Rules WAN:
Protocol    Source    Port    Destination                        Port        Gateway     Schedule
IPv6 TCP/UDP    *    *    2a00:xxxx:xxxx:0001::02/128    35001    *    *       
IPv6 TCP/UDP    *    *    2a00:xxxx:xxxx:0001::02/128    35000    *    *       
IPv6 TCP/UDP    *    *    2a00:xxxx:xxxx:0001::02/128     80            *    *    
IPv6 TCP/UDP    *    *    2a00:xxxx:xxxx:0001::02/128     443    *    *

Komme aber weiterhin von aussen nicht dran.



January 16, 2025, 09:19:42 PM #7 Last Edit: January 16, 2025, 09:26:44 PM by meyergru
Ich weiß nicht, welche Regeln Du für Floating hast, die eventuell irgendetwas verhindern.

Ich setze IPv6-Regeln immer in Floating mit Quelle "any" und als Ziel eben einen IPv6 Host Alias, der nur die EUI-64 auf dem jeweiligen Interface definiert. Weil: Wenn die IP sogar vom WAN aus erreichbar sein soll, wieso dann nicht auch von anderen Interfaces?

So eine Regel könnte so aussehen (im konkreten Fall habe ich die Quell-IPs auf einen "sicheren" Bereich (Safe) eingeschränkt:


P.S.: /56 sind 7 Oktette, nicht 6!!! Der frei belegbare Präfix hat 8 Bits, nicht 16! Also: Dein 0001 oben wird grob falsch sein, wenn die letzten 8 Bit des /56-Präfix nicht auch zufällig 00 sind. Da müsste also eher stehen: 2a00:xxxx:xxxx:xx01::02/128.
Intel N100, 4 x I226-V, 16 GByte, 256 GByte NVME, ZTE F6005

1100 down / 440 up, Bufferbloat A+