I have /56 from my ISP, that works well configured statically and routed via MikroTik, however I have some devices like TVs, Chromecasts I don't want to obtain IPv6 addresses and unfortunately there is no option to disable it. What I thought could be a resolution was VM running dhcpdv6 with radvd, where I could block selected MACs and set routing only in radvd. However I can't make it working properly. With following radvd configuration:
interface vlan.30 {
AdvManagedFlag on;
AdvSendAdvert on;
AdvLinkMTU 1480;
AdvOtherConfigFlag on;
MinRtrAdvInterval 3;
MaxRtrAdvInterval 60;
prefix 2a00:1234:100:b02::/64 {
AdvOnLink on;
AdvRouterAddr on;
AdvAutonomous on;
};
};
Any device in vlan30 network get ipv6 addresseslike with ND enabled in Mikrotik. When I've set AdvAutonomous to off then I found that dhcpdv6 is having troubles:
Jan 22 22:03:29 ipv6-dhcpd dhcpd[4848]: Sending Advertise to fe80::f2ef:86ff:fe8b:24ec port 546
Jan 22 22:06:15 ipv6-dhcpd dhcpd[4848]: Solicit message from fe80::22df:b9ff:fe3a:f152 port 546, transaction ID 0xC9B5AA00
Jan 22 22:06:15 ipv6-dhcpd dhcpd[4848]: data: hardware: invalid hlen (181)
Jan 22 22:06:15 ipv6-dhcpd dhcpd[4848]: Picking pool address 2a00:1234:100:b02:e28f:b023:3ea6:751a
Jan 22 22:06:15 ipv6-dhcpd dhcpd[4848]: Advertise NA: address 2a00:1234:100:b02:e28f:b023:3ea6:751a to client with duid 00:03:00:01:20:df:b9:3a:f1:52 iaid = -1187319470 valid for 86400 seconds
Jan 22 22:06:15 ipv6-dhcpd dhcpd[4848]: Sending Advertise to fe80::22df:b9ff:fe3a:f152 port 546
Jan 22 22:06:27 ipv6-dhcpd dhcpd[4848]: Solicit message from fe80::3c6e:d7ff:fefe:8267 port 546, transaction ID 0xE7AF0300
Jan 22 22:06:27 ipv6-dhcpd dhcpd[4848]: data: hardware: invalid hlen (175)
Jan 22 22:06:27 ipv6-dhcpd dhcpd[4848]: Unable to pick client prefix: no IPv6 pools on this shared network
Jan 22 22:06:27 ipv6-dhcpd dhcpd[4848]: Sending Advertise to fe80::3c6e:d7ff:fefe:8267 port 546
and no single device can get it.
My current dhcpd6.conf:
class "black-hole" {
match substring (hardware, 1, 6);
# deny booting;
ignore booting;
}
subclass "black-hole" 14:AE:85:71:04:66;
subclass "black-hole" 00:11:22:33:44:55;
subclass "black-hole" 14:AE:85:71:05:5D;
allow client-updates;
update-conflict-detection false;
update-optimization false;
authoritative;
default-lease-time 86400;
preferred-lifetime 80000;
allow leasequery;
option dhcp6.name-servers 2a00:1234:100:b01::5;
option dhcp6.preference 255;
option dhcp6.info-refresh-time 21600;
subnet6 2a00:1234:100:b02::/64 {
range6 2a00:1234:0100:0b02:0000:0000:0000:0010 2a00:1234:0100:0b02:ffff:ffff:ffff:ffff;
}
Ideally I'd like to all clients get IP from dhcpd and route ideally 2a00:1940:800:b02::1 (Mikrotik) from radvd.