-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Top client shows only one IP (which I don't even recognize) #135
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Actually, that is a Docker internal IP address. @diginc would know more about why it's the only client. |
Here's the debug token - smtw8e6m6a Let me know if you want me to paste the log here. Thanks! |
When a router cannot directly hand out DNS the only option is to have it relay. Mine does this too where my clients still point to my router and my router points to the pihole. the real addresses of the clients are lost in the process. |
That is unfortunate. Here are few threads that I stumbled upon (although none of them are using a docker container): I guess, we will have to live with that. |
@Mcat12 pointed out that is the docker gateway IP address so the router explanation isn't quite right. What is your Also what version of docker? |
I am using the latest version of Docker (1.11.2-0.325) on my Synology NAS and the latest version of the image that was released 8/10 hours back. I used the GUI to initiate the container. Here are the settings:
Here are the logs:
|
Looks like ServerIP didn't get set correctly. This is a known issue I need to address, before it would cause the docker to die instantly but s6 doesn't seem to be quitting immediately during container init script errors. |
Does synology allows live editing of the environment variables? The |
The
|
is top client behavior the same still after ServerIP addition? does the startup log indicate it had any errors? |
Here are the logs again (no errors now):
|
Hi, I've the same issue when I run pi-hole(docker 1.11.2) on my synology, it only log an internal ip address of docker an not the ip of the requested client. The logs:
Thanks for looking into it. |
+1, i've configured my router to tell clients to use docker host ip which is mapped to pi-hole container, but i am only seeing I've tried setting my docker host ip 192.168.0.25 on my phone and laptop dns to test, but i can't differentiate clients |
I also have this issue. Why was is closed? |
Initially I thought it was a router based problem - I'll look into this again. Any more data people can provide is appreciated so we can start trying to find a common thread. Docker image used, Docker versions, run command, maybe even router version, and if you're a synology or other type of server. If you don't use your router DHCP DNS and hard code a computer's DNS to pi-hole does it still show the 172.17.0.1 IP? |
Router: Asus RT-AC88U running asus merlin firmware 380.67 running latest pi-hole image from dockerhub Pi-hole Version v3.1 (Update available!) Web Interface Version v3.1 FTL Version v2.9.4 Donate if you found this useful. docker-compose.yml
And yes, i tried hardcoding the dns to 192.168.0.25 on my device and it still shows docker gateway ip instead of the actual client IP |
I am running the same setups on a Synology DS415 and a Ubiquiti USG as router. On the router DNS settings are points to the pi-hole docker container. Everything runs so far. Some test with some sites showed me that the filter is working - However I have the same issue with the IP mapping. I only see the virtual docker IP in the Dashboard but no details so further investigation is not possible. Did you find any solution/Idea where it comes from? |
I just verified that my clients are using the IP of the host running docker - i.e. the same as what I configured ServerIP to, but it still shows the client as the docker ip. This is most likely due to dockers bridge networking? |
Do the actual dnsmasq logs only show the one docker bridge IP address? |
The dnsmasq logs shows the queries originating from the docker bridge gateway; in my case:
This probably means it's not possible to see the actual client when using docker with bridged network (the default) |
I tried a hard DNS entry of the docker pi-hole IP address in one of my Windows 10 computers, but it does not know a route to this subnet. So manually adding a route through the command line seems to work, Pi-hole recognizes my computer. |
I can confirm this behaviour as well. |
my 2cts => docker-proxy |
this could be docker bug or more specifically, docker synology build's bug. I have 2 almost identical setup with one synology and one linux server. and because it seems most reports are from synology user, synology: Docker version 17.05.0-ce, build 9f07f0e-synology |
Current file:
|
and this still doesn't work? If I run can you try to change the "external" port to 5353 and run and check |
Well it works. Just the client IP is the Docker IP. How do I change the external port? |
I had the same issue but binding the porta to the interface worked for me. yes try to change just to see of this makes a difference. |
I notice this in the logs I set...
and now...
But it hasn't improved the other issue. |
if you change your yml to
and restart the container Also try ServerIP and FTLCONF_REPLY_ADDR4 are not needed |
Fails with error...
Changing UDP to just 53 results in the image booting. But the dig query times out. Could something else be using these ports? Only other thing on that machine is a Chia Farm. |
Maybe the port is already in use. |
Your issue "IP is always 172.19.0.1" looks like an adress translation "problem". And it might be the effect that I tried to explain above. If you promote an IPv6 DNS server adress to the network (at home usually via the router/DHCP server) then the clients often prefer sending DNS requests via IPv6, but this is not translated by the Docker userland to the IPv6 of the requesting client. Instead it is reached through with the internal IPv4 of the Docker interface. So the container sees all requests comming from that adress and only shows this as source of requests. |
Thanks for the insight. But I don't publish a IP6 DNS address. I doubt 100% of 30 odd clients would choose IP6 anyway. As far as I know IP6 is disabled everywhere, including vlans on my home network. Also my explicit dig tests query the IP4 address. Did I understand your comments correct? Sorry if I missed the point. |
edit: also 12hours later this has happened... |
Instead of the port-forwarding you can also try |
You can also try a |
Network host mode is not supported on any other OS than Linux Folks I'm super grateful for all the help. I'm just a bit confused that a supported implementation doesn't seem to work in any known configuration. Is the only option here to bow out and run a Linux VM? Feels like such opportunity cost :) |
This issue is stale because it has been open 30 days with no activity. Please comment or update this issue or it will be closed in 5 days. |
Anyone figure out a solution? I see the bot recently closed the issue because of it was stale, but I see no fix. I'm running into this same issue, was actually lurking in this thread because it got closed. Running Pi-hole in Docker on macOS. Mac has fixed IP My
What should I change to get individual clients? |
This issue has been mentioned on Pi-hole Userspace. There might be relevant details there: https://discourse.pi-hole.net/t/pi-hole-in-docker-on-macos-has-only-one-client/55875/1 |
If I remember correctly, most of the problems came down to iptables masquerading real IP addresses. There are a few solutions in this issue on how to turn that off. There were a few instances of IPv6 being translated to IPv4, which would look the same, but not sure what the solution be there as I have no experience with Docker and IPv6. I don't think there was ever a solution for Windows. I don't know what kind of firewall or service MAC uses to masquerade the IPs for Docker, but I would look there. It will most likely not be anything that docker-compose or the pi-hole docker itself can address. Edit: here is an example of how the issue is fixed using iptables #135 (comment) Has a IPv6 entries in there, so I guess should work there too. Edit2: maybe this can help you docker/for-mac#180 (comment) |
As mentioned before; it's an issue with IPv6 and Docker; which doesn't play nice :) Running this will fix your issue (as a workaround; but the original/real IPv6 addresses will show up in pi-hole): https://github.com/robbertkl/docker-ipv6nat Edit: don't forget to add a IPv6 network or change /etc/docker/daemon.json and add for example the following to the config:
|
Also running into this problem. Running docker on Synology (Bridged mode, Host mode is currently not available to me). My network does not communicate on IPv6, only IPv4. I can confirm this as my laptop only receives an IPv4 address, and IPv6 address is empty. The DNS on the my laptop is set to directly the IP address of Pihole/Synology (so domain name request are not forwarded from router). In the docker I changed the following environment variables:
Requests do not show the actual client IP address or host name for known clients (mapped basis Mac address). |
This issue was opened in 2017 and is currently closed. If you think you have a similar issue and didn't find a solution here you should open a new issue, following the template (including a debug token). |
Same issue here |
I'll had some more context as I have the two side of this issue (working and not working). I've a computer with dual boot. When I boot on linux, pihole logs show an IP of my LAN which correspond to my real client LAN IP.
Dual boot computer is in the same network, get the same IP, etc... The only thing that change is windows/linux. |
I started using this image on my Synology NAS and have been very happy with it...thanks a ton!
I just have one issue that I am not able to resolve, in the Top Clients section, I see all the requests from one IP address (172.17.0.1). This is particularly interesting, given that 172.17.0.1 is not an IP from my network (at least I don't recognize it). All the IP addresses in my local network have the format 192.168.2.*.

I was hoping that I could see the request per IP address. I am using and Asus router with Merlin firmware (if that helps). I am not sure if it is a bug or something that I need to fix at my end. Thanks for looking into it.
The text was updated successfully, but these errors were encountered: