2026-06-24 20:17:46 -04:00
|
|
|
---
|
2026-07-05 00:47:44 -04:00
|
|
|
- name: Définir le fuseau horaire (intrant global fuseau_horaire)
|
2026-06-30 15:36:08 -04:00
|
|
|
community.general.timezone:
|
|
|
|
|
name: "{{ chrony_timezone }}"
|
|
|
|
|
when: chrony_timezone | length > 0
|
|
|
|
|
|
2026-06-24 20:17:46 -04:00
|
|
|
- name: Installer chrony
|
|
|
|
|
ansible.builtin.apt:
|
|
|
|
|
name: chrony
|
|
|
|
|
state: present
|
|
|
|
|
|
|
|
|
|
- name: Activer et démarrer chrony
|
|
|
|
|
ansible.builtin.systemd:
|
|
|
|
|
name: chrony
|
|
|
|
|
enabled: true
|
|
|
|
|
state: started
|
l heure vient de la frontiere : la derniere dependance vivante tombe
Mesure sur les quatorze : aucune sortie TCP vers une adresse publique, apt
par le cache, noms autoritaires en local, unattended-upgrades masked. Et
quatre pairs NTP publics par machine. Le role chrony posait le fuseau et
installait le demon sans jamais toucher a ses sources : le defaut de Debian
tenait depuis le premier jour, herite et jamais choisi.
L autorite est la frontiere, par decision de l exploitant. Elle etait deja
stratum 2 et ecoutait en 123 ; il ne manquait que le passage. 9 anciennes
regles port 123 vers !SETOPS_INTERNES retirees, 9 regles nommees vers
SETOPS_FRONTIERE posees : le changement resserre autant qu il centralise.
Deux chemins parce que la topologie en a deux. Un tenant n atteint pas la
frontiere par sa passerelle de zone — tenue par le SDN — mais par le lien de
transit. Une machine du site a la frontiere pour passerelle directe. Les deux
valeurs sont derivees de l underlay, via reseau_transit() plutot que d un
prefixe d adresse qui aurait menti chez le prochain hebergeur.
La patte face aux tenants manquait a opnsense_if_zones, pour la meme raison
que grappe-controle la veille.
Sonde horloge ecrite en meme temps : synchronisee ET contre la source
DECLAREE. Une machine peut etre parfaitement a l heure contre quatre serveurs
publics — c est exactement l etat d avant.
14 tenant + 7 site, toutes disciplinees, sources publiques = 0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-11 12:08:13 -04:00
|
|
|
|
|
|
|
|
# LE DROP-IN AJOUTE, IL NE RETIRE PAS. `/etc/chrony/conf.d/` est lu EN PLUS du fichier
|
|
|
|
|
# principal : y declarer notre serveur sans neutraliser le `pool` de Debian laisserait la
|
|
|
|
|
# machine avec cinq sources, dont quatre sur Internet. On aurait alors centralise
|
|
|
|
|
# l'horloge en apparence et change strictement rien a la dependance.
|
|
|
|
|
- name: Retirer le pool public du fichier principal
|
|
|
|
|
ansible.builtin.replace:
|
|
|
|
|
path: "{{ chrony_conf }}"
|
|
|
|
|
regexp: '^(\s*(?:pool|server)\s+\S*(?:debian|ntp)\.(?:pool\.)?(?:ntp\.)?org.*)$'
|
|
|
|
|
replace: '# \1 # neutralise par Set-OPS : l horloge vient de la frontiere'
|
|
|
|
|
notify: Restart chrony
|
|
|
|
|
when: chrony_serveurs | length > 0
|
|
|
|
|
|
|
|
|
|
- name: Déclarer la frontière comme source de temps
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: setops.conf.j2
|
|
|
|
|
dest: "{{ chrony_conf_setops }}"
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0644"
|
|
|
|
|
notify: Restart chrony
|
|
|
|
|
when: chrony_serveurs | length > 0
|
|
|
|
|
|
|
|
|
|
# DEPOSEE ICI, DECLAREE PAR LE GROUPE `serveur_debian` — la derivation de supervision ne
|
|
|
|
|
# traverse pas les roles-taches. Meme lecon que `correctifs` et `audit`.
|
2026-09-13 23:43:46 -04:00
|
|
|
# CE ROLE ECRIVAIT SA SONDE SANS CREER LE REPERTOIRE (2026-09-13). Vingt-trois roles sur
|
|
|
|
|
# vingt-cinq l'assurent avant d'y deposer quoi que ce soit ; `auditd` et `chrony` etaient
|
|
|
|
|
# les deux exceptions, et ils s'en tiraient parce qu'un role plus precoce l'avait cree.
|
|
|
|
|
#
|
|
|
|
|
# UNE DEPENDANCE D'ORDRE QUI N'EST ECRITE NULLE PART. Elle tient tant que la couche
|
|
|
|
|
# complete passe dans l'ordre habituel, et elle casse des qu'on applique un groupe SEUL :
|
|
|
|
|
#
|
|
|
|
|
# Destination directory /usr/local/lib/setops/sondes does not exist
|
|
|
|
|
#
|
|
|
|
|
# Mesure sur une flotte neuve : treize machines l'avaient, une ne l'avait pas. Rien ne
|
|
|
|
|
# distinguait la quatorzieme, sinon l'ordre dans lequel les taches l'avaient atteinte.
|
|
|
|
|
- name: Assurer le repertoire des sondes de supervision
|
|
|
|
|
ansible.builtin.file:
|
|
|
|
|
path: /usr/local/lib/setops/sondes
|
|
|
|
|
state: directory
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0755"
|
|
|
|
|
|
l heure vient de la frontiere : la derniere dependance vivante tombe
Mesure sur les quatorze : aucune sortie TCP vers une adresse publique, apt
par le cache, noms autoritaires en local, unattended-upgrades masked. Et
quatre pairs NTP publics par machine. Le role chrony posait le fuseau et
installait le demon sans jamais toucher a ses sources : le defaut de Debian
tenait depuis le premier jour, herite et jamais choisi.
L autorite est la frontiere, par decision de l exploitant. Elle etait deja
stratum 2 et ecoutait en 123 ; il ne manquait que le passage. 9 anciennes
regles port 123 vers !SETOPS_INTERNES retirees, 9 regles nommees vers
SETOPS_FRONTIERE posees : le changement resserre autant qu il centralise.
Deux chemins parce que la topologie en a deux. Un tenant n atteint pas la
frontiere par sa passerelle de zone — tenue par le SDN — mais par le lien de
transit. Une machine du site a la frontiere pour passerelle directe. Les deux
valeurs sont derivees de l underlay, via reseau_transit() plutot que d un
prefixe d adresse qui aurait menti chez le prochain hebergeur.
La patte face aux tenants manquait a opnsense_if_zones, pour la meme raison
que grappe-controle la veille.
Sonde horloge ecrite en meme temps : synchronisee ET contre la source
DECLAREE. Une machine peut etre parfaitement a l heure contre quatre serveurs
publics — c est exactement l etat d avant.
14 tenant + 7 site, toutes disciplinees, sources publiques = 0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Crgis8CxCWkAGFA1ecBz3q
2026-09-11 12:08:13 -04:00
|
|
|
- name: Deposer la sonde d'horloge
|
|
|
|
|
ansible.builtin.template:
|
|
|
|
|
src: sonde-horloge.sh.j2
|
|
|
|
|
dest: /usr/local/lib/setops/sondes/horloge.sh
|
|
|
|
|
owner: root
|
|
|
|
|
group: root
|
|
|
|
|
mode: "0750"
|