70 lines
2.5 KiB
YAML
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"
|