Wie mittels OVPN IPv6 ausleiten



  • Ich möchte (bestimmten) ausgehenden IPv6-Traffic über einen OVPN-Client ausleiten.
    Für IPv4 funktioniert das bei mir schon wunderbar.
    Aber für IPv6 habe ich es nicht hinbekommen, trotz aller Rumpfuscherei.

    Noch sieht das entsprechende Gateway auch dementsprechend aus.
    Capture.PNG

    Auf der anderen Seite ist ein von mir aufgesetzter OVPN-Server auf Windows, außerhalb meines LAN.

    Erbitte mir freundlichst Hilfe, wo ich wie ansetzen kann.

    Screenshot_2020-07-11 pfSense localdomain - VPN OpenVPN Clients Edit.jpg

    port 1194
    proto udp
    dev tun
    dev tun-ipv6
    ca "C:\\Program Files\\OpenVPN\\config\\ca.crt"
    cert "C:\\Program Files\\OpenVPN\\config\\server.crt"
    key "C:\\Program Files\\OpenVPN\\config\\server.key"
    dh "C:\\Program Files\\OpenVPN\\config\\dh2048.pem"
    topology subnet
    server 10.66.0.0 255.255.255.0
    server-ipv6 fe80::/64
    ifconfig-pool-persist ipp.txt
    push "redirect-gateway def1 bypass-dhcp"
    keepalive 10 120
    cipher AES-256-GCM
    auth SHA512
    comp-lzo no
    persist-key
    persist-tun
    tun-mtu 1500
    tun-mtu-extra 32
    mssfix 1450
    status openvpn-status.log
    verb 3
    explicit-exit-notify 1
    



  • Capture.jpg
    Inzwischen ist das Gateway up, aber da jetzt den Traffic wie mit IPv4 einfach auszuleiten funktioniert trotzdem nicht.


  • LAYER 8 Moderator

    @Bob-Dig said in Wie mittels OVPN IPv6 ausleiten:

    Inzwischen ist das Gateway up, aber da jetzt den Traffic wie mit IPv4 einfach auszuleiten funktioniert trotzdem nicht.

    Wie würdest du denn den Traffic mit IP4 routen? Was genau ist dein Ziel?
    Bestimmter ausgehender Traffic - inwiefern bestimmt? Alles von einem Client? Alles an ein gewisses Ziel? :)



  • @JeGr Hallo Jens. Wäre schön, wenn Du mir auf die Sprünge helfen könntest.
    Mein Ziel ist quasi da selbe wie mit IPv4 zu haben, aber ich glaube, dass niemand wirklich NAT mit IPv6 macht...

    Konkret mache ich schon folgendes mit IPv4. Ein Server an einem Interface der pfSense @home schickt eine E-Mail ins Internet. Dieser Traffic wird aber schon auf dem Interface "policy geroutet" auf/in/zu einer VPN-Client Verbindung in der pfSense. Darüber geht die E-Mail dann über (m)einen VPS raus ins Internet. Auf dem VPS läuft nur OVPN, kein E-Mail Server! Ich mache also quasi das, was auch diese hier nicht beliebten VPN-Provider machen. 😉
    Der Vorteil für mich ist, dass die E-Mail nicht mit meinem dynamischen IP @home beim Empfangsserver ankommt, sondern mit der vom VPS, einer statischen Server IPv4.
    Dasselbe mit IPv6 realisieren geht vermutlich nicht, weil niemand IPv6 und NAT macht?
    Ich könnte aber ggf. stattdessen den /64-Prefix des VPS nutzen und quasi auch bei mir @home deployen? Das wäre zwar etwas anderes, aber ich könnte halt ebenfalls die IPv6-Adressen des VPS zum E-Mail-Versenden nutzen?


  • LAYER 8 Moderator

    @Bob-Dig said in Wie mittels OVPN IPv6 ausleiten:

    @JeGr Hallo Jens. Wäre schön, wenn Du mir auf die Sprünge helfen könntest.

    Ich versuchs gern :)

    Mein Ziel ist quasi da selbe wie mit IPv4 zu haben, aber ich glaube, dass niemand wirklich NAT mit IPv6 macht...

    Gibt es ja auch nicht (wirklich). Was dem am nächsten kommt man aber oft für was anderes nutzt ist NPt.

    @Bob-Dig said in Wie mittels OVPN IPv6 ausleiten:

    Dasselbe mit IPv6 realisieren geht vermutlich nicht, weil niemand IPv6 und NAT macht?

    "Gehen" würde das schon, denn du kannst den Traffic ja an Hand des Ports eingrenzen. Also abgehenden Mail Traffic kannst du via VPN routen. Problem daran wäre nur, dass dabei trotzdem die IP6 deines Heimnetzes drinstehen würde, was du offensichtlich ja nicht möchtest. Daher wird das eher schwer, da es eben kein NAT gibt. Problem wäre dabei auch, dass selbst wenn wir NPt nutzen würden, hättest du mit einigen Tricks trotzdem "nur" die IP6 des Transfernetzes deines Tunnels.

    Einzige Möglichkeit die ich sehen würde das hinzubasteln wäre etwas wie:

    • Intern IPv6 local prefix (zusätzlich) nutzen - weiß ja nicht ob du überhaupt sauberes v6 intern hast?
    • Beim Provider deines VPS ein zusätzliches /60er oder /56er Prefix ordern - die meisten geben das raus. Notfalls mit Virtualisierung, Docker, Kubernetes oder irgendwas verargumentieren ;) Notfalls sollte ein /64er auch gehen, könnte aber knapp werden.
    • Dieses Prefix auf deine vorhandene IP6 Adresse routen lassen (wichtig, damit du es weiterrouten kannst).
    • Prefix je nach Größe entweder auf den Tunnel als v6 Transfernetz packen oder aufteilen und eines davon als Transfernetz nutzen und ein weiteres auf den Tunnelendpunkt (pfSense) routen.
    • Bei mehreren Prefixen und einem weitergerouteten: v6 Prefix des Hosters einfach intern (zusätzlich) nutzen :)
      oder:
    • internes Prefix mit fd00::xy auflegen, NPt konfigurieren für v6 Prefix auf dem Tunnel, so dass Traffic auf diese IP6 Adressen 1:1 übersetzt wird auf interne fd00:: Adressen und zurück. Quasi ein wenig wie BiNAT auf ein ganzes Prefix.

    Da du ja einen Server hast, also es meist nur um eine konkrete Adresse geht die übersetzt wird, sollte das auch "baubar" sein, denn notfalls muss man die IP6 als Alias auflegen damit da NPt funktioniert. Kommt drauf an, ob der Hoster das brav mit dem Prefix macht und mehr als ein zusätzliches /64er rausrückt oder nicht.

    Besser könnte auch funktionieren auf dem Tunnel selbst ein fd00::xyz Netz zu nutzen und das zusätzliche /64er direkt intern aufzulegen, dann kann man es direkt statisch auf dem Server konfigurieren, legt es je nach deiner aktuellen Konfiguration intern als Alias auf zum vorhandenen IP6 und zack, hast du ein Hoster-IP6 Netz zu Hause via Tunnel. Wobei DAS dann auch nicht großartig anders ist, als sich direkt bei bspw. he.net ein IP6 Netz von denen als Tunnel zu holen :D
    Und da hast du dann auch deren IP6 Adresse extern (nutze ich schon länger). Man muss nur freundlich SMTP freischalten lassen (ist default wegen Spammern geblockt) und dann fluppt das. Musste das bei einem älteren VPS mal machen als dessen Hoster sich geweigert hat IP6 draufzulegen. Habe dann eben einen he.net v6 Tunnel drauf angelegt und tada, IP6 fähig und ich kann die Adressen sogar mitnehmen zu einem anderen Host (und so unperformant war der Tunnel jetzt auch nicht) :)



  • @JeGr Hey. Also den HE-Tunnel mit SMTP habe ich schon an der Sense. Und so versende ich aktuell auch tatsächlich meine paar IPv6-E-Mails.
    Es ist daher auch nichts akutes, aber es hat mich interessiert. Von deinen ganzen Vorschlägen verstehe ich als noob nur den letzteren, halt so ähnlich wie HE. ☺
    Wäre das auch die "noobfreundlichste" Lösung? Habe ja nur einen /64-Prefix auf dem VPS. Wenn es so wäre, wie müsste man OVPN einrichten, als site2site vpn statt als Client-Server, wie es jetzt ist? Auf dem VPS läuft übrigens Windows in der Server-Variante. Nicht dass ich das jemals gemacht hätte, aber vielleicht kannst Du mich noch mehr in die richtige Richtung stubbsen. 😉


  • LAYER 8 Moderator

    @Bob-Dig said in Wie mittels OVPN IPv6 ausleiten:

    Habe ja nur einen /64-Prefix auf dem VPS.

    Genau deshalb sag ich ja, Anfrage stellen, brauche zweites Prefix für Virtualisierung/Docker/whatever. Normalerweise gibts das anstandslos.

    Wenn es so wäre, wie müsste man OVPN einrichten, als site2site vpn statt als Client-Server, wie es jetzt ist?

    Sinnvollerweise immer als Site2Site. Machst ja einen Tunnel und kein "Roadwarrior" Szenario. Auch wenn du "nichts" auf der remote Seite hast, musst du ja trotzdem ordentlich routen können. Bei Client VPN geht das nur schwer bzw. über iroutes. Doof. Daher immer als Tunnel aufsetzen, dann hat man weniger Streß.

    Auf dem VPS läuft übrigens Windows in der Server-Variante.

    Meh :/ Nicht schön. Das wird allein schon wegen Routing nervig. Keine Ahnung was man da ggf. noch einstellen muss, damit er Forwarding/Routing ordentlich macht.

    Vom Prinzip her:

    • zweites Prefix anfragen
    • auf OVPN auch IP6 drauflegen mit einem fd00:: ULA Netz (https://de.wikipedia.org/wiki/IPv6#Unique_Local_Unicast)
      Die werden von dir zufällig im Bereich fdXY generiert (siehe Wiki)
    • Mit dem FDxx als Transfernetz hast du jetzt ::1 und ::2 im Tunnel Setup. Dann musst du das ovpnX interface noch zuweisen in der Sense (assignments) und aktivieren. Hast du wahrscheihlich eh schon wegen PBR.
    • Dann muss auf der Windows Gurke das zusätzliche IP6 Prefix dann durchgeroutet werden auf den Tunnelendpunkt der pfSense (also bspw. fdXY:ran:dom:beef::2). Damit kommt es da an und du kannst alles mögliche damit machen. Es intern auf dem LAN auflegen oder zusätzlich als Alias definieren wenn du nen he.net prefix eh schon hast. Dann bekommt die Sense auf dem LAN eben noch eine IP6 mehr als Alias und dein Mailserver eine fixe IP6 aus dem Netz und du kannst dann problemlos outbound sagen "wenn IP6 aus diesem Prefix ausgehend, schicke über VPN" und es kommt dann von dem Prefix des Hosting Providers das du durchgeroutet hast.

    Aber wie gesagt, wie sich Windows Server da einfügt und was man an dem Anstellen muss, bin ich gerade auch überfragt :)



  • @JeGr said in Wie mittels OVPN IPv6 ausleiten:

    Aber wie gesagt, wie sich Windows Server da einfügt und was man an dem Anstellen muss, bin ich gerade auch überfragt :)

    Das höre ich in letzter Zeit öfters. 😆


  • Rebel Alliance

    @JeGr

    Die Sache wäre was für ein Tech-Stammtisch. :)

    @Bob-Dig
    Klinke mich hier mal ein. Habe sein knapp 3 Wochen einen VPS angemietet, erst mal zum kennenlernen, eventuell Mailserver, VPN, Cal- und CardDAV und was noch so kommt.

    Du nutzt deine IP bzw. Domain vom VPS zum versenden und empfangen von Mails auf deinen Server@home?

    Habe da eine Verständnisfrage:
    Ein VPS hat doch normalerweise eine IPv4 und eine IPv6 IP. Als Beispiel, ein aaa.bbb.ccc.ddd/32 ist doch identisch wie ein /64 Präfix für eine IPv6 IP, wozu muss der Präfix erweitert werden, läuft doch alles über Ports, oder nicht? Haben ja auch nur eine IPv4 IP. 😵

    Oder ist da ein Denkfehler?

    Mike



  • @mike69 Nur zum Versenden. Da mir als Laie die Vokabeln und auch etwas das Verständnis fehlen, versuche ich jetzt nicht deine anderen Fragen zu beantworten. 😉


  • Rebel Alliance

    @Bob-Dig

    Diese Ehrlichkeit ist erfrischend. ☺
    Dachte, Ich könnte von dir noch was lernen...😂



  • @mike69 said in Wie mittels OVPN IPv6 ausleiten:

    Dachte, Ich könnte von dir noch was lernen...😂

    Das Äquivalent zu /32 wäre /128. So. 😋


  • Rebel Alliance

    @Bob-Dig

    Na siehste :)

    Danke.👍


  • LAYER 8 Moderator

    VPS bekommen meistens eine IP4 und ein /64er Prefix. Sehr selten, dass ein Anbieter nur eine IP4 und eine IP6 rausrücken und die IP6 mit /128 auflegen. Das ist im Normalfall auch einfach Vorgabe zumindest bei IPv6 von RIPE und Co.

    Und klar läuft Mail über Ports, das ist ja gar nicht das Thema. Aber Bob will beim Versenden der Mail quasi sicherstellen, dass die Mail beim Empfänger Mailserver von der IP ankommt, die sein VPS hat. Da es aber kein NAT bei IPv6 gibt, bleibt also nur noch eine IP6 des Servers zu nutzen. Das geht aber nicht ohne weiteres und dazu kommt, dass es bei Windows auch nochmal schwerer wird. Daher ist die einfachste Lösung hier beim Provider einfach ein zweites /64er Prefix anzufragen, das auf den Server zu routen und von dort bis zu sich nach Hause über Transfernetz und OVPN Tunnel. Dann kann er das quasi daheim im LAN auflegen und wenn sein Mailserver was via v6 sendet kommt es beim Empfänger mit einer IP6 Adresse an, die zum Hoster gehört, nicht zu einem Privatanschluß. Gibt einige Blocklisten, die gepflegt werden und dynamische Adressbereiche und Prefixe ausschließen da diese durch das "angeblich so tolle und privacy freundliche rotieren" genauso gern genutzt wurden von Spammern um ständig neue IPs zu bekommen. Daher gibts mehrere große Mailcluster, die entweder im AntiSpam oder schon beim Verbindungsaufbau gegen Blocklisten filtern und entweder dann + auf den Spamwert draufhauen oder gar keine Verbindung aus dynamischen IP Bereichen von Telekom und Co annehmen.

    Aber die Anmerkung mit Stammtisch erinnert mich an was... :)


  • Rebel Alliance

    @JeGr

    Klick.

    Die /64 vom VPS kann @Bob-Dig nicht nehmen, weil sie der VPS zugeteilt ist, brauch eine zweite /64 zum routen.

    Edit:
    Was für eine Verschwendung...


  • LAYER 8 Moderator

    @mike69 said in Wie mittels OVPN IPv6 ausleiten:

    Was für eine Verschwendung...

    mag sich so anfühlen, aber es gibt genug Prefixe als das wir die Wände damit pflastern können (zum einen), zum anderen können die Adressen ja durchaus auch vom Server selbst verwendet werden. Früher hatte man in den Anfangszeiten auch ein /24, /25er oder /26er o.ä. mit zu seiner Leitung bekommen. Heute muss man froh sein, wenn sie nicht dynamisch ist. Unsere erste SDSL 2Mbps Kupferader in der damaligen Firma da gabs die /24 obendrauf. Mussten wir dann selbst in 4 /26er segmentieren damit man da was Sinnvolles draus machen konnte, da sonst die ganzen Adressen vor der Firewall verschwendet worden wären. Und jetzt mit genug öffentlichen IP6 Adressen ist das "normale" Routing eben wieder zurück. Nur jeder ist so viele Bullshit Lösungen und so viele Workarounds gewohnt, dass man das ganz normale IP Routing fast nicht mehr kennt oder gewohnt ist. :)


  • Rebel Alliance

    @JeGr said in Wie mittels OVPN IPv6 ausleiten:

    Nur jeder ist so viele Bullshit Lösungen und so viele Workarounds gewohnt, dass man das ganz normale IP Routing fast nicht mehr kennt oder gewohnt ist. :)

    Da gebe ich Dir Recht, da ist umdenken angesagt. :)



  • @JeGr said in Wie mittels OVPN IPv6 ausleiten:

    Genau deshalb sag ich ja, Anfrage stellen, brauche zweites Prefix für Virtualisierung/Docker/whatever. Normalerweise gibts das anstandslos.

    Anstandslos vielleicht, aber netcup möchte 1€ pro Monat dafür. ☹

    Wenn es sonst nicht geht, bleibt es halt bei HE. Da konnte ich ja auch rDNS einstellen.


  • LAYER 8 Moderator

    @Bob-Dig said in Wie mittels OVPN IPv6 ausleiten:

    Anstandslos vielleicht, aber netcup möchte 1€ pro Monat dafür.

    Sollte man sie mal daran erinnern, dass laut RIPE einem Kunden für sein(e) Netze ein /60 bzw. /56 zur Verfügung zu stellen ist. Finde das schon ein wenig frech.


Log in to reply