Hallo,
ich habe auf meiner Opnsense IPv6 aktiviert und freigeschaltet. Die Server im Heim Netz bekommen jetzt auch eine öffentliche IPv6 Adresse von der Telekom. Für die öffentliche IP v6 Adresse von einem Testserver habe ich auch einen DNS Eintrag angelegt. Wie richte ich jetzt auf dem WAN Interface die Portfreigabe für TCP 80 und 443 für diesen Server ein, dass er von aussen darüber erreichbar ist?
Mfg
Mathias
Firewall-Regel an WAN:
Protocol: IPv6, TCP
Source: any
Destination: IPv6-Adresse deines Servers
Destination-Port: 80
Dann dasselbe für 443. Oder einen Port Alias anlegen, z.B. "Web", mit 80 und 443 und dann den verwenden.
Was willst du da forwarden? Das ist ja die Idee bei IPv6, dass man den Müll nicht mehr braucht ...
Wenn Du einen Privatkundenanschluss hast, wird das ein bisschen komplizierter:
1. Da die Telekom dynamische Präfixe vergibt, kannst Du für die Firewall-Regel keine feste IPv6 angeben, Du brauchst dazu einen "Dynamic IPv6 Host"-Alias, in dem nur die EUI-64 angegeben wird, also die unteren 64 Bits.
2. Das nächste Problem wird wahrscheinlich sein, dass Du einen DynDNS-Eintrag brauchst, denn die öffentliche IPv6 der OpnSense ist nicht die selbe wie die Deines Servers. Normalerweise wird es dann spannend, wer den DynDNS-Eintrag pflegen kann, weil viele DynDNS-Dienste, wenn sie überhaupt IPv6 können, immer nur die IPv6 des Absenders eintragen (also eventuell nur die IPv6 Deiner OpnSense, wenn nicht der Server selbst den Eintrag macht).
Um Nummer 2 zu lösen, braucht es einen DynDNS-Hoster, dem man sagen kann, dass die unteren X Bits (also EUI-64 plus Interface-Präfix, meist 8 Bits, zusammen 72 Bits) "fest eingestellt" bleiben sollen. Er ändert dann nur den /56er Präfix. Außerdem muss dann die OpnSense die IA_PD anstelle der IA_NA für ausgehende Verbindungen verwenden ("Request Prefix Only" in den WAN-Interface-Einstellungen).
Ist Dir zu kompliziert? Dann betreibe die Server im LAN per IPv4 und verwende einen Reverse-Proxy wie Caddy, NGinx oder HAproxy. Der ist dann per IPv6 unter der IPv6 der OpnSense erreichbar, was viel einfacher ist. Er spricht die Server dann per IPv4 im LAN an und zwar per DNS-Namen, dann brauchst Du Dir auch nicht verschiedene Ports zu merken. Außerdem kann er wahlweise per IPv4 oder IPv6 angesprochen werden.
Und keine Angst, ausgehend kannst Du ja immer noch IPv6 machen - sogar mit Privacy Extensions.
Hier sind die Tutorials dafür:
IPv6 (https://forum.opnsense.org/index.php?topic=45822.0)
HAProxy (https://forum.opnsense.org/index.php?topic=23339.0)
Caddy (https://forum.opnsense.org/index.php?topic=38714.0)
Hi, danke euch für eure Antworten. Genau das sind meine Probleme. Das mit Punkt 1 habe ich leider noch nicht ganz verstanden, bin leider noch nicht so tief drin bei IPv6.
Punkt 2: Wenn ich den DYNDNS Dienst auf den virtuellen Server laufen lasse, dann sollte er doch seine IPv6 Adresse updaten und nicht die von der Opnsense oder?
Quote from: Mathias on June 06, 2025, 09:05:49 AMHi, danke euch für eure Antworten. Genau das sind meine Probleme. Das mit Punkt 1 habe ich leider noch nicht ganz verstanden, bin leider noch nicht so tief drin bei IPv6.
Siehe: https://docs.opnsense.org/manual/aliases.html#dynamic-ipv6-host
Quote from: Mathias on June 06, 2025, 09:05:49 AMPunkt 2: Wenn ich den DYNDNS Dienst auf den virtuellen Server laufen lasse, dann sollte er doch seine IPv6 Adresse updaten und nicht die von der Opnsense oder?
Fast. Wenn allerdings der virtuelle Server die "IPv6 Privacy Extensions" nutzt, dann nutzt er für ausgehende Verbindungen eine zufällige IPv6, die sich ab und zu ändert und nicht seine eigene, auf der EUI-64 basierende, "feste" (bis auf den Präfix) IPv6. Zum einen ist das nicht die, die Du im "Dynamic IPv6 Host"-Alias angeben kannst, also kommst Du damit von außen nicht durch die Firewall, zum anderen ändert die sich wie gesagt.
Das hängt aber auch davon ab, was der DynDNS-Hoster macht. Wenn er das "Zumischen" einer EUI-64 erlaubt, ist es egal. Es gibt i.W. drei Typen von Updates:
1. Updates, die einfach die Absenderadresse eintragen. Dann kommst Du um Updates vom echten Server aus nicht herum und er darf keine Privacy Extensions nutzen.
2. Updates, bei denen man einen "festen" EUI-64-Anteil bestimmen kann.
3. Updates, bei denen man per Variable die IPv6 mitgibt. OpnSense kann das mit "__MYIP__" tun, und zwar sogar, indem dort der Präfix eines wählbaren Interfaces genutzt wird. Die Maskierung der EUI-64 ist aber auch dann notwendig, wenn der Update stellvertretend für einen Server erfolgen soll.
Genau solche Probleme lassen sich sehr einfach lösen, indem man einen Reverse Proxy nutzt, der die internen Dienste:
a. Die OpnSense den DynDNS machen lässt - der passt immer, weil die IPv6 dann immer die WAN-IP der OpnSense ist und die internen Server per IPv4 addressiert werden.
b. per DNS-Namen auflöst, wobei man auch noch mit Wildcards (z.B. *.domain.de) arbeiten kann, so dass neue Services/Hosts ohne DynDNS-Anpassungen funktioniert. Die Wildcard-Adresse wird auf den DynDNS-Namen gerichtet.
c. Die TLS-Terminierung und das Einholen von Zertifikaten auf der OpnSense durchgeführt werden, was dann auch per Wildcard geht, also braucht man nur ein Zertifikat für alles. Damit ist die Verteilung von Namen auf interne Server dann super einfach. Der neue Dienst/Name ist dann z.B. bei HAproxy nur noch ein "Real Server", ein "Backend" und eine Zeile im Mapfile. Noch dazu sind Wildcard-Zertifikate sicherer, weil man nicht einfach sehen kann, welche Namen es wirklich gibt (https://crt.sh).
Alles klar, danke dir. Dann kann ich ja auch IPv6 auf dem Lan Interface ausschalten oder brauchen die internen Server eine IPv6 Adresse wenn ich die Anfragen im HA Proxy annehme und sie dann an die internen Server weitergebe? Also WAN> IPv6 > HA Proxy IPv6 > interner Server IPv4?
Das würde ich nicht tun, weil IPv6 für ausgehende Verbindungen immer noch nützlich ist. Warum sollte man das abschalten?
Für eingehende Verbindungen ist IPv6 im LAN aber unnötig bzw. aus den genannten Gründen m.E. sogar ungeeignet. Die Kommunikation nach innen läuft ausschließlich über IPv4. Das ist ja einer der Vorteile eines Application Level Gateways wie HAproxy: es kann das Protokoll wandeln, so wie Du es geschrieben hast.
Das ist also eigentlich kein "Oder", sondern eine differenzierte Betrachtung in zwei Richtungen.
Okay, danke dir für die Info. Dann teste ich es mal mit HA Proxy und IPv6