From 3c7a7f7612f155434716d4c1028d20f8fd768415 Mon Sep 17 00:00:00 2001 From: "stephane.david" Date: Sat, 11 Jul 2026 11:49:24 +0200 Subject: [PATCH] add playbook: get_network_config.yml --- get_network_config.yml | 58 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 get_network_config.yml diff --git a/get_network_config.yml b/get_network_config.yml new file mode 100644 index 0000000..6b78eff --- /dev/null +++ b/get_network_config.yml @@ -0,0 +1,58 @@ +--- +# Playbook Ansible : Récupérer la config réseau + DNS, écrire dans un fichier local, puis SFTP +name: Collecte configuration réseau et DNS et upload SFTP + +vars: + # Configuration du serveur SFTP distant (à adapter) + sftp_host: "linuxdev.maison" + sftp_user: "thedarty" + sftp_pass: "St&ph@ne10Nove.@1976" # ou utiliser un secret Ansible Vault + sftp_remote_dir: "/home/thedarty/deploy/" + +tasks: + # ------------------------------------------------------- + # Étape 1 – Récupérer les infos réseau ET DNS du serveur cible + # ------------------------------------------------------- + - name: Collecter la configuration réseau et DNS + shell: | + echo "=== Configuration réseau de {{ inventory_hostname }} ===" > /tmp/config_{{ inventory_hostname }}.txt + hostname >> /tmp/config_{{ inventory_hostname }}.txt + echo "" >> /tmp/config_{{ inventory_hostname }}.txt + + # --- Réseau --- + ip -4 addr show >> /tmp/config_{{ inventory_hostname }}.txt + echo "" >> /tmp/config_{{ inventory_hostname }}.txt + cat /etc/hostname >> /tmp/config_{{ inventory_hostname }}.txt + echo "" >> /tmp/config_{{ inventory_hostname }}.txt + ip route show >> /tmp/config_{{ inventory_hostname }}.txt + + # --- DNS (resolv.conf + systemd-resolved) --- + echo "=== Configuration DNS ===" >> /tmp/config_{{ inventory_hostname }}.txt + cat /etc/resolv.conf >> /tmp/config_{{ inventory_hostname }}.txt + echo "" >> /tmp/config_{{ inventory_hostname }}.txt + resolvectl status >> /tmp/config_{{ inventory_hostname }}.txt 2>&1 || true + + args: + creates: "/tmp/config_{{ inventory_hostname }}.txt" + + # ------------------------------------------------------- + # Étape 2 – (optionnel) Copier le fichier dans un dossier + # dédié pour faciliter la gestion des fichiers + # ------------------------------------------------------- + - name: Placer les fichiers de config dans /var/collected/ + synchronize: + src: "/tmp/config_{{ inventory_hostname }}.txt" + dest: "/var/collected/{{ inventory_hostname }}.txt" + + # ------------------------------------------------------- + # Étape 3 – Uploader le fichier vers le serveur SFTP + # ------------------------------------------------------- + - name: Upload du fichier de config réseau et DNS vers le serveur SFTP + sftp: + host: "{{ sftp_host }}" + username: "{{ sftp_user }}" + password: "{{ sftp_pass }}" + remote_src: yes + mode: "0644" + in_path: "/var/collected/{{ inventory_hostname }}.txt" + remote_dir: "{{ sftp_remote_dir }}" \ No newline at end of file