vm_net_routes-Rolle: statische Routen physischer Hosts in die VM-Netze

Physische Hosts (10.5.85.x) erreichen die VM-internen Netze 10.X.1.0/24 nicht -
die liegen auf vmbr0 der Nodes ohne physische NIC-Bindung. Routen via jeweiligem
Node (10.1.1->node1 ... 10.7.1->node7) persistent ueber NetworkManager gesetzt.

Pi 'butler' erreicht damit den Butler-Dienst (10.4.1.116:8888) - /vm/list verifiziert.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
sascha 2026-06-25 11:02:32 +02:00
parent 94c58a80ce
commit 3ddbed1f9f
4 changed files with 42 additions and 0 deletions

View file

@ -0,0 +1,15 @@
---
# Statische Routen von physischen Hosts (10.5.85.x) in die VM-internen Netze.
# Die VM-Netze 10.X.1.0/24 liegen auf vmbr0 des jeweiligen Proxmox-Nodes (ohne
# physische NIC-Bindung) - erreichbar nur ueber den Node, auf dem sie laufen.
# NetworkManager-Connection, an die die Routen gehaengt werden:
vm_net_routes_nm_connection: "Wired connection 1"
vm_net_routes:
- { dest: "10.1.1.0/24", via: "10.5.85.11" } # node1
- { dest: "10.2.1.0/24", via: "10.5.85.12" } # node2
- { dest: "10.3.1.0/24", via: "10.5.85.13" } # node3
- { dest: "10.4.1.0/24", via: "10.5.85.14" } # node4 (Butler, n8n, dockhand, matrix)
- { dest: "10.5.1.0/24", via: "10.5.85.15" } # node5
- { dest: "10.6.1.0/24", via: "10.5.85.15" } # node5 (emby-sascha)
- { dest: "10.7.1.0/24", via: "10.5.85.17" } # node7 (chris-Stacks)

View file

@ -0,0 +1,4 @@
---
- name: reactivate nm connection
ansible.builtin.command: nmcli connection up "{{ vm_net_routes_nm_connection }}"
changed_when: false

View file

@ -0,0 +1,16 @@
---
# Setzt statische Routen in die VM-Netze persistent via NetworkManager.
# Idempotent: nmcli +ipv4.routes mit identischer Liste aendert nichts.
- name: Routen-Liste fuer nmcli zusammenbauen
set_fact:
vm_net_routes_str: "{{ vm_net_routes | map(attribute='dest') | zip(vm_net_routes | map(attribute='via')) | map('join', ' ') | join(', ') }}"
- name: VM-Netz-Routen an NetworkManager-Connection setzen
community.general.nmcli:
conn_name: "{{ vm_net_routes_nm_connection }}"
type: ethernet
routes4: "{{ vm_net_routes | map(attribute='dest') | zip(vm_net_routes | map(attribute='via')) | map('join', ' ') | list }}"
state: present
register: nmcli_result
notify: reactivate nm connection

7
vm-net-routes.yml Normal file
View file

@ -0,0 +1,7 @@
---
# Statische Routen in die VM-Netze fuer physische Hosts (Pi etc.) im 10.5.85.x-Netz.
- name: VM-Netz-Routen
hosts: ai
become: yes
roles:
- vm_net_routes