Moin Zusammen,
Bin hier etwas am grübeln und habe ein Problem:
Ich habe einen Hardware Server mit einem IPv4 Netzwerk und eine IPv6 /64 Subnetz von Hetzner.
Von Hetzner habe ich eine Virtualisierungs-IP Adresse mit MAC Adresse erhalten, das IPv6 Subnetzwerk zeigt auch auf diese IP-Adresse.
Proxmox-Konfiguration:
vmbr0 auf dem Proxmox:
IPv4: 65.xx.xx.xx/26, GW: 65.xx.xx.1
IPv6: 2a01:XXXX:XXXX:XXXX::2/64, GW: fe80::1 (Extern erreichbar)
vmbr1 (ist meine normale interne karte und hat keine IPs bekommen)
vmbr0 ist auf der opnSense (net0 - WAN)
vmbr1 ist auf der opnSense (net1 - LAN)
net0 ipv4: XX.XX.XX.100/24 Öffentliche-IP von Hetzner (läuft)
net0 ipv6: 2a01:XXXX:XXXX:XXXX::1 /64, GW: fe80::1, Subnetz Hetzner läuft auch.
net1 ipv4: 172.16.10.1/24 (Nur internes Netzwerk zwischen den VMs)
net1 ipv6: 2a01:XXXX:XXXX:XXXX:1000::1, IPv6 Gateway Rules disabled (Läuft und ist von extern Pingbar)
Nun habe ich weitere VMs die ich nur über IPv6 erreichen möchte, somit habe ich eine neue Linux CT angelegt:
net0, eth0, vmbr1 (172.16.10.10/24, ipv6: 2a01:XXXX:XXXX:XXXX:1000::10/64, GW: 2a01:XXXX:XXXX:XXXX:1000::1)
Nun habe ich aber das Problem, ich kann von der Virtuellen Maschine das Gateway nicht anpingen, aber auch von extern ist die Kiste nicht erreichbar.
Was fehlt mir noch, bzw. warum läuft das nicht?
vielen lieben Dank,
Daniel
Herzlichen Glückwunsch, das ist so ziemlich das Komplizierteste, was man sich vorstellen kann.
Im ersten Anlauf hatte ich bei der /56er Zusatz-IPv6 auch Probleme, da hatten die das Routing nicht korrekt eingerichtet. Probiere es erstmal, indem Du dem vmbr0 eine IP aus dem Range zuweist.
Ein paar weitere Hinweise:
1. Hetzner macht fe80::1 als Gateway, Du musst also nichts spezifisches angeben, wenn Du eine andere IPv6 verwendest.
2. Hetzner akzeptiert nur bestimmte MACs für bestimmte IPv4 - bei IPv6 ist die MAC egal.
3. Wenn Du nur eine IPv4 bezahlen willst, taugen die meisten Anleitungen mit zwei IPv4s nicht. Du solltest dann Deine reale MAC auf die OpnSense und die physische MAC des Proxmox-Server auf eine andere ändern. Damit ist dann der Proxmox nur noch via IPv6 erreichbar (am besten dafür eine IPv6 aus dem ursprünglichen /64er Netz nehmen). Warum? Weil Du den Proxmox zwar ohne OpnSense erreichbar haben willst, aber die Oberfläche nicht per IPv4 aufzufinden sein soll.
4. Dann kann die OpnSense voll die IPv4 verwalten, bekommt auch eine IP aus dem /64er und dahinter hast Du die Möglichkeit, das /56 wie Du willst aufzuteilen. Du solltest dazu eine VLAN-aware Bridge verwenden, damit Du die VMs/LXCs wirklich separieren kannst - anders ist es sinnlos, denn, wenn eine VM gekapert wurde, sind die Hacker sofort auch an den anderen Systemen (ohne Firewall) dran.
5. Du solltest trotzdem einen Reverse-Proxy verwenden, verwende dort nur Wildcard-Zertifikate (sonst kann man die IPv6-Adressen wegen der Zertifikats-Leaks per DNS finden).
6. Du kommst nicht drumherum, die Proxmox-Firewall für den Proxmox-Host zu konfigurieren, weil einige IPv6 sichtbar werden (z.B. die internen Gateway-IPv6) und sich der Proxmox an alle IPs bindet.
7. Ich habe auf der OpnSense noch eine weitere Bridge (vmbr2) konfiguriert, wo ich mittels VPN von zu Hause aus draufkomme. Da hängen die VMs auch nochmal mit einer RFC1918-IP dran, so brauche ich keine Portfreigaben o.ä., um da draufzukommen. Nachteil ist, dass die VMs dann netzwerkseitig wieder verbunden sind. Natürlich geht das auch mit IPv6-only auf den VLANs auf vmbr1, wenn man will.
Ich habe das, bis auf Punkte 3 und 7, auch hier (https://forum.opnsense.org/index.php?msg=220167) beschrieben.
Hallo,
Was soll daran kompliziert sein?
1) Der Proxmox ist Transparent und wird durch den Bridge nicht bekannt, es entfallen deutlich kompliziertere schritte...
2) Die Bridge-Anleitung kommt von Hetzner und funktioniert tadellos (Nur nicht dahinter)
3) Ich habe für Virtualisierungszwecke eine separate bezahlte IP-Adresse nur für den Bridge Modus, die Netzwerkkarte der opnSense hat genau die von Hetzner zugeordnete MAC-Adresse (Nein, stimmt die MAC nicht, geht auch kein IPv6 Subnetz im Bridge-Modus) funzt auch alles wunderbar, auch die IPs aus den IPv4 Subnetzen sind in den VMs über die zusätzlichen Subnets erreichbar.
Letztlich geht alles an Traffic IPv4+IPv6 erstmal an die OpnSense, vergebe ich in der opnSense Virtuelle IPv6 Adressen, sind diese auch extern anpingbar, sofern ich das möchte und so viele ich möchte.
Das Problem scheint an der OpnSense zu liegen, dass diese mit dem Routing irgendwie nicht klar kommt, denn ich müsste trotzdem aus der VM doch trotzdem das GW der OpnSense anpingen können und eine antwort bekommen?
Ich habe mal von der VM-Maschine Google angepingt:
(https://cloud.pyroboxx.de/index.php/apps/files_sharing/publicpreview/kMps6G6xNAz7PSD?file=/&fileId=516&x=3840&y=1080&a=true&etag=ad3f28a7d49446658590d652269648b8)
(https://cloud.pyroboxx.de/index.php/apps/files_sharing/publicpreview/3c4HfGKYKzqZJ7Q?file=/&fileId=515&x=3840&y=1080&a=true&etag=de0602f5460f2c9c94921603160cb39d)
Auf dem Letzten Screenshot sieht man das der Ping von der Virtuellen Maschine an der OpnSense (LAN) ankommt, aber irgendwo stecken bleibt...
Die Selben Logs bekomme ich auch wenn ich das GW (2a01:XXXX:XXXX:XXXX:1000::1) anpinge..
[Edit] Erledigt, funktioniert genau so wie gewollt. Ergo, nichts "kompliziert".