Please follow the below template, it will help us to help you!
Expected Behaviour:
Client receives IP address of Pi-hole server's eth1 interface as DNS server via DHCP.
Actual Behaviour:
Client receives IP address of Pi-hole server's eth0 interface as DNS server via DHCP, even though Pi-hole appears to be configured to issue the eth1 interface address.
$ cat /etc/resolv.conf
#
# macOS Notice
#
# This file is not consulted for DNS hostname resolution, address
# resolution, or the DNS query routing mechanism used by most
# processes on this system.
#
# To view the DNS configuration used by this system, use:
# scutil --dns
#
# SEE ALSO
# dns-sd(1), scutil(8)
#
# This file is automatically generated.
#
search site.example.com
nameserver 2601:xxx:xxx:xxx:xxx:xxx:xxx:xxxx
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
nameserver 192.168.1.147
MacBook-Air-Steve-WiFi:~ stevej$ scutil --dns
DNS configuration
resolver #1
search domain[0] : site.example.com
nameserver[0] : 2601:xxxxxxxxxxxxxxx
nameserver[1] : 2001:4860:4860::8888
nameserver[2] : 2001:4860:4860::8844
nameserver[3] : 192.168.1.147
if_index : 5 (en0)
flags : Request A records, Request AAAA records
reach : 0x00020002 (Reachable,Directly Reachable Address)
resolver #2
domain : local
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 300000
resolver #3
domain : 254.169.in-addr.arpa
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 300200
resolver #4
domain : 8.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 300400
resolver #5
domain : 9.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 300600
resolver #6
domain : a.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 300800
resolver #7
domain : b.e.f.ip6.arpa
options : mdns
timeout : 5
flags : Request A records, Request AAAA records
reach : 0x00000000 (Not Reachable)
order : 301000
DNS configuration (for scoped queries)
resolver #1
search domain[0] : site.example.com
nameserver[0] : 2601:xxxxxx
nameserver[1] : 2001:4860:4860::8888
nameserver[2] : 2001:4860:4860::8844
nameserver[3] : 192.168.1.147
if_index : 5 (en0)
flags : Scoped, Request A records, Request AAAA records
reach : 0x00020002 (Reachable,Directly Reachable Address)
Also, I reran repair and rebooted for good measure. No change -- except the RPI picked up a new dynamic IP this time on eth0... which shouldn't matter if the eth1 were being issued as the DNS server to clients.
To keep things a bit more stable while tinkering with this, I just set a DHCP reservation for eth0. So now what I WANT is eth1/192.168.1.105. What I don't want (but what is getting handed out) is eth0/192.168.1.104).
Just tried a pihole -r and chose reconfigure. Noticed something interesting. When it asks if I want to use the "current IP" as the static IP, it shows the .104 address I don't want. I suppose it just looks for the first valid IP address that would be shown by ifconfig, which is .104. But even when I manually override it, and I get the correct .105 address in the installation success message:
You may now configure your devices to use the Pi-hole as their DNS server
[i] Pi-hole DNS (IPv4): 192.168.1.105
[i] Pi-hole DNS (IPv6): 2601:xxxxxxxxx
If you set a new IP address, please restart the server running the Pi-hole
[i] The install log is located at: /etc/pihole/install.log
Installation Complete!
DHCP is still giving out the wrong IP to clients. Unplugging eth0 is the only way to make it work properly, so that's what I've done. But I shouldn't have to do that.
Also, it's not just the Mac. Every DHCP client is picking up the "wrong" IP.
That token up top was generated prior to me unplugging eth0, so that's going to be the most useful for you. I can plug it back in and tinker more if needed.