Тут поковырялся с сабжем, там не всё так просто, как кажется, в итоге вроде разобрался, напишу тут, может кому поможет. В панели получаете сеть /48, при желании делите на подсети, я себе зароутил всю /48. Придумываете себе любой адрес с вашим префиксом, я просто сделал hexdump -n 10 /dev/urandom. Далее пишете такие конфиги и скрипты (где dhcp6.client-id там будет ваш DUID из панели управления):
root@onl:~# cat /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
enp0s20:
dhcp4: yes
addresses:
- 2001:bc8:3d28:511a:4670:c4d4:18ba:6998/48
root@onl:~# cat /etc/dhcp/dhclient-6.conf
interface "enp0s20" {
send dhcp6.client-id 00:xx:xx:xx:xx:xx:xx:xx:xx:77;
}
root@onl:~# cat /etc/systemd/system/dhclient-6.service
[Unit]
Wants=network-pre.target
After=network-pre.target
Before=systemd-networkd.service
[Service]
Type=forking
PIDFile=/run/dhclient-6.pid
ExecStart=/sbin/dhclient -6 -P -pf /run/dhclient-6.pid -cf /etc/dhcp/dhclient-6.conf enp0s20
[Install]
WantedBy=multi-user.target
ну и стандартно
systemctl daemon-reload
systemctl enable dhclient-6
systemctl reboot
вроде нормально работает. Долго ковырялся пытаясь сделать по уму, через этот netplan с networkd но не осилил, кажется не умеют они такого, пришлось колхозить запуск dhclient отдельным сервисом. Если вдруг кто подскажет, как это сделать кошерно, буду благодарен.