Der Knackpunkt war ohne npddp habe ich auf eth0 nicht mal Pakete an die wg0 IP ankommen sehen (TCPDump), aus dem Grund wundere ich mich gerade etwas was bei mir Routen auf dem System ausrichten sollen...
Wireguard arbeitet meines Wissens auf Layer 3, ist also auf Routen angewiesen.
Ich würde also verstehen, wenn über das wg0 ohne ndpdp nichts ankäme - wenn aber schon auf eth0 nichts ankommt, hast Du irgendwo in der Konfiguration vorher schon einen Knick gehabt.
Ich gebe zu, bei der Routing Nummer via Link-Local stehe ich etwas auf dem Schlauch...
Die Geschichte mit den LLAs ist so simpel, wie sie zunächst ungewohnt ist. Bei IPv4 gibt es das ARP (Address Resolution Protocol), das Dir für das Internet Protokoll den Bezug von IP-Adresse zu MAC-Adresse herstellt. Bei IPv6 hat man dieses Protokoll neu geschaffen und als NDP (Neigbor Discovery Protocol) im Wege von ICMPv6 realisiert. Es erfüllt im Grunde dieselbe Aufgabe wie ARP, kann aber mehr. Damit aber ICMP gesendet werden kann, benötigt man eine IP-Adresse: Ein Henne-Ei-Problem. Das wird in IPv6 einfach mit Linklokalen Addressen umschifft. Eine Linklokale Adresse ist pro Interface (pro Link - daher Link-Lokal) gültig.
Sie setzt sich folglich aus dem Prefix fe80::/10 ergänzt um die MAC-Adresse in EUI64-Notation und einem Interface-Identifier zusammen.
z.B.: fe80::[EUI64 der MAC-Adresse]%eth0.
Da die MAC-Adresse pro Link jedenfalls eindeutig ist [Annahme], hat man mit IPv6 IMMER eine auch IP-Verbindung auf dem Link. Über diese IP-Verbindung kann man dann Nachbar-Informationen, Router-Informationen usw austauschen, aber auch routen (!).
Damit aber so ein Routing von AUSSEN funktioniert, muss auch eine öffentliche IPv6-Adresse (meist ein Prefix mit /64, obwohl /128 auch genügen würde) auf dem Interface oder auf dem Router present sein, denn diese Adresse dient bei Paketen, die nach außen gehen, als Absenderadresse, an die sodann die Antwortpakete geschickt werden.
fe80::1 ist im einfachsten Fall ein Alias für eine linklokale Adresse, meist verwendet man aber den Alias fe80::1 zur Ankündigung von redundanten Gateways etwa über Protokolle wie CARP (oder für Ciscoianer: HSRP oder in der Welt von Ascend Communications, DEC, IBM, Microsoft und Nokia: VRRP) - so auch in Hostingumgebungen.
fe80::1 kann man seinerseits über SLAAC/radvd mittels Router Advertisment bekannt machen.
Zur Funktionsweise eines NDP Proxy siehe: https://docs.paloaltonetworks.com/pan-os/8-0/pan-os-admin/networking/nptv6/ndp-proxy.html#
Meiner Meinung nach ist ein NDP Proxy dann nicht erforderlich, wenn die Adresszuweisung aus dem Prefix korrekt gemacht ist. Wireguard müsste, wenn ICMPv6 funktioniert, Nachbarn korrekt auflösen und den mittels radvd delegierten Prefix an die Clients verteilen, sodass stets richtig geroutet wird, weil der Bezug von externem Prefix und LLA/Route stets aufgelöst werden wird. Wenn ich da einen Denkfehler haben sollte, lasse ich mich -bitte- gerne belehren.