33 lines
761 B
Bash
33 lines
761 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 ]] && return 0
|
||
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
|
||
}
|