configpolicy/roles/named/templates/named.conf.j2

112 lines
2.3 KiB
Django/Jinja

{% macro yesno(val) %}{{ 'yes' if val|bool else 'no' }}{% endmacro %}
options {
{% for listen in named_listen %}
listen-on port {{ listen.port|d(53) }} {
{% for address in listen.addresses %}
{{ address }};
{% endfor %}
};
{% endfor %}
{% for listen in named_listen_v6 %}
listen-on-v6 port {{ listen.port|d(53) }} {
{% for address in listen.addresses %}
{{ address }};
{% endfor %}
};
{% endfor %}
directory "{{ named_directory }}";
dump-file "{{ named_dump_file }}";
statistics-file "{{ named_stats_file }}";
memstatistics-file "{{ named_memstats_file }}";
allow-query {
{% for match in named_allow_query %}
{{ match }};
{% endfor %}
};
{% if named_allow_update %}
allow-update {
{% for match in named_allow_update %}
{{ match }};
{% endfor %}
};
{% endif %}
recursion {{ yesno(named_recursion) }};
minimal-responses yes;
dnssec-enable {{ yesno(named_dnssec) }};
dnssec-validation {{ yesno(named_dnssec_validation) }};
{% if named_forwarders is defined %}
{% if named_forward_only|d|bool %}
forward only;
{% else %}
forward first;
{% endif %}
forwarders {
{% for host in named_forwarders %}
{{ host }};
{% endfor %}
};
{% endif %}
managed-keys-directory "{{ named_managed_keys_dir }}";
pid-file "{{ named_pid_file }}";
session-keyfile "{{ named_session_keyfile }}";
{% if named_keytab is defined %}
tkey-gssapi-keytab "{{ named_keytab }}";
{% endif %}
{% if named_response_policy|d %}
response-policy {
{% for policy in named_response_policy %}
{{ policy }};
{% endfor %}
};
{% endif %}
{% for path in named_options_include %}
include "{{ path }}";
{% endfor %}
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
{% if named_queries_syslog %}
channel queries_syslog {
syslog daemon;
severity info;
};
{% endif %}
{% if named_rpz_syslog %}
channel rpz_syslog {
syslog daemon;
severity info;
};
{% endif %}
{% if named_queries_syslog %}
category queries { queries_syslog; };
{% endif %}
{% if named_rpz_syslog %}
category rpz { rpz_syslog; };
{% endif %}
};
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
include "/etc/named.secrets";
include "/etc/named.zones";
{% for path in named_global_include %}
include "{{ path }}";
{% endfor %}