Routing-Frage (IPv6)



  • Hallo zusammen,

    ich habe einen dedizierten Server bei Hetzner. Auf dem läuft ein ESXi. Ich hab die pfsense als VM laufen. So allen VMs Zugriff auf das Internet zu geben und die verschiedenen VLANs anzubinden war relativ einfach. So nun versuche ich mal ein Subnetz für einen Webserver über IPv6 aufzubauen. IPv6 soll ja ohne NAT laufen. Nur irgendwie habe ich das mit dem Routing und dem IPv6 nicht ganz kapiert. Ich habe das Subnetz, was ich erhalten geteilt und ein Debian jetzt mit IPv6 versehen. Dieser hat über ein internes Interface an der pfsense eine statische IPv6 erhalten und kann auf das Internet zugreifen. Das WAN-Interface hat auch eine externe IPv6-Adresse. Also soweit für mich auch grob verständlich. Nur wie sage ich jetzt die Anfrage über Port 80 entsprechend weiter?

    Ziel des ganzen soll es sein, dass jede Domain mal seine eigene IPv6 Adresse erhält. Das kann ich mir aber auch irgendwie nicht vorstellen. Weil ich eine Statische IP für das WAN-Interface vergeben muss damit das läuft (anders habe ich das zumindest nicht hinbekommen). Das würde ja bedeuten, dass ich für jede Domain die ich per DNS aufschalte ein eigenes Interface benötigt, oder?

    Portweiterleitung nölt er, dass dort eine IPv4 benötigt wird, was wieder auf die IPv6 kein NAT Geschichte deutet.

    Kann mir jemand die fehlenden Puzzle-Teile zur Verfügung stellen? Mir reichen auch gerne einzelne Stichworte, mit denen ich dann weiter lernen kann, damit ich das große Ganze sehe.

    Vielen Dank :)

    PS: Hetzner scheint sowieso ziemlich ekelhaft zu sein, weil die iwie die IPs auf MAC-Adressen legen, was mir das alles noch unverständlicher macht, da ich ja quasi nur ein Interface für alle IPs nutzen kann, weil die entpsrechende MAC ja angegeben sein muss?



  • @blubb1992:

    Nur wie sage ich jetzt die Anfrage über Port 80 entsprechend weiter?

    Portweiterleitung brauchst du nicht, es reicht den Port für die entsprechende IPv6 in der Firewall zu öffnen.

    @blubb1992:

    Ziel des ganzen soll es sein, dass jede Domain mal seine eigene IPv6 Adresse erhält. Das kann ich mir aber auch irgendwie nicht vorstellen.

    Doch genau so ist es.

    Übrigends ist die Suche hier extrem hilfreich: https://forum.pfsense.org/index.php?topic=92751.0



  • Hallo,

    vielen Dank für Deine Antwort. Mir ist jedoch nicht klar, wie ich die externe IP auf die interne route. Ich muss dem externen Interface ja eine IP zuweisen.  Oder steht die Webserver-IP direkt im Internet?

    Danke Dir.



  • Mit IPv6 erhälst du eine Global Unicast Adresse, die weltweit erreichbar ist. So wie es bei IPv4 auch mal war, ganz am Anfang bis NAT erfunden werden mußte. Von deinem Provider erhälst du noch ein Prefix für die Geräte hinter deinem Router (pfsense). Im einfachsten Fall nur ein /64. Dein Provider schickt alles, was zu diesem Prefix gehört, zu dir. Die pfsense routet von alleine und die Verbindung steht. Die Firewall (pfsense) blockiert nun erstmal alles was an irgendwelchen Interfaces reinkommt, bis du es zuläßt. Ende.
    Für mehrere VLANe kannst du ein größeres Prefix bekommen, z.B. ein /56 oder /48. Diese teilst du in der pfsense in /64 auf und vergibst sie an die VLANe. Routing passiert von selbst, Firewall benötigt aber Regeln, um Verkehr durchzulassen.

    Ja, die Webserver-IP steht im Internet, weil du damit Teil des Internets bist. Nur die pfsense verhindert ggf. den Zugriff darauf.

    Gruß
    pfadmin


  • Moderator

    Bei IP6 sind alle IPs immer völlig gültig. Es gibt kein intern/extern etc. es sind alles routbare und "echte" IPs. Es gibt zwar soetwas wie "private" IPs, diese sind aber auch für spezielle Zwecke vorbehalten. In einem sauberen Setup sollten sie nicht notwendig sein.

    Dein Problem ist eher, dass die Hetzner EIN v6 Netz à (meistens) /64 liefert, korrekt? Mit einem Netz allein kommst du leider nicht weiter und das letzte Mal, dass ich mit Hetzner an der Stelle "herumschlagen" musste, waren sie NICHT gewillt, ein zweites v6 Netz herauszurücken und auf eine IP in diesem Netz das andere zu routen. Das ist das, was du brauchst. Ein Netz, das auf dem WAN aufliegt und welches das Netz dass dir Hetzner zuteilt dann weiter routet. Manchmal kann man dies auch mit dem Link-Local Adressraum hinbekommen (fe80::) aber "sauber" wäre eine Art Transfernetz bzw. WAN Netz, welches das zweite (LAN) Netzsegment zugeroutet bekommt. Oder du bekommst eine größere Zuteilung als /64 wie /60 oder /56 und kannst dann selbst Subnetze daraus weiter routen, das ist natürlich auch möglich.

    Grüße



  • Hallo,

    vielen lieben Dank! Jetzt hats klick gemacht :)

    Ja es ist Hetzner und ja ich habe nur ein 64er bekommen. Was ich jetzt nur nicht verstehe ist, dass JeGr sagt ich muss ein Transfernetz auf ein anderes Netz, was ich dann intern nutze, routen lassen und pfadmin sagt, die IPs stehen im Netz und alle sollten am WAN-Interface terminieren (an dem WAN-Interface ist auch die MAC, auf die ich das 64er routen lasse, eingetragen), sodass ich nur eine Regel erstellen muss, welche beim Webserver dann Port 80 für die IP frei lässt. Ich muss also noch nicht einmal dem WAN-Interface eine feste IPv6 geben, weil dort alle Adressen landen. Dann gebe ich dem Webserver einfach die IP und mache die Ports auf. Bums fertig :D

    Oder habe ich etwas falsch verstanden? :)

    Danke! :)



  • Es ist recht simpel und funktioniert absolut problemlos auch Ihnen zweites Netz bei Hetzer

    https://forum.pfsense.org/index.php?topic=113617.0;topicseen



  • Grundsätzlich solltest du eher auf JeGr hören als auf mich  ::), aber wir haben nichts gegenteiliges behauptet. Indem du deinen Router mit deinen Netzen ins Internet einwählen läßt, bist du Teil des Internets und somit "stehen" die Server im Netz. Mit IPv4 und der Adressknappheit wurde NAT eingeführt, was dich automatisch aus Richtung Netz abschottete, mit IPv6 bekommst du aber "öffentliche" Adressen (Global Unique), die natürlich wiederum von überall erreichbar sind, wenn du das nicht durch eine Firewall unterbindest. Hetzner macht nun genau das was JeGr schreibt, die routen das /64 Netz zu dir und du kannst es LAN-seitig verwenden. Eine Global Unique IPv6 am WAN brauchst du eigentlich nur, wenn du die Sense auch aus dem Internet ansprechen willst.Evtl reicht da aber auch die LAN-seitige IPv6 aus dem /64. Wenn du nun mehrere Netze auf der LAN-seite hast, brauchst du mehrere /64er. Die bekommst du, indem du eben ein /60 /56 /48 oder so statt eines /64 geroutet bekommst. Die mußt du dann aufteilen in /64er und verteilen…

    Vergiss NAT bei IPv6!

    Grüße

    pfadmin


  • Moderator

    @Parsec: das war die Methode über link local unicast die mir noch im Kopf herumgeschwirrt ist - danke dafür :)

    @pfadmin: na die Weisheit hab ich auch nicht gefressen :P

    Ansonsten geht eben Hetzner bei der Vergabe nicht davon aus, dass du da viele kleine Maschinen laufen lässt, sondern dass du eben eine dicke hast und dafür ist das v6 Prefix auch genug. Bzw. wird da eher nicht davon ausgegangen, dass du da ne Router VM vornedranbastelst. Daher sind die auch extrem zickig, das "schön" zu machen mit ordentlichen Netzen auf jeder Seite. Daher kann man das /64 entweder auf dem WAN auflegen oder ins LAN schieben lassen - indem man wie Parsec eben den link-local für das Routing mit Hetzner nutzt und das v6 Netz dann auf dem LAN konfiguriert.

    Bei v6 gibt es (für 99% der Fälle) keine extern/intern/privat/öffentlich Diskussion mehr. Alle Adressen die vergeben werden sind erstmal weltweit erreichbar außer es wird dediziert was anderes gesagt. Punkt. Es gibt kein NAT oder sonstiges Geschwurbel. Auf jedem Interface das v6 fähig ist, liegt ein v6 Netz auf und es wird ganz normal und sauber geroutet und sonst nix. Keine NAT Krücken, keine Forwardings, Mappings, Source- oder Destination NAT, Redirects oder sonstwas. Clean & Simple.