Pi-hole DNS runs on all interfaces/addresses rather than just eth0

Please follow the below template, it will help us to help you!

Expected Behaviour:

The option 'listen on eth0' should ONLY listen on eth0, such that when you run a 'netstat -an' you see only the IP for eth0 being listed for the DNS service.

IE:
...
root@lurker:/etc/pihole# netstat -an|grep 53
tcp 0 192.168.1.4:53 0.0.0.0:* LISTEN
...

Actual Behaviour:

With the 'listen only on eth0' option set, the following is the real output:

...
root@lurker:/etc/pihole# netstat -an|grep 53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
...

Why this is bad:

This is a problem because I am trying to run a steamcache-dns docker container on a virtual interface (eth0:1) which requires a DNS service port to run its specialized BIND service, but the pi-hole behavior is blocking it because it is inappropriately binding to all IP's/interfaces rather than the 'only eth0' as specified in the web UI.

I already tweaked the lighthttpd config manually to only use the eth0 IP of 192.168.1.4 (it was bound to all interfaces as well) so that I could have the steamcache docker container run on eth0:2 port 80 rather than getting blocked. But I don't see an easy way for the pi-hole DNS service to be modified like the lighthttpd one was.

Debug Token:

a28gpbgotc

This seems to be a similar issue to the one found here

There seems to have been a solution found in the linked thread

1 Like

Nice find, thanks! I added a config file to my dnsmasq.d directory as shown and it's properly only using 127.0.0.1 and 192.168.1.4 now.

Is this hopefully going to get addressed/fixed since it is largely a problem of how the UI interacts with the service?

Not sure as it requires external config files however i will pass this along to the dev team and see what they come up with

It is possible in a future version to have a config flag to enable this feature, but for now just add a custom dnsmasq config with the option.

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