Added support for DNS views into dns::server and dns::zone.
This commit is contained in:
parent
7083f00454
commit
48ded3a8e7
2 changed files with 93 additions and 42 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue