Mise en place

Installer le package bind en RPM. Editer le fichier /etc/named.boot pour qu'il ressemble a celui la:


directory                              /var/named
cache           .                      named.ca
primary         0.0.127.in-addr.arpa   master/127.0.0
primary         99.168.192.in-addr.arpa master/192.168.99
primary         cogitec.home             master/cogitec.home
genere le fichier named.conf, avec la commande

/usr/doc/bind-8.2/named-bootconf/named-bootconf < /etc/named.boot >/etc/named.conf
si vous n'avez pas le fichier named-bootconf, le voici. Il s'agit d'un script il faut donc mettre les droits en execution dessus.
#!/bin/sh
# Copyright (c) 1995, 1998 The NetBSD Foundation, Inc.
# All rights reserved.
## Copyright (c) 1999 by Internet Software Consortium
##
## Permission to use, copy, modify, and distribute this software for any
## purpose with or without fee is hereby granted, provided that the above
## copyright notice and this permission notice appear in all copies.

if [ ${OPTIONFILE-X} = X ]; then
	OPTIONFILE=/tmp/.options.`date +%s`.$$
	ZONEFILE=/tmp/.zones.`date +%s`.$$
	COMMENTFILE=/tmp/.comments.`date +%s`.$$
	export OPTIONFILE ZONEFILE COMMENTFILE
	touch $OPTIONFILE $ZONEFILE $COMMENTFILE
	DUMP=1
else
	DUMP=0
fi

while read CMD ARGS; do
	case $CMD in
	\; )
		echo \# $ARGS >>$COMMENTFILE
		;;
	cache )
		set - X $ARGS
		shift
		if [ $# -eq 2 ]; then
			(echo ""
			cat $COMMENTFILE
			echo "zone \"$1\" {"
			echo "	type hint;"
			echo "	file \"$2\";"
			echo "};") >>$ZONEFILE
			rm -f $COMMENTFILE
			touch $COMMENTFILE
		fi
		;;
	directory )
		set - X $ARGS
		shift
		if [ $# -eq 1 ]; then
			(cat $COMMENTFILE
			echo "	directory \"$1\";") >>$OPTIONFILE
			rm -f $COMMENTFILE
			touch $COMMENTFILE

			DIRECTORY=$1
			export DIRECTORY
		fi
		;; 
	forwarders )
		(cat $COMMENTFILE
		echo "	forwarders {"
		for ARG in $ARGS; do
			echo "		$ARG;"
		done
		echo "	};") >>$OPTIONFILE
		rm -f $COMMENTFILE
		touch $COMMENTFILE
		;;
	include )
		if [ "$ARGS" != "" ]; then
			(cd ${DIRECTORY-.}; cat $ARGS) | $0
		fi
		;;
	limit )
		set - X $ARGS
		shift
		if [ $# -eq 2 ]; then
			cat $COMMENTFILE >>$OPTIONFILE
			case $1 in
			datasize | files | transfers-in | transfers-per-ns )
				echo "	$1 $2;" >>$OPTIONFILE
				;;
			esac
			rm -f $COMMENTFILE
			touch $COMMENTFILE
		fi
		;;
	options )
		cat $COMMENTFILE >>$OPTIONFILE
		for ARG in $ARGS; do
			case $ARG in
			fake-iquery )
				echo "	fake-iquery yes;" >>$OPTIONFILE
				;;
			forward-only )
				echo "	forward only;" >>$OPTIONFILE
				;;
			no-fetch-glue )
				echo "	fetch-glue no;" >>$OPTIONFILE
				;;
			no-recursion )
				echo "	recursion no;" >>$OPTIONFILE
				;;
			esac
		done
		rm -f $COMMENTFILE
		touch $COMMENTFILE
		;;
	primary|primary/* )
		case $CMD in
		primary/CHAOS )
			class="chaos "
			;;
		primary/HS )
			class="hesiod "
			;;
		esac
		set - X $ARGS
		shift
		if [ $# -eq 2 ]; then
			(echo ""
			cat $COMMENTFILE
			echo "zone \"$1\" ${class}{"
			echo "	type master;"
			echo "	file \"$2\";"
			echo "};") >>$ZONEFILE
			rm -f $COMMENTFILE
			touch $COMMENTFILE
		fi
		;;
	secondary|secondary/* )
		case $CMD in
		secondary/CHAOS )
			class="chaos "
			;;
		secondary/HS )
			class="hesiod "
			;;
		esac
		set - X $ARGS
		shift
		if [ $# -gt 2 ]; then
			ZONE=$1
			shift
			PRIMARIES=$1
			while [ $# -gt 2 ]; do
				shift
				PRIMARIES="$PRIMARIES $1"
			done
			(echo ""
			cat $COMMENTFILE
			echo "zone \"$ZONE\" ${class}{"
			echo "	type slave;"
			echo "	file \"$2\";"
			echo "	masters {"
			for PRIMARY in $PRIMARIES; do
				echo "		$PRIMARY;"
			done
			echo "	};"
			echo "};") >>$ZONEFILE
			rm -f $COMMENTFILE
			touch $COMMENTFILE
		fi
		;;
	slave )
		cat $COMMENTFILE >>$OPTIONFILE
		echo "	forward only;" >>$OPTIONFILE
		rm -f $COMMENTFILE
		touch $COMMENTFILE
		;;
	sortlist )
		(cat $COMMENTFILE
		echo "	topology {"
		for ARG in $ARGS; do
			case $ARG in
			*.0.0.0 )
				echo "		$ARG/8;"
				;;
			*.0.0 )
				echo "		$ARG/16;"
				;;
			*.0 )
				echo "		$ARG/24;"
				;;
			* )
				echo "		$ARG;"
				;;
			esac
		done
		echo "	};") >>$OPTIONFILE
		rm -f $COMMENTFILE
		touch $COMMENTFILE
		;;
	tcplist | xfrnets )
		(cat $COMMENTFILE
		echo "	allow-transfer {"
		for ARG in $ARGS; do
			case $ARG in
			*.0.0.0 )
				echo "		$ARG/8;"
				;;
			*.0.0 )
				echo "		$ARG/16;"
				;;
			*.0 )
				echo "		$ARG/24;"
				;;
			* )
				echo "		$ARG;"
				;;
			esac
		done
		echo "	};") >>$OPTIONFILE
		rm -f $COMMENTFILE
		touch $COMMENTFILE
		;;
	esac
done

if [ $DUMP -eq 1 ]; then
	echo ""
	echo "options {"
	cat $OPTIONFILE
	echo "};"
	cat $ZONEFILE $COMMENTFILE

	rm -f $OPTIONFILE $ZONEFILE $COMMENTFILE
fi

exit 0
verifier que le fichier /var/named/named.ca ressemble a ceci (les lignes de commentaires ont ete supprimees)

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     198.41.0.10
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129 
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33
ensuite creez le repertoire /var/named/master, qui contiendra les addresses des machines locales. creer le fichier /var/named/master/127.0.0

@       IN      SOA     balou.cogitec.home. postmaster.balou.cogitec.home.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      balou.cogitec.home.

1       IN      PTR     localhost.
creer le fichier /var/named/master/192.168.99

@       IN      SOA     balou.cogitec.home. postmaster.cogitec.home. (
                        199802151 ; Serial, todays date + todays serial
                        8H      ; Refresh
                        2H      ; Retry
                        1W      ; Expire
                        1D)     ; Minimum TTL
                NS      balou.cogitec.home.

1               PTR     balou.cogitec.home.
2               PTR     cogitec2.cogitec.home.
3               PTR     joel1.cogitec.home.
4               PTR     joel2.cogitec.home.
5               PTR     thierry.cogitec.home.
6               PTR     xavier.cogitec.home.
7               PTR     philippe.cogitec.home.
8               PTR     benjamin.cogitec.home.
creer le fichier /var/named/master/cogitec.home

@       IN      SOA     balou.cogitec.home. root.cogitec.home. (
                        199802151       ; serial, todays date + todays serial #
                        8H              ; refresh, seconds
                        2H              ; retry, seconds
                        1W              ; expire, seconds
                        1D )            ; minimum, seconds
;
                NS      balou              ; Inet Address of name server
                MX      10 balou.cogitec.home     ; Primary Mail Exchanger
;
localhost       A       127.0.0.1
balou           A       192.168.99.1
mail            CNAME   balou
news            CNAME   balou
www             CNAME   balou
proxy           CNAME   balou
cogitec2        A       192.168.99.2
joel1           A       192.168.99.3
joel2           A       192.168.99.4
thierry         A       192.168.99.5
xavier          A       192.168.99.6
philippe        A       192.168.99.7
benjamin        A       192.168.99.8
relancer le DNS avec

/etc/rc.d/init.d/named restart