Le site de TechnoLibre n'a qu'une adresse DHCP. Trois adresses fixes sont louees sur un VPS (le relais), qui repond a l'ARP pour elles et les route en /32 dans un tunnel WireGuard que la frontiere initie. Aucune traduction : l'adresse du client arrive intacte. - underlay.py : `tunnel: wireguard` dispense de VLAN ; role d'hote `relais`. - devis_opnsense.py : `opnsense_face_publique`. Les entrees publiques s'y posent avec reply-to ; les sorties des locataires du pool passent par le relais ; une redirection n'y vise plus `wanip`. Le devis de Chezlepro est identique au caractere pres. - appliquer_opnsense.py : replyto et gateway transmis et dans l'identite (seulement s'ils existent) ; le NAT sortant en mode automatic arrete l'application au lieu de dupliquer. - role serveur_relais, inventorie depuis la carte comme un hyperviseur ; cle privee dans la voute du site. Deploye, idempotent. - site_inventaire.py : les hyperviseurs ne sont plus filtres sur 192.168.11. ; site-appliquer charge la voute designee par SETOPS_UNDERLAY ; voute.py n'exige plus d'un locataire un secret du site. - prouver.py : P67 lit le plan par underlay.plan_site() ; P53 couvre la face publique. - Tests : test_underlay_tunnel, test_face_publique_relais, test_mode_nat_sortant. 95 preuves (make verifier), make test passe. CHANGELOG 144 et 145. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
23 lines
789 B
YAML
23 lines
789 B
YAML
---
|
|
- name: Appliquer les reglages noyau du relais
|
|
ansible.builtin.systemd:
|
|
name: systemd-sysctl
|
|
state: restarted
|
|
|
|
- name: Redemarrer systemd-resolved
|
|
ansible.builtin.systemd:
|
|
name: systemd-resolved
|
|
state: restarted
|
|
|
|
# Le tunnel se recree : quelques secondes sans relais, la frontiere se reconnecte d'elle-meme
|
|
# (maintien de connexion toutes les 25 s).
|
|
- name: Redemarrer le tunnel du relais
|
|
ansible.builtin.systemd:
|
|
name: "wg-quick@{{ serveur_relais_interface_tunnel }}"
|
|
state: restarted
|
|
|
|
# `nft -f` remplace le jeu entier d'un coup (`flush ruleset` en tete) : aucun instant sans
|
|
# regle. Le fichier a ete valide (`nft -c`) avant d'etre pose.
|
|
- name: Recharger le pare-feu du relais
|
|
ansible.builtin.command: nft -f /etc/nftables.conf
|
|
changed_when: true
|