DNSMASQ_WARN warning notification in Pi-Hole v6

On my existing PiHole v5 instance (Proxmox VM), i've configured Settings > DNS > Interface Settings to use the Respond only on interface ens18, instead of the Recommended Setting of Allow only local requests option.

This works fine in my instance.

I've spun up another VM for PiHole v6 and configured the same options but after doing so, I get a DNSMASQ_WARN interface eth0 does not currently exist warning.

My questions are:

  1. Regardless of v5 or v6, should I use the Allow only local requests option
  2. If I retain the setting I have in v5, how/where do I configure PiHole v6 to use interface ens18, which is the interface of the VM

EDIT :
It seems the GUI no longer displays the interface that Pi-Hole uses :
v5

v6

Is by design, an oversight or a bug in application's rewrite?

Run from within your Pi-hole container, what's the output of:

ip address

The result ip address is:
2: ens18: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether bc:24:11:7d:63:98 brd ff:ff:ff:ff:ff:ff
altname enp0s18
inet 172.16.200.244/24 brd 172.16.200.255 scope global ens18
valid_lft forever preferred_lft forever
inet6 fe80::be24:11ff:fe7d:6398/64 scope link
valid_lft forever preferred_lft forever

Find Settings | All settings » DNS and set dns.interface to ens18.

Are you running Pi-hole as a Docker image inside your VM ?

Thanks.
No, it's a Proxmox VM

why does v6 seemingly default to eth0 rather than "detecting" the actual interface like v5 did?

Both the v5 and the v6 installer would have prompted you for picking a network interface during installation.
If you imported a Teleporter backup later on, it may have got overwritten.
And the Docker image would default to eth0, as Docker would default to use that for its virtual interfaces.

I don't recall ever being prompted during PiHole's installation for an interface to be used during the installation of v6, let alone v5, and i've been using v5 for a few years now as both physical (RasPi) and VM (Proxmox).
As far as I know, PiHole has always automatically determined the interface to use from the host OS. I've never had to configure it to use a different interface via any other means.

Can you advise as to where during the installation that an interface to be used is prompted?

I've just spun up a temporary VM and ran the install script from the PiHole website.
At no time during the blue GUI screens was I prompted to select or enter an interface that PiHole should use to communicate to the wider network or accept DNS requests on.
Even after the script completed and I was returned to the CLI, the process steps displayed for the installation never indicated that PiHole was to be using eth0, or any interface for that matter.

Then you've only ever installed it on systems with only one active network interface.

Choosing a network interface is the first dialog to appear after the welcome screen:

You can list active interfaces on your system by

ip --oneline link show up | grep -v "lo" | awk '{print $2}'

That's very much like what the installer would also do. Since that would return ens18: on your system, I'm going to suspect that eth0 was introduced by UI interaction.

@rdwebdesign, the current v6 Interface settings lacks an interface name.
In absence of an interface, would switching to Respond/Bind only on interface default to eth0?

I don't know.
I didn't work in the v6 installer changes. Maybe @PromoFaux and @yubiuser can answer your question.

The web interface was missing the interface name, but that was just a cosmetic issue.

This issue was already fixed in the development branch (merged one hour ago).

What interface gets committed to the configuration when switching to one of the interface specific options?

The settings on the image above never change the interface. This options change only the dns.listeningMode:

To change the interface, you need to use the "All settings" page and change dns.interface:

Thanks.
Well, that makes sense that it would prompt for an interface to use if more than one active interface is detected, and you're right, I have only used physical or virtual machines that have had a single interface.

So, based on my post, there is possibly something in the new v6 code that either fails to detect the actual interface of the host, even though PiHole probably works regardless when the Allow only local requests option is selected, and/or it defaults to eth0 when options like Respond only on interface x, Bind only to interface or Permit all origins options are selected.

As instructed, I set the Setting | All Settings | DNS | dns.interface to ens18, and the DNSMASQ notification has cleared.

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