How to configure SLAAC + DHCPv6 for hybrid ipv6?

I dug through old forum posts, but the luci interface has significantly changed to the latest version and cant find "hybrid" mode on the current version. I enabled SLAAC in luci but it is not working for me. Anything wrong with my config?

root@OpenWrt:~# ubus call system board
{
        "kernel": "6.6.73",
        "hostname": "OpenWrt",
        "system": "ARMv8 Processor rev 4",
        "model": "Linksys E8450 (UBI)",
        "board_name": "linksys,e8450-ubi",
        "rootfs_type": "squashfs",
        "release": {
                "distribution": "OpenWrt",
                "version": "24.10.0",
                "revision": "r28427-6df0e3d02a",
                "target": "mediatek/mt7622",
                "description": "OpenWrt 24.10.0 r28427-6df0e3d02a",
                "builddate": "1738624177"
        }
}
root@OpenWrt:~#

Network


config interface 'loopback'
	option device 'lo'
	option proto 'static'
	option ipaddr '127.0.0.1'
	option netmask '255.0.0.0'

config globals 'globals'
	option packet_steering '1'

config device
	option name 'br-lan'
	option type 'bridge'
	list ports 'lan1'
	list ports 'lan2'
	list ports 'lan3'
	list ports 'lan4'

config interface 'lan'
	option proto 'static'
	option netmask '255.255.255.0'
	option ipaddr '192.168.86.1'
	option device 'br-lan.99'
	option ip6assign '64'
	option defaultroute '0'
	option delegate '0'
	option ip6hint '5'
	option ip6ifaceid '::99'

config interface 'wan'
	option device 'wan'
	option proto 'pppoe'
	option password '*********'
	option delegate '0'
	option username '************'
	option ipv6 '1'
	option peerdns '0'
	list dns '194.242.2.4'
	list dns_search 'base.dns.mullvad.net'

config interface 'guest'
	option proto 'static'
	option ipaddr '192.168.87.1'
	option netmask '255.255.255.0'
	option device 'br-lan.4'
	option ip6ifaceid '::99'
	option delegate '0'

config bridge-vlan
	option device 'br-lan'
	option vlan '4'
	list ports 'lan4:t'

config bridge-vlan
	option device 'br-lan'
	option vlan '99'
	list ports 'lan2:u*'
	list ports 'lan3:u*'
	list ports 'lan4:t'

config interface 'wan6'
	option proto 'dhcpv6'
	option device '@wan'
	option reqaddress 'try'
	option reqprefix 'auto'

DHCP


config dnsmasq
	option domainneeded '1'
	option localise_queries '1'
	option rebind_protection '1'
	option rebind_localhost '1'
	option local '/lan/'
	option domain 'lan'
	option expandhosts '1'
	option authoritative '1'
	option readethers '1'
	option leasefile '/tmp/dhcp.leases'
	option localservice '1'
	option ednspacket_max '1232'
	list rebind_domain 'plex.direct'
	list server '127.0.0.1#5053'
	option doh_backup_noresolv '-1'
	option noresolv '1'
	list doh_backup_server '127.0.0.1#5053'
	list doh_server '127.0.0.1#5053'

config dhcp 'lan'
	option interface 'lan'
	option leasetime '12h'
	option dhcpv4 'server'
	option start '20'
	option limit '230'
	option ra 'server'
	list ra_flags 'managed-config'
	list ra_flags 'other-config'
	option dhcpv6 'server'

config dhcp 'wan'
	option interface 'wan'
	option ignore '1'

config odhcpd 'odhcpd'
	option maindhcp '0'
	option leasefile '/tmp/hosts/odhcpd'
	option leasetrigger '/usr/sbin/odhcpd-update'
	option loglevel '4'

config host
	option name 'marcus-intel'
	option dns '1'
	option mac '00:1C:C0:7C:16:A0'
	option ip '192.168.86.53'
	option leasetime 'infinite'
	option duid '00020000ab1104021a920fa1899a'
	option hostid '53'

config host
	option name 'raspberrypi'
	option dns '1'
	option ip '192.168.86.196'
	option leasetime 'infinite'
	option mac 'DC:A6:32:D2:2A:77'
	option duid '00020000ab11d42562ceaa15eb17'
	option hostid '58'

config dhcp 'guest'
	option interface 'guest'
	option start '100'
	option limit '150'
	option leasetime '12h'

config domain
	option name 'Dad-AndroidOne'
	option ip '192.168.86.146'

config domain
	option name 'E8450Hall'
	option ip '192.168.86.245'

@lleachii @egc A little help here, please?

The "hybrid" option was just an attempt to auto select server or relay mode based on whether the ISP provides a routed prefix. The default setting of both RA and DHCP as "server" will allow LAN endpoints to use either or both methods.

1 Like

If you want SLAAC and DHCPv6 config then your setup looks OK, see:

I have the same and my clients make a SLAAC IPv6 address and the ones I set a static lease in dhcp alsocreat the static lease.
Note not all clients can deal with a static lease some are SLAAC only (e.g Android).

If you need the DUID of the client then it can be seen on the Status page under Active DHCPv6 leases

So all SLAAC compatible entities like dockers which I am trying to get the ipv6 of will show under Active DHCPv6 leases in the homepage ?

And ideally, I should see the ipv6 of my phone under Active DHCPv6 leases too which is a pixel 8 pro because I have enabled SLAAC right? But I don't see it

What could be wrong, or where can I see SLAAC ipv6 in openwrt luci?

Marcus is my server, Maze is my laptop and no P8P android phone or other phones in the lan. I even restarted the router.

No. You'll see devices that have requested an address via DHCPv6. Android devices don't support DHCPv6 and only use SLAAC.

1 Like

Where can I see SLAAC ipv6 in openwrt luci?

There's a list of 'IPv6 Neighbours' with associated MAC addresses under Status > Routing. You can use that to figure out what address a device has at that specific point in time.

3 Likes

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.