IPv6 - это протокол в том смысле, что TCP / UDP / ICMP. Несмотря на то, что они работают на разных уровнях, ничто не мешает вам размещать IP поверх IP, чтобы получить простой VPN-подобный туннель. (Сравните это с IP внутри GRE внутри IP.) По этой причине и IPv4, и IPv6 имеют присвоения номеров протоколов - вложенный пакет IPv4 - это «протокол 4», IPv6 - «протокол 41».
Более конкретно, IPv6-over-IPv4 также известен как «6in4» или «proto41», общий механизм перехода, используемый для получения подключения IPv6 от поставщика туннелей через сеть только для IPv4. (Hurricane Electric очень популярен; также есть автоматическое «6to4», использующее реле anycast.)
pfSense имеет документацию для настройки такого туннеля - во FreeBSD это будет сделано с использованием интерфейса gif (4) ; в Linux, используя sit или ipip . Туннельный провайдер имеет идентичную (но зеркальную) конфигурацию, которая распаковывает внутренний IP-пакет и перенаправляет его в свою собственную сеть IPv6.
Это не самый идеальный туннельный метод по сравнению, например, с GRE, L2TP (только один туннель на внешнюю пару src / dst); или FOU, GUE (многие домашние маршрутизаторы не позволяют переадресацию портов на то, что не является TCP или UDP); или специальные протоколы VPN (без аутентификации, без шифрования). Это, однако, самый простой из возможных туннелей с минимальными издержками (всего 20 байтов).
Обязательная ссылка «Начало»: для IPv4 требуется минимальный MTU в 68 байтов, а для IPv6 - 1280 байтов. При значении Ethernet MTU по умолчанию, равном 1500, максимальное количество стеков туннелей IPv4 может составлять ~ 70, а также ~ 5 уровней для IPv6.