Note: this advice is generic and should work with any router lacking DNS settings.
I recently subscribed to Telia’s mobile Internet service and bought ZTE MF286R 4G router they sell. The first thing I noticed, was the absence of DNS settings, which is a no-deal for me, because I use my home DNS server as a first line of defence against ads, spam, pr0nogrąphy, malware and other unwanted websites. Thankfully, this problem is (somewhat) easily solvable, but you’ll need some dedicated hardware to host your DNS server locally. If you don’t have any spare hardware or some always-on computer on your network you can give this job to, and you don’t want to maintain your own server, then stop reading this, spare yourself some pain and get a better router.
I use a low power Intel Celeron J1800-based server to run an instance of Pi-hole (among other things). Pi-hole uses OpenDNS or other specified (public or private) DNS server to resolve your requests and it has functionality to apply additional, user defined or third party maintained, black-lists. What it also can do, is to act as a DHCP server (i. e. it can assign IP addresses to network devices), which we’ll exploit to overcome MF286R’s DNS handicap.
When you appoint Pi-hole as DHCP server, it will serve as DNS server too. However, there can only be one DHCP server on a given network, so, firstly, turn-off DHCP functionality in the ZTE router settings (Advanced settings -> Router):
After applying this change, your MF286R router will stop handing out local IP addresses to your network devices.
Secondly, turn-on DHCP server in the Pi-hole settings (fig. 2):
Now your Pi-hole will take over the job of handing out IP addresses, and at the same time it’ll start acting as your network’s DNS server.