-
-
Notifications
You must be signed in to change notification settings - Fork 202
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
Client ipv6 hostnames is not resolving and not being stored in FTL database #1978
Comments
The one occurrence you have seen
likely comes from an API call which may have tried to resolve the IPv6 host name on its own for the API response. Yes, "the order matters" is the problem here. Once looking up has failed once, IPv6 addresses are not tried again unless you configured You second example with the IPv6 GUA address does not work because this device seemingly is not known also not through another device? I'm somewhat lacking a it of context here. (is it the same device? if so, we could try to identify why Pi-hole wasn't able to see the MAC address) So the question is: What could be the compromise here? Seemingly simply skipping because of "not new" is an issue here. But I also wouldn't want to simply do the database lookup always (and just skip the PTR) for IPv6 addresses because all this skipping was introduced because users complaining about poor performance in networks with many devices rotating their IPv6 address in matters of seconds, i.e., they had several thousand IPv6 "clients" during a normal day. Performing multi-stage database lookups for each of them every minute is definitely not the way to go. |
Thank you for providing some context here. In all examples above the devices logs i posted are for the same client. I think most of my problems are from a lack of understand of how Pihole works internally. I try my best with flipping switches and observing outcomes to try to learn. Thank you for working with me, being patient, and educating me. I have taken some time to play around with the settings and try to figure what triggers Pihole to write hostnames to |
Yes, it is buried down in the fine details as we have to balance I/O on the database (Pi-hole is still designed to run on Raspberry Pi like hardware and SD card I/O is heavily wear-limited). The delay shouldn't bee all that long, though. It is user-controlled via the config setting I'm still unsure about how the compromise we are looking for should look like exactly.... |
Could the compromise be by making a new setting which we could call Or another way could be to instead of going with true or false, a number is the value provided, in seconds, where a user could override the refresh of "not new". Then when a "not new" address shown up and lastQuery > resolver.retryoveride then a check is done. If no value is provided it stays as currently programmed. Not sure if these ideas have performance implications. |
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. |
Sorry for having this had auto-closed, I'm not sure how it slipped our intention. I can only say June was a very busy month for me but that's also kind of a lame excuse... The option you are asking for won't really solve the issue in the vicinity of randomized MAC addresses leading to many many IPv6 addresses. Quite obviously, the hardware address randomization will prevent the network table from being able to correlate IP addresses (both IPv4 and IPv6) with devices and name lookups will never succeed, causing hundreds (if not more) lookups which will always end up with nothing. I've seen you're already involved in the other ongoing discussion. Please have a look at the recently proposed alternative #2130. This is not really what you want but I guess it should have about the same effect. |
No worries. Ive been keeping up with the latest builds and its been very stable so far for me. I learned to live with the way Pihole was resolving my ipv6 hostnames. Usually on the hourly PTR refresh the ipv6 hostnames would resolve. As usually i will update my build to see how this this alternative works. |
Problem:
Pihole does assign hostname to
ipv6
clients addresses properly whenresolver.networkNames=true
. When examiningpihole-FTL.db
only Pihole correctly assigns MAC address values toipv4
andipv6
client addresses, however hostname is left blank.When Pihole identifies an
ipv6
address it adds it to the database without resolving the hostname. When the same clientsipv4
address is discovered and resolved, Pihole then is able to correlate MAC address of the same device and understand it is the same device, however because theipv6
address was discovered first, according to the logs its not new and is skipped.Build:
Logs:
Here are some logs of when it does work. I ran a simple test on a single client. I first disabled
ipv6
, the client hostname was established throughipv4
. I then enabledipv6
, and then theipv6
hostname of that was established, however not on the first attempt:Here is logs of it not working:
Notice that most of the logs between working and not working are the same with the only difference being the last few lines. Not entirely sure as to what promts pihole to try to obtain host name from
network_addresses table
in the logs where it works vs where it doesnt work.Additional Info:
Another problem is that
pihole-FTL.db
is not updatingipv6
hostname after it is found.Network Tab
Database
And i believe another byproduct of this this issue problem is the following issue: pi-hole/pi-hole#5544
The text was updated successfully, but these errors were encountered: