Net::RNDC - Speak the BIND Remote Name Daemon Control (RNDC) V1 protocol
version 0.003
Simple synchronous command/response:
use Net::RNDC; my $rndc = Net::RNDC->new( host => '127.0.0.1', port => 953, # Defaults to 953 key => 'abcd', ); if (!$rndc->do('status')) { die "RNDC failed: " . $rndc->error; } print $rndc->response;
All arguments to new() are allowed in do:
my $rndc = Net::RNDC->new(); my $key = 'abcd'; for my $s (qw(127.0.0.1 127.0.0.2)) { if (!$rndc->do('status', key => $key, host => $s)) { my $err = $rndc->error; } else { my $resp = $rndc->response; } }
This package provides a synchronous, easy to use interface to the RNDC V1 protocol. For more mid-level control, see Net::RNDC::Session, and for absolute control, Net::RNDC::Packet.
Net::RNDC->new(%args);
Optional Arguments:
key - The Base64 encoded HMAC-MD5 private key to use.
host - The hostname/IP of the remote server to connect to. If IO::Socket::INET6 is installed, IPv6 support will be enabled.
port - The port to connect to. Defaults to 953.
$rndc->do($command); $rndc->do($commands, %args);
Connects to the remote nameserver configured in "new" or passed in to %args and sends the specified command.
Returns 1 on success, 0 on failure.
Arguments:
$command - The RNDC command to run. For example: status.
status
Optional Arguments - See "new" above.
$rndc->error;
Returns the last string error from a call to "do", if any. Only set if "do" returns 0.
$rndc->response;
Returns the last string response from a call to "do", if any. Only set if "do" returns 1.
Net::RNDC::Session - Manage the 4-packet RNDC session
Net::RNDC::Packet - Low level RNDC packet manipulation.
Matthew Horsfall (alh) <WolfSage@gmail.com>
You may distribute this code under the same terms as Perl itself.
To install Net::RNDC, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Net::RNDC
CPAN shell
perl -MCPAN -e shell install Net::RNDC
For more information on module installation, please visit the detailed CPAN module installation guide.