Pin Athena LAN interface by permanent MAC

This commit is contained in:
Mikei386
2026-08-23 07:04:48 +02:00
parent 2ef894160a
commit 0887e4ba90
6 changed files with 77 additions and 6 deletions
+46
View File
@@ -70,6 +70,51 @@ install_base_packages() {
iproute2 pciutils rsync unattended-upgrades ethtool
}
setup_stable_network_name() {
local mac=${PRIMARY_NETWORK_MAC:-}
local desired=${PERSISTENT_NETWORK_NAME:-}
[[ -n $mac && -n $desired ]] || return 0
[[ $mac =~ ^([[:xdigit:]]{2}:){5}[[:xdigit:]]{2}$ ]] || \
die "PRIMARY_NETWORK_MAC ist ungültig: $mac"
[[ $desired =~ ^[a-zA-Z0-9_.-]+$ ]] || \
die "PERSISTENT_NETWORK_NAME ist ungültig: $desired"
mac=${mac,,}
local current="" path
for path in /sys/class/net/*; do
[[ -f $path/address ]] || continue
if [[ $(<"$path/address") == "$mac" ]]; then
current=${path##*/}
break
fi
done
[[ -n $current ]] || die "Keine Netzwerkkarte mit permanenter MAC $mac gefunden."
log "Stabilen Netzwerknamen $desired für $mac konfigurieren"
install -d -m 0755 /etc/systemd/network
cat >/etc/systemd/network/10-athena-lan.link <<EOF
[Match]
PermanentMACAddress=$mac
[Link]
Name=$desired
EOF
chmod 0644 /etc/systemd/network/10-athena-lan.link
if [[ $current != "$desired" ]]; then
[[ -f /etc/network/interfaces ]] || \
die "/etc/network/interfaces fehlt; sichere automatische Umstellung nicht möglich."
cp -a /etc/network/interfaces \
"/etc/network/interfaces.before-stable-name-$(date +%Y%m%d-%H%M%S)"
sed -i "s/\\<$current\\>/$desired/g" /etc/network/interfaces
grep -q "^iface $desired inet " /etc/network/interfaces || \
die "Netzwerkprofil wurde nicht auf $desired umgestellt."
log "Netzwerkname wird beim nächsten Boot von $current auf $desired geändert."
log "Bitte neu starten und denselben Installer danach erneut ausführen."
exit 21
fi
}
setup_remote_recovery() {
log "Remote-Recovery (Hardware-Watchdog und Wake-on-LAN) konfigurieren"
@@ -481,6 +526,7 @@ PY
hostnamectl set-hostname "$AI_HOSTNAME"
install_base_packages
setup_stable_network_name
setup_remote_recovery
setup_ssh_hardening
install_docker