diff --git a/config/cfgroot/ids-functions.pl b/config/cfgroot/ids-functions.pl
index 5bc3e77ec..f124b12be 100644
--- a/config/cfgroot/ids-functions.pl
+++ b/config/cfgroot/ids-functions.pl
@@ -718,13 +718,28 @@ sub generate_dns_servers_file() {
 	# Get the used DNS servers.
 	my @nameservers = &General::get_nameservers();
 
+	# Get network settings.
+	my %netsettings;
+	&General::readhash("${General::swroot}/ethernet/settings", \%netsettings);
+
 	# Format dns servers declaration.
 	my $line = "";
 
 	# Check if the system has configured nameservers.
 	if (@nameservers) {
+		# Add the GREEN address as DNS servers.
+		push(@nameservers, $netsettings{'GREEN_ADDRESS'});
+
+		# Check if a BLUE zone exists.
+		if ($netsettings{'BLUE_ADDRESS'}) {
+			# Add the BLUE address to the array of nameservers.
+			push(@nameservers, $netsettings{'BLUE_ADDRESS'});
+		}
+
+		# Generate the line which will be written to the DNS servers file.
 		$line = join(",", @nameservers);
 	} else {
+		# External net simply contains (any).
 		$line = "\$EXTERNAL_NET";
 	}
 
