home/bin/_old/old/dnsnotify
2018-01-15 20:25:41 +01:00

41 lines
790 B
Perl
Executable file

#!/usr/bin/perl -w
# usage: dnsnotify zone slave [...]
# example: dnsnotify example.org 1.2.3.4 1.2.3.5
use Net::DNS;
$zone = shift;
@master_ns = @ARGV;
$res = new Net::DNS::Resolver;
foreach $ns (@master_ns) {
$packet = new Net::DNS::Packet($zone, "SOA", "IN");
die unless defined $packet;
($packet->header)->opcode("NS_NOTIFY_OP");
($packet->header)->rd(0);
($packet->header)->aa(1);
$res->nameservers($ns);
# Prints outgoing packet - the NOTIFY
# $packet->print;
$reply = $res->send($packet);
if (defined $reply) {
print "Received NOTIFY answer from " . $reply->answerfrom . "\n";
# Print received packet - the answer
# $reply->print;
} else {
warn "\$res->send indicates NOTIFY error for $ns\n";
}
}
exit 0;