This is my installation and configuration guide for running DNS, Bind9 and DHCP on Ubuntu 16.04. If you are a home user and your network has grown such that you are tired of using all static IP addresses and having to configure the /etc/hosts files by hand, then use the great tool dnsmasq. See my How to set up dnsmasq. Dnsmasq is so much simpler to setup and maintain than bind9 and ISC DHCP.
There was a problem where I work the other day, where a mobile device flooding one of our ADSL connections using all available bandwidth. We needed to block a device from flooding our guest Wifi. This connection is used primarily for the guest wifi. The guest wifi is provided as a connection to the Internet. This post assumes that you have a router built on a Linux machine where you are running your own firewall and not the modem/router box provided by your ISP.