Implement iptables forward manager core

This commit is contained in:
2026-04-17 09:36:40 +08:00
parent d1a5392476
commit 28960eee03
20 changed files with 2047 additions and 0 deletions

32
lib/persist.sh Normal file
View File

@@ -0,0 +1,32 @@
#!/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
}