#!/usr/bin/env bash if [[ -n ${IPF_PERSIST_SH_LOADED:-} ]]; then return 0 fi IPF_PERSIST_SH_LOADED=1 : "${NETFILTER_PERSISTENT_BIN:=netfilter-persistent}" : "${IPF_SKIP_PERSIST:=0}" persist_available() { [[ ${IPF_SKIP_PERSIST} == 1 ]] || command_is_available "${NETFILTER_PERSISTENT_BIN}" } persist_save() { [[ ${IPF_SKIP_PERSIST} == 1 ]] && return 0 persist_available || { log_err '未找到 netfilter-persistent,无法保存规则。'; return 1; } "${NETFILTER_PERSISTENT_BIN}" save >/dev/null } persist_reload() { [[ ${IPF_SKIP_PERSIST} == 1 ]] && return 0 persist_available || { log_err '未找到 netfilter-persistent,无法重载规则。'; return 1; } "${NETFILTER_PERSISTENT_BIN}" reload >/dev/null }