When using Luci, if I navigate to Network > Hostnames I can add new hostnames and assign IP addresses to them. However, once I've hit Save & Apply, the changes don't take affect until after I reboot my router.
Is there anyway to apply these changes without rebooting? I tried doing /etc/init.d/dnsmasq restart but that doesn't work do the trick unfortunately.
You need to reconnect the clients.
Or manually run DHCP release and renew from the clients.
Or specify shorter lease time on OpenWrt and wait until it expires.
Turning into a bit of a tangent but is there a way to force OpenWrt to give everyone a new lease in one go without rebooting (apart from the short lease trick)?
Obviously, on my Windows device, I can run ipconfig /release to get a new lease but if I've got multiple devices, I'm wondering if there's a more convenient way that also avoids rebooting the router as there's never a good time to restart a router that's in use 24/7!
No, the possible methods are already listed above.
It's easier when you have something like Ansible or GPO for batch deployment of tasks.
Theoretically, you can disable/remove dnsmasq and use odhcpd which supports RFC 6704 for both DHCPv4 and DHCPv6, but whether it will work or not depends on the clients.