Я не понимаю, как заставить Linux автоматически настраивать локальный IPv6-адрес для конечной точки туннеля GRE, хотя, по-видимому, такая возможность существует с 2011 года. Вот стенограмма. Адрес 10.10.10.10 здесь используется для демонстрации, но то же самое происходит с реальными туннелями, которые работают иначе (в том числе с IPv6). Включение MULTICAST необходимо по другим причинам, но ни в коем случае не влияет на результат.
# uname -srvo
Linux 4.16.12-1-ARCH #1 SMP PREEMPT Fri May 25 23:30:31 UTC 2018 GNU/Linux
# ip -V
ip utility, iproute2-ss180402
# ip tun add test mode gre remote 10.10.10.10
# ip link set test multicast on
# ip link set test up
# ip link show test
11: test@NONE: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/gre 0.0.0.0 peer 10.10.10.10
# ip addr show test
11: test@NONE: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN group default qlen 1000
link/gre 0.0.0.0 peer 10.10.10.10
# sysctl net.ipv6.conf.test.disable_ipv6
net.ipv6.conf.test.disable_ipv6 = 0
# sysctl net.ipv6.conf.test.autoconf
net.ipv6.conf.test.autoconf = 1