Так что мой /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. Я не очень знаком с этим, но кто-нибудь знает, атакую ли я это с правильного направления? Или мне нужно что-то сделать с помощью моста или добавления маршрутов. Это выглядело похоже, но их настройка была более сложной, чем у меня, и просто смутила меня.