update named from gigacoms

This commit is contained in:
a.kazantsev 2026-07-10 12:23:46 +03:00
parent baad60400d
commit 53be774189
2 changed files with 50 additions and 17 deletions

View file

@ -78,13 +78,19 @@
check_mode: false
tags: bind
- name: Выполнение rndc sync -clean
ansible.builtin.command:
cmd: "rndc sync -clean"
register: rndc_output
changed_when: true # rndc всегда возвращает rc=0 без явного указания изменений
# file to set keys for XFR authentication
- name: Create extra config for authenticated XFR request
ansible.builtin.template:
src: auth_transfer.j2
dest: "{{ named_conf_dir }}/{{ named_auth_filename }}"
mode: "0640"
owner: root
owner: "{{ named_owner }}"
group: "{{ named_group }}"
become: true
when: named_dns_keys is defined and named_dns_keys|length > 0
@ -99,15 +105,21 @@
ansible.builtin.template:
src: etc_named.conf.j2
dest: "{{ named_config }}"
owner: "{{ named_owner }}"
owner: root
group: "{{ named_group }}"
mode: "0640"
setype: named_conf_t
# validate: named-checkconf %s
validate: named-checkconf %s
become: true
notify: Reload bind
tags: bind
- name: Disable IPv6
ansible.builtin.lineinfile:
path: /etc/sysconfig/named
line: 'OPTIONS="-4"'
state: present
- name: Start BIND service
ansible.builtin.service:
name: "{{ named_service }}"
@ -116,9 +128,14 @@
become: true
tags: bind
# - name: Permit DNS traffic in firewalld
# ansible.posix.firewalld:
# service: dns
# permanent: true
# state: enabled
# immediate: true
- name: Set crypto policy to LEGACY via command line
ansible.builtin.command: update-crypto-policies --set LEGACY
register: policy_update
changed_when: "'Setting system policy to LEGACY' in policy_update.stdout"
- name: Permit DNS traffic in firewalld
ansible.posix.firewalld:
service: dns
permanent: true
state: enabled
immediate: true

View file

@ -18,6 +18,15 @@ options {
{% for port in named_listen_ipv6_port %}
listen-on-v6 port {{ port }} { {{ named_listen_ipv6|join('; ') }}; };
{% endfor %}
max-cache-size 2048m;
minimal-responses no;
// Увеличиваем лимиты на количество записей одного типа для одного имени
max-records-per-type 10000;
// Увеличиваем общий лимит записей на одно имя (на всякий случай)
max-types-per-name 100;
// Отключает отправку и строгую проверку EDNS Cookies
send-cookie no;
answer-cookie no;
directory "{{ named_dir }}";
dump-file "{{ named_dir }}/data/cache_dump.db";
statistics-file "{{ named_dir }}/data/named_stats.txt";
@ -32,13 +41,16 @@ options {
recursion {% if named_recursion %}yes{% else %}no{% endif %};
{% if named_recursion %}allow-recursion { {{ named_allow_recursion|join('; ') }}; };
recursive-clients {{ named_recursive_clients }};
{% endif %}
{% if named_forwarders|length > 0 %}forwarders { {{ named_forwarders|join('; ') }}; };{% endif %}
{% if named_forward_only %}forward only;{% endif %}
// edns-udp-size 1220;
// max-udp-size 1220;
rrset-order { order {{ named_rrset_order }}; };
{% if named_dnssec_enable %} dnssec-enable {{ named_dnssec_enable }};{% endif %}
// dnssec-enable is depricated
//{% if named_dnssec_enable %} dnssec-enable {{ named_dnssec_enable }};{% endif %}
dnssec-validation {{ named_dnssec_validation }};
@ -50,7 +62,6 @@ options {
pid-file "{{ named_pid_file }}";
session-keyfile "{{ named_session_keyfile }}";
{% if named_query_log is defined %}
querylog yes;
{% endif %}
{% if named_dns64 %}
@ -60,6 +71,9 @@ options {
{% endif %}
};
// disable ipv6 queries
server ::/0 { bogus yes; };
{% if named_statistics_channels %}
statistics-channels {
inet {{ named_statistics_host }} port {{ named_statistics_port }} allow { {{ named_statistics_allow|join('; ') }}; };
@ -68,7 +82,7 @@ statistics-channels {
logging {
channel default_debug {
file "{{ named_log }}";
file "{{ named_log }}" versions 5 size 10m;
severity dynamic;
print-time yes;
};
@ -79,7 +93,7 @@ logging {
{% else %}
file "{{ named_query_log }}" versions 600 size 20m;
{% endif %}
severity dynamic;
severity debug 1;
print-time yes;
};
category queries { querylog; };
@ -89,10 +103,12 @@ logging {
{% for log in named_other_logs %}
channel {{ log.name }} {
file "{{ log.file }}" versions {{ log.versions }} size {{ log.size }};
severity dynamic;
severity debug 1;
print-time yes;
};
category "{{ log.name }}" { "{{ log.name }}"; };
{% endfor %}
{% endif %}
};
@ -133,7 +149,7 @@ zone "{{ named_zone.name }}" IN {
also-notify { {{ named_zone.also_notify|join('; ') }}; };
{% endif %}
{% if named_zone.allow_update is defined %}
allow-update { {{ named_zone.allow_update|join('; ') }}; };
allow-update { {{ named_zone.allow_update|join('; ') }} };
{% else %}
allow-update { none; };
{% endif %}
@ -156,7 +172,7 @@ zone "{{ named_zone.name }}" IN {
also-notify { {{ named_zone.also_notify|join('; ') }}; };
{% endif %}
{% if named_zone.certbot_key is defined %}
update-policy { grant {{ named_zone.certbot_key }} zonesub TXT; };
update-policy { grant {{ named_zone.certbot_key }} name _acme-challenge.{{ named_zone.name }}. txt; };
{% endif %}
{% if named_zone.allow_update is defined %}
allow-update { {{ named_zone.allow_update|join('; ') }}; };