Hello,

Network issue should be detected by other ways.
But DNS health check can be done by sending a normal DNS query to the server and try get a valid response.

This is the script what I use to check the health of my DNS server. :D

#!/usr/bin/perl
use strict;
use Net::DNS;
use POSIX 'strftime';
use MIME::Lite;
use MIME::Words qw(encode_mimewords);

my $debug = 0;
my $test_rr = 'alive.example.net';
my $test_val = '8.8.8.8';
my @nameservers = qw(1.1.1.1 2.2.2.2);

for my $ns (@nameservers) {
    test_query($ns);
}

sub test_query {
    my $ns = shift;
    my $res = Net::DNS::Resolver->new(nameservers => [$ns]);
    $res->tcp_timeout(10);
    $res->udp_timeout(10);
    my $answer = $res->query($test_rr);

    if (defined $answer) {
        my @rr = $answer->answer;
        if ($rr[0]->address ne $test_val) {
           sendmail( "DNS not matched: $ns" );
           print "$ns wrong\n";
        }
        if ($debug) {
           print "$ns expected value for $test_rr: $test_val\n";
           print "$ns got value for $test_rr: ", $rr[0]->address,"\n";
        }
    } else {
        sendmail( "Can't query to: $ns" );
        print "$ns wrong\n";
    }
}


sub sendmail {
    # your email function to send the alerts
}

Regards.


On 2015/10/20 星期二 14:26, Harshith Mulky wrote:
How can a Client verify if the DNS Server is Running(named service is
Running) or Down?
Does it periodically send any messages to the server. What Kind of
messages are required by the client to be sent towards server to
determine if the DNS IP is reachable or not?
_______________________________________________
Please visit https://lists.isc.org/mailman/listinfo/bind-users to unsubscribe 
from this list

bind-users mailing list
bind-users@lists.isc.org
https://lists.isc.org/mailman/listinfo/bind-users

Reply via email to