Files
Maison/Migration/Ansible/roles/samba4-dc/tasks/dns_config.yml
2026-02-10 12:12:11 +01:00

70 lines
2.5 KiB
YAML

---
# DNS Configuration and Reverse DNS Setup
- name: Wait for Samba DNS to be ready
wait_for:
port: 53
host: 127.0.0.1
delay: 5
timeout: 30
- name: Check if reverse DNS zone already exists
command: >
samba-tool dns zonelist 127.0.0.1
--username=Administrator --password={{ samba_admin_password }}
register: existing_zones
changed_when: false
failed_when: false
- name: Create reverse DNS zone
command: >
samba-tool dns zonecreate 127.0.0.1 100.168.192.in-addr.arpa
--username=Administrator --password={{ samba_admin_password }}
register: reverse_zone
changed_when: reverse_zone.rc == 0
failed_when: reverse_zone.rc != 0 and "already exists" not in reverse_zone.stderr
when: "'100.168.192.in-addr.arpa' not in existing_zones.stdout"
- name: Check existing NS records in reverse zone
command: >
samba-tool dns query 127.0.0.1 100.168.192.in-addr.arpa @ NS
--username=Administrator --password={{ samba_admin_password }}
register: existing_ns_records
changed_when: false
failed_when: false
- name: Add NS record for reverse zone
command: >
samba-tool dns add 127.0.0.1 100.168.192.in-addr.arpa @ NS {{ target_hostname }}.{{ samba_realm }}.
--username=Administrator --password={{ samba_admin_password }}
register: dns_ns_record
changed_when: dns_ns_record.rc == 0
failed_when: dns_ns_record.rc != 0 and "already exists" not in dns_ns_record.stderr
when: "target_hostname + '.' + samba_realm + '.' not in existing_ns_records.stdout"
- name: Get current server IP address for DNS record
shell: |
ip route get 8.8.8.8 | grep -oP 'src \K\S+' | head -1
register: current_server_ip
changed_when: false
- name: Extract host part from IP address
set_fact:
ip_host_part: "{{ current_server_ip.stdout.split('.')[3] }}"
- name: Check existing PTR records in reverse zone
command: >
samba-tool dns query 127.0.0.1 100.168.192.in-addr.arpa {{ ip_host_part }} PTR
--username=Administrator --password={{ samba_admin_password }}
register: existing_ptr_records
changed_when: false
failed_when: false
- name: Add PTR record for reverse zone
command: >
samba-tool dns add 127.0.0.1 100.168.192.in-addr.arpa {{ ip_host_part }} PTR {{ target_hostname }}.{{ samba_realm }}.
--username=Administrator --password={{ samba_admin_password }}
register: dns_ptr_record
changed_when: dns_ptr_record.rc == 0
failed_when: dns_ptr_record.rc != 0 and "already exists" not in dns_ptr_record.stderr
when: "target_hostname + '.' + samba_realm + '.' not in existing_ptr_records.stdout"