60 lines
2.5 KiB
YAML
60 lines
2.5 KiB
YAML
---
|
||
# 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/"
|
||
|
||
hosts: all
|
||
|
||
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 }}" |