From 52ce3735924e30c4c7aa4e1653a763d15383738f Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 15 Mar 2023 10:56:54 +0100 Subject: [PATCH 1/3] Create interfaces.d directory --- tasks/main.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tasks/main.yml b/tasks/main.yml index 2de67b5..dd56878 100644 --- a/tasks/main.yml +++ b/tasks/main.yml @@ -70,6 +70,12 @@ tags: - networking +- name: ensure interfaces.d directory exists + file: + path: /etc/network/interfaces.d + state: directory + when: wanted_ip4 is defined or wanted_ip6 is defined + - name: configure watchdog template: src: watchdog.conf.j2 From 1e07ab7d7bc53b5b3d5d5c4a51fac488494246ca Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Wed, 15 Mar 2023 19:15:47 +0100 Subject: [PATCH 2/3] New bridged_network option --- tasks/pkg_Alpine.yml | 9 +++++++++ templates/networking.j2 | 14 +++++++++++--- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/tasks/pkg_Alpine.yml b/tasks/pkg_Alpine.yml index b7e6e9b..1cf5e7c 100644 --- a/tasks/pkg_Alpine.yml +++ b/tasks/pkg_Alpine.yml @@ -51,6 +51,15 @@ tags: - pkg +- name: install bridge (alpine) + apk: + name: + - bridge + state: present + when: bridged_network is defined + tags: + - pkg + - name: install ssmtp (alpine) apk: name: diff --git a/templates/networking.j2 b/templates/networking.j2 index afda18f..20375fc 100644 --- a/templates/networking.j2 +++ b/templates/networking.j2 @@ -7,15 +7,23 @@ iface lo inet loopback # The main interface auto eth0 +{% if bridged_network is defined and bridged_network %} +auto br0 +iface br0 + requires eth0 + bridge-ports eth0 + bridge-fd 0 + bridge-stp off +{% else %} +iface eth0 +{% endif %} {% if wanted_ip4 is defined %} -iface eth0 inet static address {{ wanted_ip4 }}/24 gateway {{ local_network.gateway }} {% else %} -iface eth0 inet dhcp + use dhcp {% endif %} {% if wanted_ip6 is defined %} -iface eth0 inet6 static {% if local_network.gateway6 is defined %} address {{ wanted_ip6 }}/64 gateway {{ local_network.gateway6 }} From 71b1658ce17f5ee440095b6a69707aa7b74b3e1d Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sat, 25 Mar 2023 16:10:46 +0100 Subject: [PATCH 3/3] Can precise interfaces in bridged network --- templates/networking.j2 | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/templates/networking.j2 b/templates/networking.j2 index 20375fc..f2dd825 100644 --- a/templates/networking.j2 +++ b/templates/networking.j2 @@ -10,8 +10,8 @@ auto eth0 {% if bridged_network is defined and bridged_network %} auto br0 iface br0 - requires eth0 - bridge-ports eth0 + requires eth0{% if bridged_network != "true" %} {{ bridged_network }}{% endif +%} + bridge-ports eth0{% if bridged_network != "true" %} {{ bridged_network }}{% endif +%} bridge-fd 0 bridge-stp off {% else %} @@ -27,7 +27,11 @@ iface eth0 {% if local_network.gateway6 is defined %} address {{ wanted_ip6 }}/64 gateway {{ local_network.gateway6 }} + {% if bridged_network is defined and bridged_network %} + up echo 0 > /proc/sys/net/ipv6/conf/br0/accept_ra + {% else %} pre-up echo 0 > /proc/sys/net/ipv6/conf/eth0/accept_ra + {% endif %} {% else %} address {{ wanted_ip6 }}/128 post-up ip addrlabel add prefix {{ wanted_ip6 }}/64 label 99