Pihole as DHCP and DNS - DHCP works, DNS does not reply

The issue I am facing:
Pihole is set up as dhcp and dns server on lan, serves IP address and gateway but does not resolve DNS queries

Details about my system:
I have a tplink adsl modem set without dhcp since pihole on lan is set to run that.
tplink modem/ router network info as follows
Modem tplink
Dsl modem router on plusnet
Ip x.x.x.x ( redacted)
Dns server 212.159.6.10 and 212.159.6.9
Gateway 172.16.12.172
Lan IP 10.0.0.1
Subnet 255.0.0.0
Dhcp off

Pihole is on 10.0.0.2 /24 acting as dns and dhcp for lan

laptop on lan receives dhcp from pihole
pihole appears to be be receiving the dns queries but not replying back to pc with response.

external network routing test
ping to 8.8.8.8 works perfect so network routing is there
ping to bbc.co.uk shows in pi logs but no reply to PC
similar web browse to bbc.co.uk does not resolve.

nslookup of bbc.co.uk returns the following
Server:pihole
Address 10.0.0.2
DNS request was timed out
timeout was 2 seconds.

ping pihole resolves pihole.local and gives replies <2ms

Expected behaviour
both ping and traceroute on IP and DNS match with DNS resolution

What I have changed since installing Pi-hole:
this is a new bought pihole on a pi4 with LCD screen. I have limited linux knowledge but have searched the forum for similar problems and answers but cant find a resolution.


Log file as follows

This process collects information from your Pi-hole, and optionally uploads it to a unique and random directory on tricorder.pi-hole.net.

The intent of this script is to allow users to self-diagnose their installations.  This is accomplished by running tests against our software and providing the user with links to FAQ articles when a problem is detected.  Since we are a small team and Pi-hole has been growing steadily, it is our hope that this will help us spend more time on development.

NOTE: All log files auto-delete after 48 hours and ONLY the Pi-hole developers can access your data via the given token. We have taken these extra steps to secure your data and will work to further reduce any personal information gathered.

*** [ INITIALIZING ]
[i] 2020-05-01:16:57:06 debug log has been initialized.

*** [ INITIALIZING ] Sourcing setup variables
[i] Sourcing /etc/pihole/setupVars.conf...

*** [ DIAGNOSING ]: Core version
[i] Core: v4.4 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)
[i] Branch: master
[i] Commit: v4.4-0-g9e49077

*** [ DIAGNOSING ]: Web version
[i] Web: v4.3.3 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)
[i] Branch: master
[i] Commit: v4.3.3-0-g62f2ffc

*** [ DIAGNOSING ]: FTL version
[āœ“] FTL: v4.3.1 (https://discourse.pi-hole.net/t/how-do-i-update-pi-hole/249)

*** [ DIAGNOSING ]: lighttpd version
[i] 1.4.53

*** [ DIAGNOSING ]: php version
[i] 7.3.14

*** [ DIAGNOSING ]: Operating system
[āœ“] Raspbian GNU/Linux 10 (buster)

*** [ DIAGNOSING ]: SELinux
[i] SELinux not detected

*** [ DIAGNOSING ]: Processor
[āœ“] armv7l

*** [ DIAGNOSING ]: Networking
[āœ“] IPv4 address(es) bound to the eth0 interface:
   10.0.0.2/24 matches the IP found in /etc/pihole/setupVars.conf

[āœ“] IPv6 address(es) bound to the eth0 interface:
   fe80::c566:a49e:f293:cd52 does not match the IP found in /etc/pihole/setupVars.conf (https://discourse.pi-hole.net/t/use-ipv6-ula-addresses-for-pi-hole/2127)

   ^ Please note that you may have more than one IP address listed.
   As long as one of them is green, and it matches what is in /etc/pihole/setupVars.conf, there is no need for concern.

   The link to the FAQ is for an issue that sometimes occurs when the IPv6 address changes, which is why we check for it.

[i] Default IPv4 gateway: 192.168.1.1
   * Pinging 192.168.1.1...
[āœ—] Gateway did not respond. (https://discourse.pi-hole.net/t/why-is-a-default-gateway-important-for-pi-hole/3546)


*** [ DIAGNOSING ]: Ports in use
*:22 sshd (IPv4)
*:22 sshd (IPv6)
[80] is in use by lighttpd
[80] is in use by lighttpd
[53] is in use by pihole-FTL
[53] is in use by pihole-FTL
[4711] is in use by pihole-FTL
[4711] is in use by pihole-FTL

*** [ DIAGNOSING ]: Name resolution (IPv4) using a random blocked domain and a known ad-serving domain
[āœ“] coupongifts.life is 0.0.0.0 via localhost (127.0.0.1)
[āœ“] coupongifts.life is 0.0.0.0 via Pi-hole (10.0.0.2)
[āœ—] Failed to resolve doubleclick.com via a remote, public DNS server (8.8.8.8)

*** [ DIAGNOSING ]: Pi-hole processes
[āœ“] lighttpd daemon is active
[āœ“] pihole-FTL daemon is active

*** [ DIAGNOSING ]: Setup variables
    BLOCKING_ENABLED=true
    PIHOLE_INTERFACE=eth0
    IPV4_ADDRESS=10.0.0.2/24
    IPV6_ADDRESS=
    QUERY_LOGGING=true
    INSTALL_WEB_SERVER=true
    INSTALL_WEB_INTERFACE=true
    LIGHTTPD_ENABLED=true
    DHCP_ACTIVE=true
    DHCP_START=10.0.0.201
    DHCP_END=10.0.0.251
    DHCP_ROUTER=10.0.0.1
    DHCP_LEASETIME=24
    PIHOLE_DOMAIN=lan
    DHCP_IPv6=false
    DHCP_rapid_commit=false
    DNSMASQ_LISTENING=local
    PIHOLE_DNS_1=8.8.8.8
    PIHOLE_DNS_2=8.8.4.4
    PIHOLE_DNS_3=208.67.222.222
    PIHOLE_DNS_4=208.67.220.220
    PIHOLE_DNS_5=4.2.2.1
    PIHOLE_DNS_6=4.2.2.2
    PIHOLE_DNS_7=8.26.56.26
    PIHOLE_DNS_8=8.20.247.20
    PIHOLE_DNS_9=84.200.69.80
    PIHOLE_DNS_10=84.200.70.40
    PIHOLE_DNS_11=9.9.9.9
    PIHOLE_DNS_12=149.112.112.112
    PIHOLE_DNS_13=9.9.9.10
    PIHOLE_DNS_14=149.112.112.10
    PIHOLE_DNS_15=9.9.9.11
    PIHOLE_DNS_16=149.112.112.11
    PIHOLE_DNS_17=1.1.1.1
    PIHOLE_DNS_18=1.0.0.1
    DNS_FQDN_REQUIRED=true
    DNS_BOGUS_PRIV=true
    DNSSEC=false
    CONDITIONAL_FORWARDING=false

*** [ DIAGNOSING ]: Dashboard and block page
[āœ“] Block page X-Header: X-Pi-hole: A black hole for Internet advertisements.
[āœ“] Web interface X-Header: X-Pi-hole: The Pi-hole Web interface is working!

*** [ DIAGNOSING ]: Gravity list
-rw-r--r-- 1 root root 1882641 Apr 30 13:36 /etc/pihole/gravity.list
   -----head of gravity.list------
   0.0.0.0
   0.0.0.0.beeglivesex.com
   0.0.0.0.creative.hpyrdr.com
   0.0.0.0.hpyrdr.com

   -----tail of gravity.list------
   zzz.clickbank.net
   zzzezeroe.fr
   zzzpooeaz-france.com
   zzzrtrcm2.com

*** [ DIAGNOSING ]: contents of /etc/pihole

-rw-r--r-- 1 root root 275 Apr 30 12:29 /etc/pihole/adlists.list
   https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts
   https://mirror1.malwaredomains.com/files/justdomains
   http://sysctl.org/cameleon/hosts
   https://s3.amazonaws.com/lists.disconnect.me/simple_tracking.txt
   https://s3.amazonaws.com/lists.disconnect.me/simple_ad.txt

-rw-r--r-- 1 root root 0 Apr 30 13:36 /etc/pihole/blacklist.txt

-rw-r--r-- 1 root root 33 Apr 30 13:36 /etc/pihole/local.list
   10.0.0.2 pihole
   10.0.0.2 pi.hole

-rw-r--r-- 1 root root 234 Apr 30 12:29 /etc/pihole/logrotate
   /var/log/pihole.log {
   	su root root
   	daily
   	copytruncate
   	rotate 5
   	compress
   	delaycompress
   	notifempty
   	nomail
   }
   /var/log/pihole-FTL.log {
   	su root root
   	weekly
   	copytruncate
   	rotate 3
   	compress
   	delaycompress
   	notifempty
   	nomail
   }

-rw-r--r-- 1 root root 14 Apr 30 13:36 /etc/pihole/whitelist.txt
   acadoodle.com

*** [ DIAGNOSING ]: contents of /etc/dnsmasq.d

-rw-r--r-- 1 root root 1864 Apr 30 23:22 /etc/dnsmasq.d/01-pihole.conf
   addn-hosts=/etc/pihole/gravity.list
   addn-hosts=/etc/pihole/black.list
   addn-hosts=/etc/pihole/local.list
   localise-queries
   no-resolv
   cache-size=10000
   log-queries
   log-facility=/var/log/pihole.log
   local-ttl=2
   log-async
   dhcp-name-match=set:hostname-ignore,wpad
   dhcp-name-match=set:hostname-ignore,localhost
   dhcp-ignore-names=tag:hostname-ignore
   server=8.8.8.8
   server=8.8.4.4
   server=208.67.222.222
   server=208.67.220.220
   server=4.2.2.1
   server=4.2.2.2
   server=8.26.56.26
   server=8.20.247.20
   server=84.200.69.80
   server=84.200.70.40
   server=9.9.9.9
   server=149.112.112.112
   server=9.9.9.10
   server=149.112.112.10
   server=9.9.9.11
   server=149.112.112.11
   server=1.1.1.1
   server=1.0.0.1
   domain-needed
   bogus-priv
   local-service
   server=/use-application-dns.net/

-rw-r--r-- 1 root root 474 Apr 30 13:29 /etc/dnsmasq.d/02-pihole-dhcp.conf
   dhcp-authoritative
   dhcp-range=10.0.0.201,10.0.0.251,24h
   dhcp-option=option:router,10.0.0.1
   dhcp-leasefile=/etc/pihole/dhcp.leases
   domain=lan

*** [ DIAGNOSING ]: contents of /etc/lighttpd

-rw-r--r-- 1 root root 3499 Apr 30 12:29 /etc/lighttpd/lighttpd.conf
   server.modules = (
   	"mod_access",
   	"mod_accesslog",
   	"mod_auth",
   	"mod_expire",
   	"mod_compress",
   	"mod_redirect",
   	"mod_setenv",
   	"mod_rewrite"
   )
   server.document-root        = "/var/www/html"
   server.error-handler-404    = "/pihole/index.php"
   server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
   server.errorlog             = "/var/log/lighttpd/error.log"
   server.pid-file             = "/var/run/lighttpd.pid"
   server.username             = "www-data"
   server.groupname            = "www-data"
   server.port                 = 80
   accesslog.filename          = "/var/log/lighttpd/access.log"
   accesslog.format            = "%{%s}t|%V|%r|%s|%b"
   index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
   url.access-deny             = ( "~", ".inc", ".md", ".yml", ".ini" )
   static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )
   compress.cache-dir          = "/var/cache/lighttpd/compress/"
   compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )
   mimetype.assign   = ( ".png"  => "image/png",
                         ".jpg"  => "image/jpeg",
                         ".jpeg" => "image/jpeg",
                         ".html" => "text/html",
                         ".css" => "text/css; charset=utf-8",
                         ".js" => "application/javascript",
                         ".json" => "application/json",
                         ".txt"  => "text/plain",
                         ".svg"  => "image/svg+xml" )
   include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
   include_shell "find /etc/lighttpd/conf-enabled -name '*.conf' -a ! -name 'letsencrypt.conf' -printf 'include \"%p\"
' 2>/dev/null"
   $HTTP["url"] =~ "^/admin/" {
       
       setenv.add-response-header = (
           "X-Pi-hole" => "The Pi-hole Web interface is working!",
           "X-Frame-Options" => "DENY"
       )
       $HTTP["url"] =~ ".ttf$" {
           
           setenv.add-response-header = ( "Access-Control-Allow-Origin" => "*" )
       }
   }
   $HTTP["url"] =~ "^/admin/\.(.*)" {
        url.access-deny = ("")
   }
   include_shell "cat external.conf 2>/dev/null"

*** [ DIAGNOSING ]: contents of /etc/cron.d

-rw-r--r-- 1 root root 1703 Apr 30 12:29 /etc/cron.d/pihole
   46 3   * * 7   root    PATH="$PATH:/usr/local/bin/" pihole updateGravity >/var/log/pihole_updateGravity.log || cat /var/log/pihole_updateGravity.log
   00 00   * * *   root    PATH="$PATH:/usr/local/bin/" pihole flush once quiet
   @reboot root /usr/sbin/logrotate /etc/pihole/logrotate
   */10 *  * * *   root    PATH="$PATH:/usr/local/bin/" pihole updatechecker local
   6 12  * * *   root    PATH="$PATH:/usr/local/bin/" pihole updatechecker remote
   @reboot root    PATH="$PATH:/usr/local/bin/" pihole updatechecker remote reboot

*** [ DIAGNOSING ]: contents of /var/log/lighttpd

-rw-r--r-- 1 www-data www-data 3261 Apr 30 18:17 /var/log/lighttpd/error.log
   2020-03-14 10:06:17: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:06:50: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:06:51: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:06:51: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:09:52: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:10:01: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:10:01: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:11:53: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:12:01: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:12:01: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:18:21: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:18:29: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:18:29: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:21:24: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:21:31: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:21:31: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:22:12: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:22:12: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-03-14 10:35:20: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-03-14 10:35:27: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-03-14 10:35:27: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-04-30 12:29:48: (server.c.2059) server stopped by UID = 0 PID = 1 
   2020-04-30 12:29:49: (server.c.1464) server started (lighttpd/1.4.53) 
   2020-04-30 12:29:49: (server.c.1493) WARNING: unknown config-key: alias.url (ignored) 
   2020-04-30 12:20:29: (server.c.1464) server started (lighttpd/1.4.53) 

*** [ DIAGNOSING ]: contents of /var/log

-rw-r--r-- 1 pihole pihole 316 May  1 10:38 /var/log/pihole-FTL.log
   -----head of pihole-FTL.log------
   [2020-05-01 02:12:42.619 2104] Resizing "/FTL-queries" from 2949120 to 3145728
   [2020-05-01 05:00:00.694 2104] Resizing "/FTL-queries" from 3145728 to 3342336
   [2020-05-01 07:49:25.130 2104] Resizing "/FTL-queries" from 3342336 to 3538944
   [2020-05-01 10:38:36.452 2104] Resizing "/FTL-queries" from 3538944 to 3735552

   -----tail of pihole-FTL.log------
   [2020-05-01 02:12:42.619 2104] Resizing "/FTL-queries" from 2949120 to 3145728
   [2020-05-01 05:00:00.694 2104] Resizing "/FTL-queries" from 3145728 to 3342336
   [2020-05-01 07:49:25.130 2104] Resizing "/FTL-queries" from 3342336 to 3538944
   [2020-05-01 10:38:36.452 2104] Resizing "/FTL-queries" from 3538944 to 3735552

*** [ DIAGNOSING ]: contents of /dev/shm
-rw------- 1 pihole pihole 323584 Apr 30 23:22 /dev/shm/FTL-clients
-rw------- 1 pihole pihole 108 Apr 30 23:22 /dev/shm/FTL-counters
-rw------- 1 pihole pihole 65536 Apr 30 23:22 /dev/shm/FTL-domains
-rw------- 1 pihole pihole 12288 Apr 30 23:22 /dev/shm/FTL-forwarded
-rw------- 1 pihole pihole 28 Apr 30 23:22 /dev/shm/FTL-lock
-rw------- 1 pihole pihole 53248 Apr 30 23:22 /dev/shm/FTL-overTime
-rw------- 1 pihole pihole 3735552 May  1 10:59 /dev/shm/FTL-queries
-rw------- 1 pihole pihole 12 Apr 30 23:22 /dev/shm/FTL-settings
-rw------- 1 pihole pihole 8192 Apr 30 23:22 /dev/shm/FTL-strings

*** [ DIAGNOSING ]: Locale
    LANG=

*** [ DIAGNOSING ]: Pi-hole log
-rw-r--r-- 1 pihole pihole 40729285 May  1 16:58 /var/log/pihole.log
   -----head of pihole.log------
   May  1 00:00:08 dnsmasq[2104]: query[A] api.github.com from 127.0.0.1
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 1.0.0.1
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 1.1.1.1
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 149.112.112.11
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 9.9.9.11
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 149.112.112.10
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 9.9.9.10
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 149.112.112.112
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 9.9.9.9
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 84.200.70.40
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 84.200.69.80
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 8.20.247.20
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 8.26.56.26
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 4.2.2.2
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 4.2.2.1
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 208.67.220.220
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 208.67.222.222
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 8.8.4.4
   May  1 00:00:08 dnsmasq[2104]: forwarded api.github.com to 8.8.8.8
   May  1 00:00:08 dnsmasq[2104]: query[AAAA] api.github.com from 127.0.0.1


********************************************
********************************************
[āœ“] ** FINISHED DEBUGGING! **

and

Your Pi-hole never receives an answer from the upstream servers. What does

dig google.com @8.8.8.8

result in on your Pi-hole? And also on other devices in the network?

Note that the 01-pihole.conf will be overwritten during updates if new things are added. There is an indication for this at the header of the file. Move these lines into a dedicated config file if you want to preserve them.

@coro - dig does not resolve when ssh on pi.
on pc lan ping to ip works fine, dns ns lookup times out

taking pi out of equation ie router dhcp and dns every thin works fine
put pi in as dns only with router as dhcp - does not resolve
so for whatever reason the Pihole seems to not be able to send and recieve the info upstream, even when I use whitelisted domains

For your own privacy and security, please do not post your full, unsanitised debug log output here. When providing a debug token, please post just the token that is shown once the debug finishes (preferably by copy and paste).

Your basic DHCP options do look ok. (click)

No need for that.
Pi-hole itself adds those lines when configured as DHCP server.


You seem to be connected to two different subnets:

*** [ DIAGNOSING ]: Networking
[āœ“] IPv4 address(es) bound to the eth0 interface:
   10.0.0.2/24 matches the IP found in /etc/pihole/setupVars.conf

[i] Default IPv4 gateway: 192.168.1.1
[āœ—] Gateway did not respond.

Your Pi-hole has acquired an IP address from the *10.0.0.0/2*4 range, while your gateway is 192.168.1.1. This should not be the case if your router indeed is on 10.0.0.1.

Let's take a look at your Pi-hole machine's network settings.
Run the following from a terminal or console on your Pi-hole machine

grep -v '^#\|^$' /etc/dhcpcd.conf

Please post back the output here.

yeah i couldnt auto upload to tricorder since with Pi attached it does not resolve hence copy paste and when i tried to manually upload to tricorder i got continual errors :slight_smile: wil run the dhcpcd.conf this afternoon. thanks once again

presume from the below ( and forgive my lack of linux) this is a OS level config of network rather than from within pihole? and that i should hash out the 192 part? what should i put for the static name server? leave that as 127 which if i remember is a loopback ip for the device?

#interface eth0
#fallback static_eth0
interface eth0
        static ip_address=192.168.1.235/24
        static routers=192.168.1.1
        static domain_name_servers=127.0.0.1
interface eth0
        static ip_address=10.0.0.2/24
        static routers=10.0.0.1
        static domain_name_servers=127.0.0.1

(You can format your output for readability by using the </> Preformatted text menu option. I've just done that for your above command output. :wink: )

That looks like a left-over from a previous network installation (e.g. maybe you changed your router, or just your router's subnet).
If you didn't add those definitions intentionally, I'd recommend getting rid of the first eth0 configuration entirely.

Do so by removing the following lines:

You can edit that file by:

sudo nano  /etc/dhcpcd.conf

Note that it will look different than what we've grepped from it, i.e. there will be quite a lot of comments in it. You will find the offending lines close to the end.

You may have to restart your Pi-hole machine afterwards.
Be sure your router is indeed 10.0.0.1 before you do so.

1 Like

cheers @Bucking_Horn every day is a school day :slight_smile: will test and check later today

@Bucking_Horn - spot on thank you
still confused how PIhole only had the 10 network but then thats probably due to OS versus APP and my lack of linux - time to bone up with the basics of vi again lol

This topic was automatically closed 21 days after the last reply. New replies are no longer allowed.