Added support for DNS views into dns::server and dns::zone.

This commit is contained in:
Timo Mkinen 2012-04-24 14:43:55 +03:00
parent 7083f00454
commit 48ded3a8e7
2 changed files with 93 additions and 42 deletions

View file

@ -4,21 +4,25 @@ chroot="<%= chroot %>"
confdir="<%= confdir %>"
operatingsystem="<%= operatingsystem %>"
cat <<EOF
include "${confdir}/named.conf.local";
include "${confdir}/named.conf.options";
function printview {
view=$1
case $view in
default)
viewdir="${confdir}"
acl="any"
;;
*)
viewdir="${confdir}/${view}"
acl="${view}"
;;
esac
view default {
match-clients { any; };
EOF
echo "view ${view} {"
echo " match-clients { ${acl}; };"
for name in ${chroot}${confdir}/zone.* ; do
echo " include \"${confdir}/`basename ${name}`\";"
done
case $operatingsystem in
OpenBSD)
cat <<EOF
case $operatingsystem in
OpenBSD)
cat <<EOF
zone "." {
type hint;
file "/etc/root.hint";
@ -36,12 +40,12 @@ case $operatingsystem in
file "/standard/loopback6.arpa";
};
EOF
;;
Ubuntu)
echo " include \"${confdir}/named.conf.default-zones\";"
;;
*)
cat <<EOF
;;
Ubuntu)
echo " include \"${confdir}/named.conf.default-zones\";"
;;
*)
cat <<EOF
zone "." {
type hint;
@ -49,10 +53,27 @@ EOF
};
EOF
cat ${chroot}/etc/named.rfc1912.zones | \
sed -e 's%file "%file "/var/named/%' -e 's/^/ /'
;;
esac
cat ${chroot}/etc/named.rfc1912.zones | \
sed -e 's%file "%file "/var/named/%' -e 's/^/ /'
;;
esac
echo "};"
echo ""
for name in ${chroot}${viewdir}/zone.* ; do
echo " include \"${viewdir}/`basename ${name}`\";"
done
echo "};"
echo ""
}
cat <<EOF
include "${confdir}/named.conf.local";
include "${confdir}/named.conf.options";
EOF
for name in ${chroot}/${confdir}/* ; do
[ -d ${name} ] || continue
printview `basename ${name}`
done
printview default