I have a situation with some satellite offices that need network connectivity to the main office and the internet at large. I am thinking that using a VPN tunnel is the correct solution, but I am struggling to figure out DHCP.

I have two major options, setup a DHCP server on site, or a DHCP relay and get my information from the main office.

What is considered best practice? The DHCP relay seems to be less reliable because any number of links in the chain could break causing the DHCP to become unavailable, but I would miss out on many features like auto DNS population in AD by generating DHCP locally. How would y'all solve it?