diff --git a/scripts/pi-hole/php/savesettings.php b/scripts/pi-hole/php/savesettings.php
index 24470fff..c6ade83c 100644
--- a/scripts/pi-hole/php/savesettings.php
+++ b/scripts/pi-hole/php/savesettings.php
@@ -183,11 +183,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 cd354905..002612f2 100644
--- a/settings.php
+++ b/settings.php
@@ -469,6 +469,23 @@
} 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";
+ }
?>
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.
+ +