From 15ad2c5ab72edae29d02832e2c30a11ef1062f93 Mon Sep 17 00:00:00 2001 From: Thomas Oettli Date: Wed, 6 Aug 2025 18:41:15 +0200 Subject: [PATCH] re-organize config and add options for adding/deleting zones --- config.sh | 73 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 59 insertions(+), 14 deletions(-) diff --git a/config.sh b/config.sh index e461143..be35e04 100644 --- a/config.sh +++ b/config.sh @@ -1,19 +1,8 @@ #!/usr/bin/env bash -# -# IP address of the DNS server -# -#DNS_IP="127.0.0.1" - -# -# Associative array containing path to key files used for zone transfer and DDNS updates. -# The key has to be in on of the following forms: -# - VIEW -# - ZONE@VIEW -# -#DNS_KEYS=( -# [_default]="/etc/bind/rndc.key" -#) +#################### +## Global options ## +#################### # # Paths to external binaries @@ -33,3 +22,59 @@ # #TABLE_HEADER_COLOR="red" #TERMINAL_WITH=$(/usr/bin/tput cols) + + +############################## +## Options for DDNS updates ## +############################## + +# +# IP address of the DNS server (default is 127.0.0.1) +# +#DNS_IP="127.0.0.1" + +# +# Asociative array of paths to key files (TSIG) per view used for zone transfers +# and DDNS updates. This option mandatory when using views other than the default view. +# The keys have to be in one of these forms: +# - VIEW +# - ZONE@VIEW +# +#DNS_KEYS=( +# [_default]="/etc/bind/rndc.key" +#) + + +####################################### +## Options for adding/removing zones ## +####################################### + +# +# Optional control key used to run "rndc reconfig" after adding or deleting zones. +# Otherwise the rndc default key is used. +# +#CONTROL_KEY="/etc/bind/rndc.key" + +# +# Associative array of config values per view. This option is mandatory when adding +# or removing zones. The syntax of the value is: +# ZONEDIR:CONFDIR:CFGFILE +# +# Zone files are stored in ZONEDIR and config files are stored in CONFDIR. +# The content of all config files in CONFDIR are concatenated and written to CFGFILE which +# has to be included by "named.conf". +# The detour via CONFDIR is necessary because Bind does not support wildcards when +# including config files. +# +#ZONE_DIRS=( +# [_default]="/etc/bind/dyn:/etc/dns-manager/default.zones:/etc/bind/default_zones.conf" +#) + +# +# Optional associative array of templates per view used when adding new zones. +# The syntax of the value is: +# ZONE_TEMPLATE:CONF_TEMPLATE +# +#ZONE_TEMPLATES=( +# [_default]="/etc/dns-manager/templates/zone.template:/etc/dns-manager/templates/zone.config.template" +#)