Так что мой /etc /network /interfaces выглядит так

auto eth0
iface eth0 inet static
   address 198.51.100.50
   netmask 255.255.255.0
   gateway 198.51.100.1

# VPN Subnet
auto eth0:1
iface eth0:1 inet static
    address 10.0.1.1
    netmask 255.255.255.0

# ipv6 tunnel
auto tunnel
iface tunnel inet6 v4tunnel
    address 2001:db8:1:1::2
    netmask 64
    endpoint 203.0.113.26
    ttl 64
    mtu 1280
    gateway 2001:db8:1:1::1

используя openswan и xl2tpd у меня есть работающий L2TP/IPSec vpn, который успешно назначается из диапазона 10.0.1.x, и клиенты имеют полное подключение ipv4. (Использовал это как руководство)

Часть, которую я не могу понять, это как сделать то же самое с ipv6. У меня /64 с ::1 является удаленной конечной точкой и ::2 является локальной машиной. ipv6 отлично работает на локальной машине (я могу пинговать ipv6.google.com). Я установил radvd, но все учебники, которые я могу найти, используют его для раздачи адресов на одном интерфейсе. Мне не очень понятно, как работает "реклама маршрутизатора". Я понял, что мне нужны профили для каждого соединения pppX, вот так:

/etc/radvd.conf
interface ppp0 {
    AdvSendAdvert on;
    IgnoreIfMissing on;
    prefix 2001:db8:1:2::/64 {
    };
};
interface ppp1
...

где 2001:db8:1:2::/64 - это маршрутизируемая подсеть /64 (отличная от туннельной подсети). Я настроил ее так, чтобы каждый раз, когда подключался ppp-клиент, он получал локальный адрес канала и затем перезагружал radvd, чтобы он будет транслироваться на новом интерфейсе. Это успешно назначило адрес ipv6 из моего 2001:db8:1:2::1/64, но не было никакого подключения ipv6. Я не очень знаком с этим, но кто-нибудь знает, атакую ли я это с правильного направления? Или мне нужно что-то сделать с помощью моста или добавления маршрутов. Это выглядело похоже, но их настройка была более сложной, чем у меня, и просто смутила меня.

0