From 5c235db068ae5b604a2a315f8bdbba0e7853a756 Mon Sep 17 00:00:00 2001 From: Jan Tuomi Date: Wed, 2 Jul 2025 22:04:25 +0300 Subject: Restore jail aliases on if up --- templates/usr_local_bin_restore_jail_aliases.sh.j2 | 27 ++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 templates/usr_local_bin_restore_jail_aliases.sh.j2 (limited to 'templates/usr_local_bin_restore_jail_aliases.sh.j2') diff --git a/templates/usr_local_bin_restore_jail_aliases.sh.j2 b/templates/usr_local_bin_restore_jail_aliases.sh.j2 new file mode 100644 index 0000000..25d317f --- /dev/null +++ b/templates/usr_local_bin_restore_jail_aliases.sh.j2 @@ -0,0 +1,27 @@ +#!/bin/sh + +# The point of this script is to restore jail aliases +# if the lan0 interface flaps + +if_lan="lan0" +ipv4_out="$(ifconfig lan0 | grep "inet " | grep -v "0xffffffff")" +ipv4_lan="$(echo "${ipv4_out}" | awk '{ print $2 }')" +ipv4_mask="$(echo "${ipv4_out}" | awk '{ print $4 }')" + +if ! [ "$ipv4_mask" = "0xffff0000" ]; then + >&2 echo "Unexpected netmask on lan0: ${ipv4_mask}" + exit 1 +fi + +jls ip4.addr | while read ip; do + case "$ip" in + "192.168"*) ;; + *) continue ;; + esac + if ifconfig "$if_lan" | grep -q "$ip"; then + continue + fi + + echo "Re-adding $ip to $if_lan" + ifconfig "$if_lan" inet "$ip/32" alias +done -- cgit v1.3