Skip to content
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

Allow multiple upstream DNS servers (incl. IPv6) #357

Merged
merged 3 commits into from
Jan 13, 2017

Conversation

DL6ER
Copy link
Member

@DL6ER DL6ER commented Jan 13, 2017

By submitting this pull request, I confirm the following (please check boxes, eg [X] - no spaces) Failure to fill the template will close your PR:

Please submit all pull requests against the development branch. Failure to do so will delay or deny your request

  • I have read and understood the contributors guide.
  • I have checked that another pull request for this purpose does not exist.
  • I have considered, and confirmed that this submission will be valuable to others.
  • I accept that this submission may not be used, and the pull request closed at the will of the maintainer.
  • I give this submission freely, and claim no ownership to its content.

How familiar are you with the codebase?: 10


  • Allow multiple upstream DNS servers
    screenshot at 2017-01-13 17-50-19

  • Allow IPv6 addresses in the exclude filter

After reading the dnsmasq code a bit more I figured out that this will not drastically increase the used bandwidth (as I though initially). dnsmasq will send queries to any of the upstream servers that are enabled and tries to favor servers that are known to be up (favor = the fastest to respond). Only if this favorite server fails to answer, dnsmasq will reach out to the others. It will occasionally send a query to all of them to identify if the favored server is still the best choice.

Core changes: pi-hole/pi-hole#1135

This template was created based on the work of udemy-dl.

@DL6ER DL6ER changed the title Allow IPv6 on the settings page [WIP] Allow IPv6 on the settings page Jan 13, 2017
@DL6ER DL6ER changed the title [WIP] Allow IPv6 on the settings page Allow multiple upstream DNS servers (incl. IPv6) Jan 13, 2017
@AzureMarker
Copy link
Contributor

AzureMarker commented Jan 13, 2017

Approved

Approved with PullApprove

@AzureMarker AzureMarker merged commit 0c429e3 into devel Jan 13, 2017
@AzureMarker AzureMarker deleted the tweak/IPv6UpstreamDNS branch January 13, 2017 22:04
@darkrain-nl
Copy link

2017-01-14 14_13_20-pi-hole admin console
2017-01-14 14_13_25-pi-hole admin console
2017-01-14 14_13_29-pi-hole admin console
2017-01-14 14_13_34-pi-hole admin console
Just to give an idea how much each server gets to do...
I run a config like this for some time already, 6 or 7 months, without any problems.
So good thing to add.

@DL6ER
Copy link
Member Author

DL6ER commented Jan 14, 2017

screenshot at 2017-01-14 15-30-30

With all 10 enabled. Level3 is slightly preferred by dnsmasq it seems. Still, the time interval in between which dnsmasq check for the fastes is quote short and the "favored" server changed frequently in my setup.

@david-kracht
Copy link

david-kracht commented Dec 12, 2017

An option to use the all-servers flag of dnsmasq would be nice. From my point of view it changes the way the servers is accessed. With the flag, there seems to be parallel requests, with the first reply being used for forwarding. This might be a option to control number of dns requests vs. minimum latency. Maybe worth a small feature request ?!

Just my 2 ct.

Edit: The chart seems to be devided in a local part and equi-divided parts for each server with the mentioned flag.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants