# # 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.
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
Marked up in XHTML - ©2005 Thoughtful Solutions Ltd.