iptables/arptables-nft-helper

74 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

#!/bin/sh
2020-04-28 09:36:42 +00:00
ARPTABLES_CONFIG=/etc/sysconfig/arptables
# compat for removed initscripts dependency
2020-04-28 09:36:42 +00:00
success() {
echo "[ OK ]"
return 0
}
failure() {
echo "[FAILED]"
return 1
2020-04-28 09:36:42 +00:00
}
start() {
if [ ! -x /usr/sbin/arptables ]; then
exit 4
fi
# don't do squat if we don't have the config file
if [ -f $ARPTABLES_CONFIG ]; then
printf "Applying arptables firewall rules: "
2020-04-28 09:36:42 +00:00
/usr/sbin/arptables-restore < $ARPTABLES_CONFIG && \
success || \
failure
touch /var/lock/subsys/arptables
else
failure
echo "Configuration file /etc/sysconfig/arptables missing"
2020-04-28 09:36:42 +00:00
exit 6
fi
}
stop() {
printf "Removing user defined chains: "
arptables -X && success || failure
printf "Flushing all chains: "
arptables -F && success || failure
printf "Resetting built-in chains to the default ACCEPT policy: "
2020-04-28 09:36:42 +00:00
arptables -P INPUT ACCEPT && \
arptables -P OUTPUT ACCEPT && \
success || \
failure
rm -f /var/lock/subsys/arptables
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
# "restart" is really just "start" as this isn't a daemon,
# and "start" clears any pre-defined rules anyway.
# This is really only here to make those who expect it happy
start
;;
condrestart|try-restart|force-reload)
[ -e /var/lock/subsys/arptables ] && start
;;
*)
exit 2
esac
exit 0