1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunDAEMON="iptables" 4*4882a593Smuzhiyun 5*4882a593SmuzhiyunIPTABLES_ARGS="" 6*4882a593Smuzhiyun 7*4882a593Smuzhiyunstart() { 8*4882a593Smuzhiyun printf 'Starting %s: ' "$DAEMON" 9*4882a593Smuzhiyun iptables-restore /etc/iptables.conf 10*4882a593Smuzhiyun status=$? 11*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 12*4882a593Smuzhiyun echo "OK" 13*4882a593Smuzhiyun else 14*4882a593Smuzhiyun echo "FAIL" 15*4882a593Smuzhiyun fi 16*4882a593Smuzhiyun return "$status" 17*4882a593Smuzhiyun} 18*4882a593Smuzhiyun 19*4882a593Smuzhiyunstop() { 20*4882a593Smuzhiyun printf 'Stopping %s: ' "$DAEMON" 21*4882a593Smuzhiyun iptables -F 22*4882a593Smuzhiyun status=$? 23*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 24*4882a593Smuzhiyun echo "OK" 25*4882a593Smuzhiyun else 26*4882a593Smuzhiyun echo "FAIL" 27*4882a593Smuzhiyun fi 28*4882a593Smuzhiyun return "$status" 29*4882a593Smuzhiyun} 30*4882a593Smuzhiyun 31*4882a593Smuzhiyunrestart() { 32*4882a593Smuzhiyun stop 33*4882a593Smuzhiyun sleep 1 34*4882a593Smuzhiyun start 35*4882a593Smuzhiyun} 36*4882a593Smuzhiyun 37*4882a593Smuzhiyunsave() { 38*4882a593Smuzhiyun printf 'Saving %s: ' "$DAEMON" 39*4882a593Smuzhiyun iptables-save -f /etc/iptables.conf 40*4882a593Smuzhiyun status=$? 41*4882a593Smuzhiyun if [ "$status" -eq 0 ]; then 42*4882a593Smuzhiyun echo "OK" 43*4882a593Smuzhiyun else 44*4882a593Smuzhiyun echo "SKIP (read-only file system detected)" 45*4882a593Smuzhiyun fi 46*4882a593Smuzhiyun return "$status" 47*4882a593Smuzhiyun} 48*4882a593Smuzhiyun 49*4882a593Smuzhiyuncase "$1" in 50*4882a593Smuzhiyun start|stop|restart|save) 51*4882a593Smuzhiyun "$1";; 52*4882a593Smuzhiyun reload) 53*4882a593Smuzhiyun # Restart, since there is no true "reload" feature. 54*4882a593Smuzhiyun restart;; 55*4882a593Smuzhiyun *) 56*4882a593Smuzhiyun echo "Usage: $0 {start|stop|restart|save|reload}" 57*4882a593Smuzhiyun exit 1 58*4882a593Smuzhiyunesac 59