Role ipt-server: allow IPv6-only overrides of shared variables; migrate nd, oolm-shop, web-01, web0.

Shared variables (and fw_ext_interfaces / fw_local_interfaces) can now be
overridden for IPv6 via <name>_v6. extract-fw-host-vars.py emits these
overrides when the IPv4 and IPv6 configs differ, instead of a warning.

Add host_vars for nd.warenform.de, oolm-shop.oopen.de, web-01.oopen.de
and web0.warenform.de (fw_manage_config: true).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-03 00:50:03 +01:00
co-authored by Claude Opus 5.5
parent fe2e749b63
commit 3d6840ef3a
8 changed files with 320 additions and 123 deletions
@@ -1,5 +1,8 @@
#!/usr/bin/env bash
# {{ ansible_managed }}
{# IPv6 interface lists default to the IPv4 ones; override with fw_*_interfaces_v6. #}
{% set ext_interfaces_v6 = fw_ext_interfaces_v6 | default(fw_ext_interfaces) %}
{% set local_interfaces_v6 = fw_local_interfaces_v6 | default(fw_local_interfaces) %}
# -------------
@@ -8,11 +11,11 @@
# - External interface(s)
#
ext_if_1="{{ fw_ext_interfaces[0] if fw_ext_interfaces | length >= 1 else '' }}"
ext_if_2="{{ fw_ext_interfaces[1] if fw_ext_interfaces | length >= 2 else '' }}"
ext_if_3="{{ fw_ext_interfaces[2] if fw_ext_interfaces | length >= 3 else '' }}"
ext_if_1="{{ ext_interfaces_v6[0] if ext_interfaces_v6 | length >= 1 else '' }}"
ext_if_2="{{ ext_interfaces_v6[1] if ext_interfaces_v6 | length >= 2 else '' }}"
ext_if_3="{{ ext_interfaces_v6[2] if ext_interfaces_v6 | length >= 3 else '' }}"
ext_ifs="{{ fw_ext_interfaces | join(' ') }}"
ext_ifs="{{ ext_interfaces_v6 | join(' ') }}"
# - VPN Interfaces
@@ -26,11 +29,11 @@ wg_ifs="{{ fw_wg_ifs }}"
# - Local Interfaces
local_if_1="{{ fw_local_interfaces[0] if fw_local_interfaces | length >= 1 else '' }}"
local_if_2="{{ fw_local_interfaces[1] if fw_local_interfaces | length >= 2 else '' }}"
local_if_3="{{ fw_local_interfaces[2] if fw_local_interfaces | length >= 3 else '' }}"
local_if_1="{{ local_interfaces_v6[0] if local_interfaces_v6 | length >= 1 else '' }}"
local_if_2="{{ local_interfaces_v6[1] if local_interfaces_v6 | length >= 2 else '' }}"
local_if_3="{{ local_interfaces_v6[2] if local_interfaces_v6 | length >= 3 else '' }}"
local_ifs="{{ fw_local_interfaces | join(' ') }}"
local_ifs="{{ local_interfaces_v6 | join(' ') }}"
# -------------