S19dns

Synopsys


#
# Example files for bind
#

# FC3 runs Bind 9.2
#
# Zone files are stored in /var/named/chroot/var/named/ and linked into
# /var/named/
# /etc/named.conf is a symlink to /var/named/chroot/etc/named.conf
# /etc/named.custom is supposed to contain items not supported by
# the system-config-bind config script.

Script


echo "%Post: Local domain name service"

# Most variables below are provided in the ks.cfg
# We'll need to so a little magic with the $HOSTIP (ppp.qqq.rrr.sss) to get
# the $nodeip (sss) and $net (rrr.qqq.ppp)

nodeip=`echo $HOSTIP | cut -d"." -f4`
nodenet=`echo $HOSTIP | cut -d"." -f1,2,3`
net=`perl -e '\$hostip="\$ARGV[0]"; @foo=split(/\./, \$hostip); print "\$foo[2].\$foo[1].\$foo[0]"' $HOSTIP`

mv /var/named/chroot/etc/named.conf /var/named/chroot/etc/named.conf-$VERSION

cat > /var/named/chroot/etc/named.conf <<EOF
//
// named.conf 
//

options {
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
         // query-source address * port 53;
};

zone "." IN {
        type hint;
        file "named.ca";
};

zone "localdomain" IN {
        type master;
        file "localdomain.zone";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};

zone "0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.ip6.local";
        allow-update { none; };
};

zone "255.in-addr.arpa" IN {
        type master;
        file "named.broadcast";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.zero";
        allow-update { none; };
};

include "/etc/rndc.key";

// Local zones specified below

zone "$DOMAINNAME" IN {
	type master;
	file "$DOMAINNAME.zone";
};

zone "$net.in-addr.arpa" IN {
	type master;
	file "$net.in-addr.arpa.zone";
};
EOF

# Forward DNS
cat > /var/named/chroot/var/named/$DOMAINNAME.zone <<EOF
\$ORIGIN $DOMAINNAME.
\$TTL 86400
@       IN      SOA     localhost.      root.localhost. (
                                1 ; serial
                                28800 ; refresh
                                14400 ; retry
                                3600000 ; expire
                                86400 ; ttl
                                )
 
                IN      NS      localhost.
@               IN      A      127.0.0.1

; SRV records
; service	rr	pri	weight	port	target
_ldap._tcp	SRV	0	0	389	$NODENAME.
_domain._tcp	SRV	0	0	53	$NODENAME.

; Dynamic pool specified here
dynamic1	IN	A	$nodenet.201
dynamic2	IN	A	$nodenet.202
dynamic3	IN	A	$nodenet.203
dynamic4	IN	A	$nodenet.204
dynamic5	IN	A	$nodenet.205
dynamic6	IN	A	$nodenet.206
dynamic7	IN	A	$nodenet.207
dynamic8	IN	A	$nodenet.208
dynamic9	IN	A	$nodenet.209
dynamic10	IN	A	$nodenet.210
dynamic11	IN	A	$nodenet.211
dynamic12	IN	A	$nodenet.212
dynamic13	IN	A	$nodenet.213
dynamic14	IN	A	$nodenet.214
dynamic15	IN	A	$nodenet.215
dynamic16	IN	A	$nodenet.216
dynamic17	IN	A	$nodenet.217
dynamic18	IN	A	$nodenet.218
dynamic19	IN	A	$nodenet.219
dynamic20	IN	A	$nodenet.220
dynamic21	IN	A	$nodenet.221
dynamic22	IN	A	$nodenet.222
dynamic23	IN	A	$nodenet.223
dynamic24	IN	A	$nodenet.224
dynamic25	IN	A	$nodenet.225
dynamic26	IN	A	$nodenet.226
dynamic27	IN	A	$nodenet.227
dynamic28	IN	A	$nodenet.228
dynamic29	IN	A	$nodenet.229
dynamic30	IN	A	$nodenet.230
 
; static addresses specified here
$NODENAME	IN      A       $HOSTIP

EOF

# Reverse DNS
cat > /var/named/chroot/var/named/$net.in-addr.arpa.zone <<EOF
\$TTL 86400
@       IN      SOA     localhost.      root.localhost  (
                                1 ; serial
                                28800 ; refresh
                                14400 ; retry
                                3600000 ; expire
                                86400 ; ttl
                                )
 
 
 
                IN      NS      localhost.
@		IN	A	127.0.0.1

; Dynamic pool specified here
201		IN	PTR	dynamic1.$DOMAINNAME.
202		IN	PTR	dynamic2.$DOMAINNAME.
203		IN	PTR	dynamic3.$DOMAINNAME.
204		IN	PTR	dynamic4.$DOMAINNAME.
205		IN	PTR	dynamic5.$DOMAINNAME.
206		IN	PTR	dynamic6.$DOMAINNAME.
207		IN	PTR	dynamic7.$DOMAINNAME.
208		IN	PTR	dynamic8.$DOMAINNAME.
209		IN	PTR	dynamic9.$DOMAINNAME.
210		IN	PTR	dynamic10.$DOMAINNAME.
211		IN	PTR	dynamic11.$DOMAINNAME.
212		IN	PTR	dynamic12.$DOMAINNAME.
213		IN	PTR	dynamic13.$DOMAINNAME.
214		IN	PTR	dynamic14.$DOMAINNAME.
215		IN	PTR	dynamic15.$DOMAINNAME.
216		IN	PTR	dynamic16.$DOMAINNAME.
217		IN	PTR	dynamic17.$DOMAINNAME.
218		IN	PTR	dynamic18.$DOMAINNAME.
219		IN	PTR	dynamic19.$DOMAINNAME.
220		IN	PTR	dynamic20.$DOMAINNAME.
221		IN	PTR	dynamic21.$DOMAINNAME.
222		IN	PTR	dynamic22.$DOMAINNAME.
223		IN	PTR	dynamic23.$DOMAINNAME.
224		IN	PTR	dynamic24.$DOMAINNAME.
225		IN	PTR	dynamic25.$DOMAINNAME.
226		IN	PTR	dynamic26.$DOMAINNAME.
227		IN	PTR	dynamic27.$DOMAINNAME.
228		IN	PTR	dynamic28.$DOMAINNAME.
229		IN	PTR	dynamic29.$DOMAINNAME.
230		IN	PTR	dynamic30.$DOMAINNAME.
 
; Static addresses specified here
$nodeip		IN      PTR     $NODENAME.$DOMAINNAME.

EOF

# Link the files into the right place...
ln -s /var/named/chroot/var/named/$DOMAINNAME.zone /var/named/$DOMAINNAME.zone
ln -s /var/named/chroot/var/named/$net.in-addr.arpa.zone /var/named/$net.in-addr.arpa.zone

if [ "$OS" == "rhel3" ]; then
# RHEL3 uses a real /etc/named.conf rather than a link to the chrooted version
# We need to check for this file and replace it with a link

if [ ! -L /etc/named.conf ]; then
  rm -f /etc/named.conf
  ln -s /var/named/chroot/etc/named.conf /etc/named.conf
fi

fi

# Start up named on boot
chkconfig --level 345 named on

Examples and Testing





Marked up in XHTML - ©2005 Thoughtful Solutions Ltd.