diff --git a/scripts/pi-hole/php/savesettings.php b/scripts/pi-hole/php/savesettings.php index be0575638..84c78de1e 100644 --- a/scripts/pi-hole/php/savesettings.php +++ b/scripts/pi-hole/php/savesettings.php @@ -174,11 +174,35 @@ function readStaticLeasesFile() $extra .= "no-dnssec"; } + // Check if DNSinterface is set + if(isset($_POST["DNSinterface"])) + { + if($_POST["DNSinterface"] === "single") + { + $DNSinterface = "single"; + } + elseif($_POST["DNSinterface"] === "all") + { + $DNSinterface = "all"; + } + else + { + $DNSinterface = "local"; + } + } + else + { + // Fallback + $DNSinterface = "local"; + } + $return .= exec("sudo pihole -a -i ".$DNSinterface." -web"); + // If there has been no error we can save the new DNS server IPs if(!strlen($error)) { $IPs = implode (",", $DNSservers); exec("sudo pihole -a setdns ".$IPs." ".$extra); + $success .= htmlspecialchars($return)."
"; $success .= "The DNS settings have been updated (using ".count($DNSservers)." DNS servers)"; } else diff --git a/settings.php b/settings.php index cf53aa60e..469be26e7 100644 --- a/settings.php +++ b/settings.php @@ -469,6 +469,23 @@ function convertseconds($argument) { } else { $DNSSEC = false; } + + if(isset($setupVars["DNSMASQ_LISTENING"])){ + if($setupVars["DNSMASQ_LISTENING"] === "single") + { + $DNSinterface = "single"; + } + elseif($setupVars["DNSMASQ_LISTENING"] === "all") + { + $DNSinterface = "all"; + } + else + { + $DNSinterface = "local"; + } + } else { + $DNSinterface = "local"; + } ?>
@@ -534,6 +551,20 @@ function convertseconds($argument) {

Validate DNS replies and cache DNSSEC data. When forwarding DNS queries, Pi-hole requests the DNSSEC records needed to validate the replies. Use Google or Norton DNS servers when activating DNSSEC. Note that the size of your log might increase significantly when enabling DNSSEC. A DNSSEC resolver test can be found here.

+ +
+ +
+ +
+
+ +
+
+ +
+
+