#!/bin/bash # # init script for the arptables # # Original by Dag Wieers . # Modified/changed to arptables by # Rok Papez . # # chkconfig: - 16 84 # description: Arp filtering tables # # config: /etc/sysconfig/arptables source /etc/init.d/functions source /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -x /sbin/arptables ] || exit 1 [ -x /sbin/arptables-save ] || exit 1 [ -x /sbin/arptables-restore ] || exit 1 [ "$1" == "save" -o -r /etc/sysconfig/arptables ] || exit 1 RETVAL=0 prog="arptables" desc="Arp filtering" start() { echo -n $"Starting $desc ($prog): " /sbin/arptables-restore < /etc/sysconfig/arptables || RETVAL=1 if [ $RETVAL -eq 0 ]; then success "$prog startup" rm -f /var/lock/subsys/$prog else failure "$prog startup" fi echo return $RETVAL } stop() { echo -n $"Stopping $desc ($prog): " /sbin/arptables-restore < /dev/null || RETVAL=1 if [ $RETVAL -eq 0 ]; then success "$prog shutdown" rm -f %{_localstatedir}/lock/subsys/$prog else failure "$prog shutdown" fi echo return $RETVAL } restart() { stop start } save() { echo -n $"Saving $desc ($prog): " /sbin/arptables-save > /etc/sysconfig/arptables || RETVAL=1 if [ $RETVAL -eq 0 ]; then success "$prog saved" else failure "$prog saved" fi echo } case "$1" in start) start ;; stop) stop ;; restart|reload) restart ;; condrestart) [ -e /var/lock/subsys/$prog ] && restart RETVAL=$? ;; save) save ;; status) /sbin/arptables-save RETVAL=$? ;; *) echo $"Usage $0 {start|stop|restart|condrestart|save|status}" RETVAL=1 esac exit $RETVAL