WIreless Devices cannot use the Pi-Hole

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

Expected Behaviour:

Ability to block ads using the Pi-Hole on wireless devices by manually setting the DNS server to point to the pi-hole. I do not wish to set the Pi-Hole as a the dns server of the router, just a few select wireless devices. I also do not wish to use the Pi-Hole as a DHCP server as I have several configurations that rely on certain IP addresses.

Actual Behaviour:

I used to be able to have my iphone and other wireless devices point to the Pi-Hole for dns and for some reason they all keep getting forwarded to my router instead, completely bypassing the Pi-Hole. I am however able to set a wired device to point to the Pi-Hole and everything works as intended. All of this seems to have happened after i updated my Pi-hole a few days ago. Since then i have reinstalled a fresh version of Raspian Lite and rebuilt the Pi-Hole from scratch and also tried another Pi-Hole all together.

Debug Token:

rqewuftsag

You dont have to configure upstream (WAN) DNS for the router to the Pi-hole address.
Preferred is to have the DHCP service on the router to push the Pi-hole IP address as the only DNS server to the clients:

How have you determined this ?

Pads and phones are a bit hard to diagnose because lacking tools.
Are you able to connect a PC/laptop to WiFi and recreate the symptoms ?
With Linux/Windows/MacOS, you can test DNS resolution with the nslookup tool:

nslookup pi.hole <PIHOLE_IP_ADDRESS>

Linux & MacOS clients will display DNS nameserver(s) configured with below one:

cat /etc/resolv.conf

For Windows clients, use below one to see configured DNS server(s) and more:

ipconfig /all

I’ve tried running the nslookup pi.hole <PIHOLE_IP_ADDRESS> command from a few Windows machines and received unknown server from the wireless devices, however it comes back successful on wired devices. AM i missing a configuration on the Pi or my router?

This is likely a router problem. Pi-Hole connects to your network like any other client, and if it is connected it works for any clients that can reach it. The WiFi/non-WiFi problem is most likely in the router.

Probably the devices on WiFi dont have a route to the wired devices or the router blocking traffic between the two.
Can you ping Pi-hole, which I presume is wired , from a Windows PC connected via Wifi ?

A traceroute from the Windows client ?

tracert <PIHOLE_IP_ADDRESS>

If you router doesnt allow traffic between the two network segments, another option is to connect Pi-hole to both wired and WiFi.

If the wired and Wifi clients are in different subnets, assign appropriate IP’s to the two interfaces and configure the “Interface listening behavior” setting to “Listen on all interfaces” below:

http://pi.hole/admin/settings.php?tab=dns

If they are in the same subnet, best to add/create a bridge interface named br0 with an IP in the subnet, add the two physical interfaces (without IP) to the bridge and reconfigure Pi-hole to listen to the new bridge interface.

For a bridge, put below in the “/etc/network/interfaces” file (your interface names could be different!).
And you might need want to install ‘sudo apt install bridge-utils’.

auto lo
iface lo inet loopback

iface eth0 inet manual

iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto br0
iface br0 inet manual
    bridge_ports eth0 wlan0
    bridge_stp no

Put your WiFi details in the file “/etc/wpa_supplicant/wpa_supplicant.conf” like below.
Change country or some Wifi channels might not be available (local laws might restrict channels).
And oc put your own SSID and pass in the file:

country=NL
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
  ssid="YOUR_WIFI_SSID"
  psk="PASSWORD_FOR_WIFI"
}

Set proper ownership and permissions:

sudo chown root:root /etc/wpa_supplicant/wpa_supplicant.conf

sudo chmod 600 /etc/wpa_supplicant/wpa_supplicant.conf

And configure IP for the bridge interface at the bottom in the file “/etc/dhcpcd.conf” (watch for duplicate entries!):

interface eth0
  nodhcp
  nodhcp6

interface wlan0
  nodhcp
  nodhcp6

interface br0
  static ip_address=<PIHOLE_IP_ADDRESS>/24   # Change 24 mask if other!
  static routers=<YOUR_ROUTER_IP>
  static domain_name_servers=127.0.0.1

Reboot to apply/test:

journalctl -u networking

journalctl -u dhcpcd

ip l

ip a

ip r

sudo brctl show

To reconfigure Pi-hole, run below and select reconfigure:

pihole -r

EDIT: added some

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