29 lines
456 B
Bash
29 lines
456 B
Bash
# vim: set ft=sh :
|
|
|
|
(
|
|
RULESET=/var/lib/dhcpcd/outside-address.ruleset
|
|
|
|
|
|
reload_nftables() {
|
|
systemctl reload nftables
|
|
}
|
|
|
|
|
|
write_ruleset() {
|
|
install -d "${RULESET%/*}"
|
|
printf 'define outside_address = %s\n' "${new_ip_address}" \
|
|
> "${RULESET}"
|
|
}
|
|
|
|
|
|
if [ -n "${new_ip_address}" ]; then
|
|
if [ ! -f "${ruleset}" ]; then
|
|
write_ruleset
|
|
reload_nftables
|
|
elif [ "${new_ip_address}" != "${old_ip_address}" ]; then
|
|
write_ruleset
|
|
reload_nftables
|
|
fi
|
|
fi
|
|
)
|