changeset 468:8a3c3eb60fdd default tip

Fix IPs on Ubuntu again )hopefully) We need the "auto" line for each alias. Also broke it out into separate files, because it's easier to extend
author IBBoard <dev@ibboard.co.uk>
date Sat, 06 Apr 2024 19:01:04 +0100
parents 9ae251433074
children
files manifests/templates.pp modules/privat/templates/eth0-alias.epp modules/privat/templates/eth0.epp
diffstat 3 files changed, 29 insertions(+), 34 deletions(-) [+]
line wrap: on
line diff
--- a/manifests/templates.pp	Sat Mar 23 19:24:00 2024 +0000
+++ b/manifests/templates.pp	Sat Apr 06 19:01:04 2024 +0100
@@ -97,13 +97,31 @@
 		$ipv6_addresses = Integer[1, 10].map |$octet| { "$proxy_4to6_ip_prefix:$octet" }
 		if $operatingsystem == 'Ubuntu' {
 			# Ubuntu can't parse the existing file, so we need to brute-force it with a template
-			$ipv6_secondaries = join($ipv6_addresses, "\naddress=")
-			file { "/etc/systemd/network/50-ip-alias.network":
-				content => "[Network]\naddress=$ipv6_secondaries\n",
+			file { "/etc/network/interfaces.d/eth0":
+				content => epp('privat/eth0.epp',
+					{
+						default_address => $primary_ip,
+						gateway_address => $gateway_ip,
+					}
+				),
 				notify => Exec["restart_networking"],
 			}
+			# …:1 to …:9 for websites, …:10 for mail
+			Integer[1, 10].each |$octet| {
+				file { "/etc/network/interfaces.d/eth0:$octet":
+					content => epp('privat/eth0-alias.epp',
+						{
+							prefix_address => $proxy_4to6_ip_prefix,
+							octet => $octet,
+						}
+					),
+					notify => Exec["restart_networking"],
+				}
+			}
 		}
 		else {
+			# …:1 to …:9 for websites, …:10 for mail
+			$ipv6_addresses = Integer[1, 10].map |$octet| { "$proxy_4to6_ip_prefix:$octet" }
 			$ipv6_secondaries = join($ipv6_addresses, " ")
 
 			augeas {'IPv6 secondary addresses':
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/privat/templates/eth0-alias.epp	Sat Apr 06 19:01:04 2024 +0100
@@ -0,0 +1,8 @@
+<%- |
+	Stdlib::IP::Address::V6 $prefix_address, # Not a whole IP, but looks like one
+	Integer[0x1,0xFFFF] $octet,
+| -%>
+auto eth0:<%= $octet %>
+iface eth0:<%= $octet %> inet6 static
+   address <%= $prefix_address %>:<%= $octet %>
+   netmask 64
\ No newline at end of file
--- a/modules/privat/templates/eth0.epp	Sat Mar 23 19:24:00 2024 +0000
+++ b/modules/privat/templates/eth0.epp	Sat Apr 06 19:01:04 2024 +0100
@@ -1,7 +1,6 @@
 <%- |
 	Stdlib::IP::Address::V6 $default_address,
 	Stdlib::IP::Address::V6 $gateway_address,
-	Stdlib::IP::Address::V6 $prefix_address, # Not actually an IP, but looks like one
 | -%>
 auto eth0
 no-auto-down eth0
@@ -9,33 +8,3 @@
     address <%= $default_address %>
     netmask 64
     gateway <%= $gateway_address %>
-iface eth0:1 inet6 static
-   address <%= $prefix_address %>:1
-   netmask 64
-iface eth0:2 inet6 static
-   address <%= $prefix_address %>:2
-   netmask 64
-iface eth0:3 inet6 static
-   address <%= $prefix_address %>:3
-   netmask 64
-iface eth0:4 inet6 static
-   address <%= $prefix_address %>:4
-   netmask 64
-iface eth0:5 inet6 static
-   address <%= $prefix_address %>:5
-   netmask 64
-iface eth0:6 inet6 static
-   address <%= $prefix_address %>:6
-   netmask 64
-iface eth0:7 inet6 static
-   address <%= $prefix_address %>:7
-   netmask 64
-iface eth0:8 inet6 static
-   address <%= $prefix_address %>:8
-   netmask 64
-iface eth0:9 inet6 static
-   address <%= $prefix_address %>:9
-   netmask 64
-iface eth0:10 inet6 static
-   address <%= $prefix_address %>:10
-   netmask 64