From 3ddbed1f9f23f52f48778cf21683773a03d2c128 Mon Sep 17 00:00:00 2001 From: sascha Date: Thu, 25 Jun 2026 11:02:32 +0200 Subject: [PATCH] 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 --- roles/vm_net_routes/defaults/main.yml | 15 +++++++++++++++ roles/vm_net_routes/handlers/main.yml | 4 ++++ roles/vm_net_routes/tasks/main.yml | 16 ++++++++++++++++ vm-net-routes.yml | 7 +++++++ 4 files changed, 42 insertions(+) create mode 100644 roles/vm_net_routes/defaults/main.yml create mode 100644 roles/vm_net_routes/handlers/main.yml create mode 100644 roles/vm_net_routes/tasks/main.yml create mode 100644 vm-net-routes.yml diff --git a/roles/vm_net_routes/defaults/main.yml b/roles/vm_net_routes/defaults/main.yml new file mode 100644 index 0000000..75c3661 --- /dev/null +++ b/roles/vm_net_routes/defaults/main.yml @@ -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) diff --git a/roles/vm_net_routes/handlers/main.yml b/roles/vm_net_routes/handlers/main.yml new file mode 100644 index 0000000..03395b0 --- /dev/null +++ b/roles/vm_net_routes/handlers/main.yml @@ -0,0 +1,4 @@ +--- +- name: reactivate nm connection + ansible.builtin.command: nmcli connection up "{{ vm_net_routes_nm_connection }}" + changed_when: false diff --git a/roles/vm_net_routes/tasks/main.yml b/roles/vm_net_routes/tasks/main.yml new file mode 100644 index 0000000..4dc1637 --- /dev/null +++ b/roles/vm_net_routes/tasks/main.yml @@ -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 diff --git a/vm-net-routes.yml b/vm-net-routes.yml new file mode 100644 index 0000000..7211140 --- /dev/null +++ b/vm-net-routes.yml @@ -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