26 lines
734 B
Bash
26 lines
734 B
Bash
#!/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
|
||
}
|