Насколько я понимаю, ваши соединения выглядят так: подсеть 1 - это глобальная / 48 Vultr, а подсеть 3 будет вашим собственным адресным пространством, объявленным BGP:
[Vultr router] ---subnet 1--- [Your VPS] ---subnet 2--- [pfSense] ---subnet 3--- <LAN>
Поэтому, во-первых, не имеет смысла использовать одинаковый префикс / 64 во всех трех подсетях - когда вы делаете это, вы просто даете противоречивые инструкции маршрутизатору.
Не помогает тот факт, что этот префикс фактически не направляется на ваш VPS; Vultr видит в этом просто неразрывную часть интернет-ссылки / 48. Поэтому, когда маршрутизатор Vultr пытается связаться aaaa:bbbb:my:ipv6::10
(ваш pfSense), он не знает, что пакеты должны быть отправлены на ваш VPS, - он считает, что адрес находится на связи, и пытается обнаружить его с помощью ND (ARP).
Есть хаки, которые делают это возможным (например, проксирование ND / ARP), но вам это действительно нужно? Нет, потому что у вас достаточно собственного IP-пространства.
Таким образом, вместо того, чтобы взять / 64 от вашего BGP раскрученного блока (например, если у вас есть 2001:db8:12::/48
, то 2001:db8:12:ffff::/64
был бы общим выбор) и настроить, что в качестве префикса туннеля.