7.3.2. Configuring BIND and DNS
$domain environment variable to simplify the process with the following command, replacing example.com with the domain name to suit your environment:
# domain=example.com$keyfile environment variable so that it contains the file name for a new DNSSEC key for your domain, which is created in the subsequent step:
# keyfile=/var/named/$domain.keydnssec-keygen tool to generate the new DNSSEC key for the domain. Run the following commands to delete any old keys and generate a new key:
#rm -vf /var/named/K$domain*#pushd /var/named#dnssec-keygen -a HMAC-SHA256 -b 256 -n USER -r /dev/urandom $domain#KEY="$(grep Key: K$domain*.private | cut -d ' ' -f 2)"#popd
Note
$KEY environment variable has been set to hold the newly-generated key. This key is used in a later step.
Ensure that a key exists so that the broker can communicate with BIND. Use the rndc-confgen command to generate the appropriate configuration files for rndc, which is the tool that the broker uses to perform this communication:
# rndc-confgen -a -r /dev/urandomEnsure that the ownership, permissions, and SELinux context are set appropriately for this new key:
#restorecon -v /etc/rndc.* /etc/named.*#chown -v root:named /etc/rndc.key#chmod -v 640 /etc/rndc.key
7.3.2.1. Configuring Sub-Domain Host Name Resolution
dns-nsupdate plug-in includes an example database, used in this example as a template.
Procedure 7.4. To Configure Sub-Domain Host Name Resolution:
- Delete and create the
/var/named/dynamicdirectory:#
rm -rvf /var/named/dynamic#mkdir -vp /var/named/dynamic - Create an initial
nameddatabase in a new file called/var/named/dynamic/$domain.db, replacing domain with your chosen domain. If the shell syntax is unfamiliar, see the BASH documentation at http://www.gnu.org/software/bash/manual/bashref.html#Here-Documents.#
cat <<EOF > /var/named/dynamic/${domain}.db\$ORIGIN . \$TTL 1 ; 1 seconds (for testing only) ${domain} IN SOA ns1.${domain}. hostmaster.${domain}. ( 2011112904 ; serial 60 ; refresh (1 minute) 15 ; retry (15 seconds) 1800 ; expire (30 minutes) 10 ; minimum (10 seconds) ) NS ns1.${domain}. MX 10 mail.${domain}. \$ORIGIN ${domain}. ns1 A 127.0.0.1 EOF
Procedure 7.5. To Install the DNSSEC Key for a Domain:
- Create the file
/var/named/$domain.key, where domain is your chosen domain:#
cat <<EOF > /var/named/$domain.keykey $domain { algorithm HMAC-SHA256; secret "${KEY}"; }; EOF - Set the permissions and SELinux context to the correct values:
#
chgrp named -R /var/named#chown named -R /var/named/dynamic#restorecon -rv /var/named
/etc/named.conf file.
Procedure 7.6. To Configure a New /etc/named.conf File:
- Create the required file:
#
cat <<EOF > /etc/named.conf// named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; // use the default rndc key include "/etc/rndc.key"; controls { inet 127.0.0.1 port 953 allow { 127.0.0.1; } keys { "rndc-key"; }; }; include "/etc/named.rfc1912.zones"; include "$domain.key"; zone "$domain" IN { type master; file "dynamic/$domain.db"; allow-update { key $domain ; } ; }; EOF - Set the permissions and SELinux context to the correct values:
#
chown -v root:named /etc/named.conf#restorecon /etc/named.conf

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.