Note
If you have installed the bind-chroot
package, the BIND service will run in the /var/named/chroot
environment. All configuration files will be moved there. As such, the rndc.conf
file is located in /var/named/chroot/etc/rndc.conf
.
Note that since the rndc
utility does not run in a chroot
environment, /etc/rndc.conf
is a symlink to /var/named/chroot/etc/rndc.conf
.
7.4.1. Configuring /etc/named.conf
In order for rndc
to connect to a named
service, there must be a controls
statement in the BIND server's /etc/named.conf
file.
The controls
statement, shown in the following example, allows rndc
to connect from the localhost.
controls {
inet 127.0.0.1
allow { localhost; } keys { <key-name>
; };
};
This statement tells named
to listen on the default TCP port 953 of the loopback address and allow rndc
commands coming from the localhost, if the proper key is given. The <key-name>
specifies a name in the key
statement within the /etc/named.conf
file. The next example illustrates a sample key
statement.
key "<key-name>
" {
algorithm hmac-md5;
secret "<key-value>
";
};
In this case, the <key-value>
uses the HMAC-MD5 algorithm. Use the following command to generate keys using the HMAC-MD5 algorithm:
dnssec-keygen -a hmac-md5 -b <bit-length>
-n HOST <key-file-name>
A key with at least a 256-bit length is a good idea. The actual key that should be placed in the <key-value>
area can be found in the <key-file-name>
file generated by this command.
Warning
Because /etc/named.conf
is world-readable, it is advisable to place the key
statement in a separate file, readable only by root, and then use an include
statement to reference it. For example:
include "/etc/rndc.key";