dani
Goto Top

IPv6 Routing mit Pfsense als VM

Guten Abend liebe Netzwerkler,
ich sehe gerade vor lauter Bäumen den Wald nicht...

Ich habe mir bei einem Webhoster einen dedizierte Server angemietet. Auf diesem ist VMWare ESXi 6.0 installiert. Im Rahmen der Bestellung wurde mit kostenlos eine IPv4 Adresse (1.2.3.4) und ein IPv6 Subnetz (2A00:1234:5678:A00C:0005::/112) zugeteilt.

Ich habe auf dem Host zwei vSwitches eingerichtet:
- vSwitch0 ist mit der vmic0 verbunden und stellt den Uplink her.
- vSwitch1 hat keine physikalische Netzwerkkarte zugeordnet und soll in erster Linie für die Kommunikation der VMs untereinander dienen. Unabhängig davon hängt das Management Netzwerk des ESXi-Hosts ebenfalls in diesem Netzwerk.

Ich habe danach eine VM mit pfSense installiert und jeweils eine virtuelle Netzwerkkarte für jeden vSwitch eingerichtet.

Auf dem WAN-Interface (em0) habe ich folgende Konfiguration angegeben:
IPv4
IP-Adresse: 1.2.3.4
Subnetzmaske: 255.255.255.224
Gateway: 1.1.1.1

IPv6
IP-Adresse: 2A00:1234:5678:A00C:0005::1
Subnetz: /64
Gateway: 2A00:1234:5678:A00C::1/64 (nein, ist kein Tippfehler).

Auf dem LAN-Interface (em1) habe ich folgende Konfiguration angegeben:
IPv4
IP-Adresse: 192.168.62.1
Subnetzmaske: 255.255.255.0
Gateway: none

IPv6
IP-Adresse: 2A00:1234:5678:A00C:0005::8001
Subnetzmaske: /113
Gateway: none

Datenvekehr via IPv4 ist kein Problem, da auf der pfSense natürlich "Automatic outbound NAT" aktiviert ist.
Bei IPv6 ist kein Ping, kein Traceroute möglich.

Ich habe schon mit dem technischen Support gesprochen, ob ich nochmal ein solches IPv6 Subnetz haben kann. Diese hätte ich dann auf 2A00:1234:5678:A00C:0005::1 routen lassen. Leider ist das bei diesem Webhoster nicht möglich. Im gleichen Zug/Antwort bekam ich den Hinweis, dass mein Vorhaben auch mit einem Subnetz umsetzbar ist.

Kann mir jemand einen Denkanstoß geben?!


Gruß,
Dani

Content-Key: 344239

Url: https://administrator.de/contentid/344239

Ausgedruckt am: 19.03.2024 um 03:03 Uhr

Mitglied: LordGurke
LordGurke 23.07.2017 um 23:23:02 Uhr
Goto Top
Das wird so nicht funktionieren — denn routen kannst du das /112-Präfix nicht zwischen vSwitch und der externen Netzwerkkarte, parallel wird vermutlich der MAC-Filter des Hosters verhindern, dass du transparent mit den MAC-Adressen der VMs direkt mit dem Router des Hosters reden kannst.
Eventuell (!!) ist es möglich, das per NDP-Proxy auf der pfSense umzusetzen — aber schön ist das nicht und zudem fehleranfällig (und es würde implizieren, dass da keine MAC-Adressen gefiltert werden).

Das geht nur ordentlich, wenn du ein zusätzliches Präfix geroutet bekommst und deine pfSense das dann auch korrekt routen kann.
Mitglied: Dani
Dani 24.07.2017 um 21:15:45 Uhr
Goto Top
Moin,
...parallel wird vermutlich der MAC-Filter des Hosters verhindern, dass du transparent mit den MAC-Adressen der VMs direkt mit dem Router des Hosters reden kannst.
Ob ein MAC-Adressfilter aktiv ist, konnte ich bisher nicht verbindlich herausfinden. In wie weit spielt dieser eine Rolle bzw. wenn keiner aktiv ist, wäre es mit einem Subnetz realisierbar ohne NDP-Proxy?

Inzwischen habe ich viel gelesen und bin bei Hetzner auf eine Doku (Vorbereitung im vSphere-Client) gestoßen. Dort wird sogar auf eth0 und eth1 die selbe IPv6 Adresse konfiguriert?! Wobei dort die Subnetzpräfixlänge auf dem WAN-Interface (/128) kleiner ist als auf LAN-Interface (/64). Wie auch immer das funktioniert... *grübel*


Gruß,
Dani
Mitglied: aqui
aqui 27.07.2017 um 16:18:46 Uhr
Goto Top
Was etwas verwirrend ist sind die 2 IPv4 Adressen am WAN Port ??
Tippfehler ??
Mitglied: Dani
Dani 27.07.2017, aktualisiert am 28.07.2017 um 22:30:02 Uhr
Goto Top
Moin!
Tippfehler ??
Ja, soll Gateway heißen. face-smile

Nach einem heißen Wissenstausch per Ticket habe ich ein weiteres IPv6 Subnetz erhalten.

IPv6
IP-Adresse: 2A00:1234:5678:A04A:1::0
Subnetz: /64
Gateway: 2a00:1234:5678:A04A::1/64 (nein, ist kein Tippfehler).

Aber das bringt mich eigentlich nicht weiter oder? Das zweite Subnet müsste doch z.B. auf die IP-Adresse 2A00:1234:5678:A00C:0005::1 geroutet werden, damit das Konstrukt funktioniert.


Gruß,
Dani
Mitglied: aqui
aqui 28.07.2017 aktualisiert um 15:04:02 Uhr
Goto Top
Die ursprüngliche Adressierung von oben kann auch nicht funktionieren, denn wenn du ein /64 am WAN Port hast kannst du ja niemals ein /113 am LAN haben Routing wäre damit unmöglich, da das /113 ja ein Teil des /64 Netzes ist.
L3 seitig sähe das ja so aus:

daniv6

Da kannst du auch sehen das das Gateway 1.1.1.1 niemals Teil des 1.2.3.0er Netzes mit einem /27 Prefix sein kann face-wink
Aber das ist sicher nur kosmetisch da sicher nur Beispiel...?!
Die beiden v6 Netze wären so auf beiden Seiten gleich bzw. das /113 Netz wäre so nicht routebar.

Mit dem neuen dir zugeteilten separaten v6 Netz würde es gehen, allerdings hast du das oben etwas konfus geschrieben so das man die richtige Adsressierung nicht erkennen kann.
Aber wenn es so aussieht:
WAN: 2A00:1234:5678:A00C: /64
LAN: 2A00:1234:5678:A004: /64
dann passt es, denn dann hast du 2 unterschiedliche v6 IP Netze an beiden Ports und alles wäre richtig.
Die Firewall bekommt eine Default Route auf 2A00:1234:5678:A00C::1 und alles wäre so wie es sich gehört.
NAT muss natürlich deaktiviert werden für v6 auf der FW !
Mitglied: Dani
Dani 28.07.2017 aktualisiert um 22:28:45 Uhr
Goto Top
Moin,
Aber das ist sicher nur kosmetisch da sicher nur Beispiel...?!
richtig... da hab ich beim Schwärzen nicht genau nachgerechnet. Spielt eigentlich auch keine Rolle.

Mit dem neuen dir zugeteilten separaten v6 Netz würde es gehen, allerdings hast du das oben etwas konfus geschrieben so das man die richtige Adsressierung nicht erkennen kann.
Zur Sicherheit erkläre ich nochmals die Details des jeweiligen IPv6-Subnetzes.

1. Subnetz (vorgesehen für das LAN Interface)
Bereich: 2A00:1234:5678:A04A:0001::/112
Range: 2A00:1234:5678:A04A:0001:0000:0000:0000 - 2A00:1234:5678:A04A:0001:0000:0000:FFFF
Gateway: 2a00:1234:5678:A04A:0000:0000:0001/64

2. Subnetz (vorgesehen auf dem WAN Interface)
Bereich: 2A00:1234:5678:A00C:0005::/112
Range: 2A00:1234:5678:A00C:0005:0000:0000:0000 - 2A00:1234:5678:A00C:0005:0000:0000:FFFF
Gateway: 2A00:1234:5678:A00C:0000:0000:0001/64

Da das vorgegebene Gateway nicht im jeweiligen Subnetz (/112) liegt, hat der Support auf Nachfrage gesagt, dass ich /64 konfigurieren soll.

NAT muss natürlich deaktiviert werden für v6 auf der FW !
Ich dachte unter pfSense ist per se für IPv6 kein NAT vorgesehen. Für IPv4 benötige ich es natürlich, da ich nicht Geld für weitere IPv4 Adressen ausgeben möchte.


Gruß,
Dani
Mitglied: aqui
aqui 29.07.2017 aktualisiert um 11:08:28 Uhr
Goto Top
Soweit klingt das schlüssig, da du ja jetzt an beiden Interface unterschiedliche IPv6 Netze hast.

Was aber noch recht komisch ist das die Argumentation des Supports mit nicht konsistenten Subnetz Masken zu arbeiten. Das wird so sicher in die Hose gehen.
Verglichen mit v4 wöre es so als wenn du in einem /24er Subnetz ein eigenes /25er betreibst oder mit noch größerer Subnetzmaske.
Sowas wird natürlich niemals funktionieren, denn die Netze wissen ja nichts voneinander und ein Subnet Mismatch wäre gravierend und führt sofort zur Fehlfunktion. Es gelten da ja gleichen Regeln wie bei v4.
Deshal ist die Angabe eines /64 Prefixes beim Gateway eigentlich Unsinn. Mal ganz abgesehen davon das man bei der Gateway IP ja auch niemals eine Maske angibt.
Bei beiden IP Netzen:
Prefix: ffff:ffff:ffff:ffff:ffff:ffff:ffff:0000
Range: 2a00:1234:5678:a04a:1:0:0:0 bis 2a00:1234:5678:a04a:1:0:0:ffff

liegt das jeweilige Gateway mit der ::1 ja auch immer innerhalb des /112er Subnetzes also kein Problem.
Am LAN Port definierst du das ja auch selber, da das ja dein eigenes internes Netz ist.

Was aber natürlich nicht geht ist wenn das IPv6 Netz am WAN Port ein Provider Subnetz ist und der gibt dort einen /64 Prefix vor, du aber dann auf deinem Port dort einen /112er Prefix konfigurierst hast.
Das würde logischerweise auch bei IPv4 nicht gehen (siehe oben mit dem Subnetz Mismatch)
Der WAN Port ist also etwas unklar in dieser Konstellation. Aber da du ja eh jetzt unterschiedliche /64er Prefixes hast spricht ja auch nichts dagegen es auf dem WAN Port konsistent mit einer /64er Maske zu definieren. Warum also dieser Klimmzug mit /112 wenn das eh ein vom Provider vorgegebenes IP Netz ist ?!
Mitglied: Dani
Dani 29.07.2017 um 11:47:06 Uhr
Goto Top
Moin!
Was aber noch recht komisch ist das die Argumentation des Supports mit nicht konsistenten Subnetz Masken zu arbeiten. Das wird so sicher in die Hose gehen.
Ich vermute, dass der Hoster mir mit der Angabe /112 mitteilen möchte, welche Adressen ich nutzen darf. Das Subnetz am Switch/Gateway des Hosters als /64 konfiguriert ist.

liegt das jeweilige Gateway mit der ::1 ja auch immer innerhalb des /112er Subnetzes also kein Problem
Das Gateway (vorgegeben vom Hoster) beider Subnetzes liegt doch außerhalb meines nutzbaren Bereichs (112).

Ich habe folgendes auf der pfSense konfiguriert.

WAN
IP-Adresse: 2A00:1234:5678:A00C:0005:0000:0000:0001
Präfixsubnetz: 64
Gateway: 2A00:1234:5678:A00C:0000:0000:0001

LAN
IP-Adresse: 2A00:1234:5678:A04A:0001:0000:0000:0001
Präfixsubnetz: 64
Gateway: none

Testweise habe ich auf einem Windows Server aufgesetzt, welcher eine Netzwerkkarte (vmnic0) hat, die auf vSwich1 gebridged ist.

LAN
IP-Adresse: 2A00:1234:5678:A04A:0001:0000:0000:0002
Präfixsubnetz: 64
Gateway: 2A00:1234:5678:A04A:0001:0000:0000:0001
DNS Server: 2A00:1234:5678:A04A:0001:0000:0000:0001

Ich kann vom dem Windows Server problemlos die IPv6-Adresse der LAN bzw. WAN-Interfaces der pfSense anpingen. Aber das Gateway oder eine Internetadresse nicht.

Auf der pfSense gibt es die Standardregeln, womit eigentlich alles erlaubt ist.
2017-07-29 11_45_50-192.168.52.34 - remotedesktopverbindung


Gruß,
Dani
Mitglied: aqui
aqui 29.07.2017 um 21:59:43 Uhr
Goto Top
mit der Angabe /112 mitteilen möchte, welche Adressen ich nutzen darf.
OK das würde dann Sinn machen aber dann darfst du natürlich nicht die /112er Maske verwenden sondern musst da auch eine /64 verwenden aber das ist dir sicher auch klar... face-wink=
Das Gateway (vorgegeben vom Hoster) beider Subnetzes liegt doch außerhalb meines nutzbaren Bereichs (112).
Ja, das ist aber auch klar, wenn er dir mit der /112er Maske nur den Hostbereich Bereich vorgibt den du benutzen sollst. Also alles von 2A00:1234:5678:A00C:0005:: bis 2A00:1234:5678:A00C:0005:::FFFF
Da das ja aber in Wahrheit ein /64er Netz ist inkludiert das ja auch die Gateway IP 2A00:1234:5678:A00C::1
Du darfst natürlich nur niemals am WAN Port eine /112er Maske definieren, denn dann kappst du dich vom Gateway.
Ist ja auch klar, wenn die /112 nur rein fiktiv ist für dich damit du lediglich weisst in welchem Hostbereich du dich mit deinen Endgeräten bewegen darfst aber immer mit einer /64er Maske natürlich, klar.

Im LAN Bereich hast du ja ein komplett eigenes IPv6 Netz (a04a) das kollidiert ja nicht mit dem WAN Netz und ist absolut richtig.
Das zeigt auch das du vom Windows Server im LAN alles v6 seitig pingen kannst.
Das Provider Gateway kannst du natürlich nicht pingen solltest du am WAN Port fälschlicherweise eine /112er Maske definiert haben, das wäre dann klar (siehe oben)
IPv6 Default Route auf das Provider Gateway am WAN Port sollte natürlich auch definiert sein. Kannst du dir ja in der Routing Tabelle unter Diagnostics ansehen.
So mit der /64 Maske am WAN Port wäre das alles schlüssig.
Solltest du dennoch nicht das Provider Gateway oder eine Internet v6 Adresse pingen können kann es nur noch daran liegen das der Provider dein LAN Subnetz 2A00:1234:5678:A04A:: nicht in seine Routing Tabelle eingetragen hat bzw. es nicht über BGP anounced auf seine Backbone Systeme das es über die 2A00:1234:5678:A00C:0005:0000:0000:0001 erreichbar ist.
Mitglied: Dani
Dani 31.07.2017 um 00:03:47 Uhr
Goto Top
Moin @aqui,
vielen Dank erstmal für deine ausführliche Antworten zu meiner Frage.

Solltest du dennoch nicht das Provider Gateway oder eine Internet v6 Adresse pingen können kann es nur noch daran liegen das der Provider dein LAN Subnetz 2A00:1234:5678:A04A:: nicht in seine Routing Tabelle eingetragen hat bzw. es nicht über BGP anounced auf seine Backbone Systeme das es über die 2A00:1234:5678:A00C:0005:0000:0000:0001 erreichbar ist.
Wenn ich den technischen Support richtig verstanden habe, ist dies aktuell nicht möglich. Daher wurde seitens Engineer die Idee, die Firewall transparent zu betreiben" in dem Raum gestellt. Leider ist mir nicht ganz klar, welche Vor- und Nachteil dies mit sich bringt (z.B. kann ich NAT bzw. PAT für die IPv4 Adresse noch konfigurieren, ist IPv4 und IPv6 parallel nutzbar, ich habe OpenVPN konfiguriert für den administrativen Zweck, etc...).


Gruß,
Dani
Mitglied: aqui
aqui 31.07.2017 um 12:59:52 Uhr
Goto Top
Wieso ist das beim Provider nicht möglich ??
Der muss doch seine IP Netze announcen können in seinem Backbone sonst wär das Routing ja unmöglich...schon komisch ?!
M.E. kann man nur global auf transparent umschalten was dann das NAT usw. bei v4 obsolet machen würde.
Mitglied: Dani
Dani 31.07.2017 aktualisiert um 13:34:20 Uhr
Goto Top
Moin!
Wieso ist das beim Provider nicht möglich ??
die Frage wird gerade verbindlich, final geklärt. Ich bin gespannt...
Aber ich schon mal beruhigt, da ich anfangs dachte ich übersehe etwas.


Gruß,
Dani
Mitglied: Dani
Dani 31.07.2017 um 22:19:52 Uhr
Goto Top
Guten Abend @aqui,
die Antwort liegt inzwischen. Es ist nicht auf Grund von Prozessen und komplexen Automatismen eine manuelle Anpassung am Rotuing vorzunehmen -> Konzernvorgabe. Nehme ich erstmal so hin... bin schließlich "nur" dort Privatkunde. face-smile

Ich schau mir die nächsten Tage mal an, in wie weit ein Reverse Proxy auf der pfSense installiert werden kann und ob damit alle Dienste veröffentlicht werden können.

Danke an euch beide bis hierher!


Gruß,
Dani
Mitglied: aqui
aqui 01.08.2017 aktualisiert um 10:28:08 Uhr
Goto Top
Du musst ja auch keine manuelle Anpassung vornehmen, es gaht ja auch dynamisch wenn ihnen das besser gefällt.
Sinn und Zweck ist es ja nur das v6 LAN Segment von dir bei denen zu announcen.
Denn wozu geben sie dir ein /64 Subnetz wenn es niemals routebar ist bei denen. Das wäre ja komplett sinnfrei und sollte auch dem Hoster einleuchten.

Installier dir über die pfSense Package Verwaltung Quagga, Bird oder einen BGP Daemon der das Netz dann dynamisch an den Provider weitergibt um es routen zu können. (Ggf. OSPF wenn er das supporten sollte)
Das sollte ja wohl dann möglich sein bei den Heinis.
Anders kann man die ja nicht bezeichnen denn was sollte der Sinn davon sein v6 Netze an ihre Kunden zu geben diese dann aber nicht zu routen. Das wäre ja Blödsinn.
Das ist so als wenn du ein Auto verkaufst aber den Tankstutzen ausgebaut hast....