Probably you have configured your router WAN/Internet DNS setting to point to Pi-hole.
So currently DNS queries go like so:
client --> router --> Pi-hole --> upstream configured DNS server(s)
What you want is to have the clients query Pi-hole directly eg:
client --> Pi-hole --> upstream configured DNS server(s)
That way Pi-hole will log the client IP instead of the router IP and will makes searching the dbase or log files for who does what much easier.
Preferred is to have your router distribute the Pi-hole IP for DNS via DHCP.
Methods 1 or 2 in below FAQ:
Your absolutely right, who needs a web GUI ![]()
Most all can be done from good old trusted bash:
pi@ph5:~ $ pihole -h
Usage: pihole [options]
Example: 'pihole -w -h'
Add '-h' after specific commands for more information on usage
Whitelist/Blacklist Options:
-w, whitelist Whitelist domain(s)
-b, blacklist Blacklist domain(s)
--regex, regex Regex blacklist domains(s)
--white-regex Regex whitelist domains(s)
--wild, wildcard Wildcard blacklist domain(s)
--white-wild Wildcard whitelist domain(s)
Add '-h' for more info on whitelist/blacklist usage
Debugging Options:
-d, debug Start a debugging session
Add '-a' to enable automated debugging
-f, flush Flush the Pi-hole log
-r, reconfigure Reconfigure or Repair Pi-hole subsystems
-t, tail View the live output of the Pi-hole log
Options:
-a, admin Web interface options
Add '-h' for more info on Web Interface usage
-c, chronometer Calculates stats and displays to an LCD
Add '-h' for more info on chronometer usage
-g, updateGravity Update the list of ad-serving domains
-h, --help, help Show this help dialog
-l, logging Specify whether the Pi-hole log should be used
Add '-h' for more info on logging usage
-q, query Query the adlists for a specified domain
Add '-h' for more info on query usage
-up, updatePihole Update Pi-hole subsystems
Add '--check-only' to exit script before update is performed.
-v, version Show installed versions of Pi-hole, Web Interface & FTL
Add '-h' for more info on version usage
uninstall Uninstall Pi-hole from your system
status Display the running status of Pi-hole subsystems
enable Enable Pi-hole subsystems
disable Disable Pi-hole subsystems
Add '-h' for more info on disable usage
restartdns Full restart Pi-hole subsystems
Add 'reload' to update the lists and flush the cache without restarting the DNS server
Add 'reload-lists' to only update the lists WITHOUT flushing the cache or restarting the DNS server
checkout Switch Pi-hole subsystems to a different GitHub branch
Add '-h' for more info on checkout usage
arpflush Flush information stored in Pi-hole's network tables
pi@ph5:~ $ pihole -a -h
Usage: pihole -a [options]
Example: pihole -a -p password
Set options for the Admin Console
Options:
-p, password Set Admin Console password
-c, celsius Set Celsius as preferred temperature unit
-f, fahrenheit Set Fahrenheit as preferred temperature unit
-k, kelvin Set Kelvin as preferred temperature unit
-e, email Set an administrative contact address for the Block Page
-h, --help Show this help dialog
-i, interface Specify dnsmasq's interface listening behavior
-l, privacylevel Set privacy level (0 = lowest, 4 = highest)
Or query the pihole-FTL API:
echo ">stats >quit" | nc localhost 4711
You can lookup the API calls in below doc:
https://docs.pi-hole.net/ftldns/telnet-api/
Or checkout the source code:
And you also have the chronometer:
pi@ph5:~ $ pihole -h
[..]
-c, chronometer Calculates stats and displays to an LCD
Add '-h' for more info on chronometer usage