dhcpv6 not showing clients

Hi,


Ipv6 newbie here -

I'm getting my prefix /56 via my ISP just fine, my devices off my /64'd lan-interface are getting IP's perfectly fine as well, I can route/ping/make connections from inside the LAN to&from outside world all perfectly fine.

My silly question however is - how on earth can I see at a glance what devices on my LAN has ipv6 leases? It seems that "/ipv6 dhcp-server binding print" should show this - however I do not see any 'leases' but am getting them.

Some general config.

Using ipv6 by default:
[admin@MikroTik] > /ppp profile print
Flags: * - default
0 * name="default" remote-ipv6-prefix-pool=*0 dhcpv6-pd-pool=aquiss-pd-pool-ipv6 use-ipv6=yes
use-mpls=default use-compression=default use-encryption=default only-one=default change-tcp-mss=yes
use-upnp=default address-list="" on-up="" on-down=""

1 * name="default-encryption" remote-ipv6-prefix-pool=none use-ipv6=yes use-mpls=default
use-compression=default use-encryption=yes only-one=default change-tcp-mss=yes use-upnp=default
address-list="" on-up="" on-down=""
My dhcp-client setup to obtain the lease over the PPOE interface,
[admin@MikroTik] > /ipv6 dhcp-client print detail
Flags: D - dynamic, X - disabled, I - invalid
0 interface=pppoe-aquiss status=bound duid="0x00030001a2bd2a42e1e3" dhcp-server-v6=fe80::f60f:1bff:fe24:3f00
request=prefix add-default-route=yes use-peer-dns=no pool-name="aquiss-pd-pool-ipv6"
pool-prefix-length=56 prefix-hint=::/0 dhcp-options="" prefix=2001:aaaa:aa00:8000::/56, 4w1d23h59m41s
[admin@MikroTik]
The dynamically created pool:
[admin@MikroTik] > /ipv6 pool print detail
Flags: D - dynamic
0 D name="aquiss-pd-pool-ipv6" prefix=2001:aaaa:aa00:8000::/56 prefix-length=56 expires-after=4w1d23h59m27s
[admin@MikroTik] >The ipv6 addresses and their interfaces - I created the 8000::1/64 and 8001::1/64 'subnets' for playing on,
[admin@MikroTik] > /ipv6 address print
Flags: X - disabled, I - invalid, D - dynamic, G - global, L - link-local

ADDRESS FROM-POOL INTERFACE ADVERTISE

0 G 2001:aaaa:aa00:8000::1/64 aquiss... pppoe-aquiss yes
1 G 2001:aaaa:aa00:8001::1/64 ether4-lan yes
2 DL fe80::5/64 pppoe-aquiss no
3 DL fe80::d6ca:6dff:fe85:e2ed/64 ether-aquiss no
4 DL fe80::d6ca:6dff:fe85:e2ec/64 ether-anotherisp no
5 DL fe80::d6ca:6dff:fe85:e2e8/64 ether4-lan no
[admin@MikroTik] >The dynamically created dhcp-server however indicates it is only running on my PPOE interface as expected,
[admin@MikroTik] > /ipv6 dhcp-server print detail
Flags: D - dynamic, X - disabled, I - invalid
0 D name="pppoe-aquiss" interface=pppoe-aquiss address-pool=aquiss-pd-pool-ipv6 lease-time=3d rapid-commit=yes
preference=255 dhcp-option="" duid="0x00030001a2bd2a42e1e3"
[admin@MikroTik] >
Renewing a DHCP lease on the ether4-lan interface:
client# /etc/init.d/networking restart
client# grep -i dhcp /var/log/syslog | tail -5
Jun 4 15:33:18 pi05 dhcpcd[515]: eth0: Router Advertisement from fe80::d6ca:6dff:fe85:e2e8
Jun 4 15:33:18 pi05 dhcpcd[515]: eth0: adding address 2001:aaaa:aa00:8001:eca6:b173:93f1:fa3/64
Jun 4 15:33:18 pi05 dhcpcd[515]: eth0: adding route to 2001:aaaa:aa00:8001::/64
Jun 4 15:33:18 pi05 dhcpcd[515]: eth0: adding default route via fe80::d6ca:6dff:fe85:e2e8
Jun 4 15:33:18 pi05 dhcpcd[515]: eth0: soliciting a DHCPv6 lease
client# ip -6 addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 state UNKNOWN qlen 1000
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
inet6 2001:aaaa:aa00:8001:eca6:b173:93f1:fa3/64 scope global mngtmpaddr noprefixroute dynamic
valid_lft 2591958sec preferred_lft 604758sec
inet6 2001:aaaa:aa00:8001:ba27:ebff:fe4b:1776/64 scope global mngtmpaddr dynamic
valid_lft 2591596sec preferred_lft 604396sec
inet6 fe80::ba27:ebff:fe4b:1776/64 scope link
valid_lft forever preferred_lft forever
However back on RouterOS, checking the binds:
[admin@MikroTik] > /ipv6 dhcp-server binding print
Flags: X - disabled, D - dynamic

ADDRESS DUID SERVER STATUS

[admin@MikroTik] >
QQ's:

  • The dynamically generated dhcpv6 is only running on my pppoe-aquiss interface, why is it serving leases on my LAN interface as demonstrated with client1 above?
  • In a effort to try and lower the lease time to minutes (for other testing), even if I make another dhcpv6 service running off its own pool for only the LAN interface it does not seem to be used (probably due to the above)
  • Why do I not see any DHCPv6 leases that's apparently offered from the dynamically generated aquiss-pd-pool-ipv6?
  • Unrelated but IPV6 - I've got another ISP uplink that's another candidate to IPV6, I notice a distinct lack of ipv6 firewall mangling (at v6.42.3) so I assume I can't do even/odd packet marking for handling multiple uplinks?

Many thanks!

The DHCPv6 server in RouterOS does not yet support handing out individual IPv6 addresses to hosts on a network, that is why you cannot find records. Those hosts are using auto-generated addresses (SLAAC). Addresses generated by SLAAC are based on the mac address so they will not change unless the MAC changes or you have duplicate MACs, essentially each host generates its own static address based on the mac.

If you want to find or track what addresses these hosts are using, one option is neighbor discovery protocols like LLDP.

DHCPv6 server in routerOS currently only supports Prefix Delegation (PD) function, which is used by an ISP to assign subnets to users, as well as being able to hand out additional information to hosts on a network such as DNS, domain name suffix, NTP servers, phone VLAN, etc. through DHCPv6 server, basically everything except individual addresses.

What you are getting from your ISP is a lease of a group of subnets via PD, and you are using one of these subnets from the group for your internal bridge. You might use a second of these for a guest wireless network, or one for kids, or IP-enabled home appliances, to isolate them from one another. Your ISP is giving you a DHCP lease of a /56 which means you get 256 subnets for your use, and of those, you are using one subnet, leaving 255 subnets unused in the pool. IPv6 pools are pools of subnets, not pools of addresses.