52 lines
1.2 KiB
Django/Jinja
52 lines
1.2 KiB
Django/Jinja
#! /bin/sh
|
|
# /etc/init.d/firewall
|
|
#
|
|
# Firewall init script, to be used with /etc/firewall.bash by Jeff Geerling.
|
|
#
|
|
# @author Jeff Geerling
|
|
|
|
### BEGIN INIT INFO
|
|
# Provides: firewall
|
|
# Required-Start: $remote_fs $syslog
|
|
# Required-Stop: $remote_fs $syslog
|
|
# Default-Start: 2 3 4 5
|
|
# Default-Stop: 0 1 6
|
|
# Short-Description: Start firewall at boot time.
|
|
# Description: Enable the firewall.
|
|
### END INIT INFO
|
|
|
|
# Carry out specific functions when asked to by the system
|
|
case "$1" in
|
|
start)
|
|
echo "Starting firewall."
|
|
/etc/firewall.bash
|
|
;;
|
|
stop)
|
|
echo "Stopping firewall."
|
|
iptables -F
|
|
if [ -x "$(which ip6tables 2>/dev/null)" ]; then
|
|
ip6tables -F
|
|
fi
|
|
;;
|
|
restart)
|
|
echo "Restarting firewall."
|
|
/etc/firewall.bash
|
|
;;
|
|
status)
|
|
echo -e "`iptables -L -n`"
|
|
EXIT=4 # program or service status is unknown
|
|
NUMBER_OF_RULES=$(iptables-save | grep '^\-' | wc -l)
|
|
if [ 0 -eq $NUMBER_OF_RULES ]; then
|
|
EXIT=3 # program is not running
|
|
else
|
|
EXIT=0 # program is running or service is OK
|
|
fi
|
|
exit $EXIT
|
|
;;
|
|
*)
|
|
echo "Usage: /etc/init.d/firewall {start|stop|status|restart}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|