53 lines
1.2 KiB
Text
53 lines
1.2 KiB
Text
|
#! /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
|