Primi passaggi di correzione; playbook ancora da testare.

This commit is contained in:
Emiliano Vavassori 2025-07-13 20:53:27 +02:00
commit a8529d4f72
6 changed files with 88 additions and 0 deletions

View file

@ -0,0 +1,49 @@
---
# Sistemiamo la ricerca per dominio, che potrebbe essere a ramengo.
- name: Individuiamo l'interfaccia di rete nativa
ansible.builtin.set_fact:
nic: "{{ ansible_default_ipv4.interface }}"
- name: Identifichiamo il profilo di connessione di NetworkManager
ansible.builtin.shell: >-
set -o pipefail;
nmcli connection | awk -F" " "/{{ nic }}/ { print $1 }'
args:
executable: /bin/bash
register: nm_connection
- name: Forziamo il dominio di ricerca sulla connessione
ansible.builtin.command: >-
nmcli connection modify "{{ nm_connection.stdout|trim }}"
ipv4.dns-search {{ domain }}
- name: Forziamo temporaneamente per questa sessione il dominio di ricerca
ansible.builtin.command: >-
resolvectl domain {{ nic }} {{ domain }}
# Assumiamo che il server DNS inserito risolva il dominio.
# Consultiamo il DNS per ricevere informazioni sul domain controller.
- name: Determiniamo il nome del domain controller
ansible.builtin.shell: >-
set -o pipeline;
dig +short _ldap._tcp.{{ domain }} SRV | cut -d' ' -f 4 | sed -e 's/\.$//'
args:
executable: /bin/bash
register: dcname
- name: Determiniamo l'IP del domain controller
ansible.builtin.command: dig +short {{ dcname.stdout | trim }}.
register: dcipaddr
- name: Impostiamo qualche fact
ansible.builtin.set_fact:
dc.name: "{{ dcname.stdout | trim }}"
dc.shortname: "{{ dc.name.split('.')[0] }}"
dc.ipaddr: "{{ dcipaddr | trim }}"
- name: Verifichiamo che il PC effettivamente risolva gli shortname
ansible.builtin.command: dig +short {{ dc.shortname }}
register: check_shortnames
failed_when: check_shortnames.stdout|trim != {{ dc.ipaddr }}