Viitor_iproute/etc/init.d/adrouting
kueller bf2c977d83 Neue Version V963
git-svn-id: svn://svn.compuextreme.de/Viitor/V963/Viitor_iproute@5933 504e572c-2e33-0410-9681-be2bf7408885
2011-01-03 10:48:06 +00:00

97 lines
2.5 KiB
Bash

#!/bin/sh
#
#Dieses script nutzt in verbindung mit dem iproute packet die
#advanced routing funktionalitaeten des Linux Kernels
#Entsprechende funktionalitaet muss in den kernel einkompiliert sein.
#
#(c) Rainmaker MultiMedia OHG
#
#$Author$
#$Date$
#$Revision$
#
#$Log$
#Revision 1.2 2003/04/19 07:47:37 kueller
#Restart funktion und defaultverhalten (usage ausgabe) eingebaut
#
#Revision 1.1.1.1 2002/06/20 15:05:07 hkueller
#Start Scripten für advanced kernel routing
#
#
source /etc/init.d/functions
#DEBUG=echo
case "$1" in
start)
if [ -f /etc/sysconfig/net/routetable ]; then
sed -e "/^#/d" /etc/sysconfig/net/routetable | \
sed -e "/^ *$/d" >/tmp/routetable
exec 3</tmp/routetable
read <&3 NETWORK DEVICE TABLE
while [ "$NETWORK" ]; do
echo -n "Adding routing for net $NETWORK over device $DEVICE to table $TABLE"
$DEBUG ip route add $NETWORK dev $DEVICE table $TABLE
evaluate_retval
read <&3 NETWORK DEVICE TABLE
done
exec 3>&-
rm /tmp/routetable
fi
if [ -f /etc/sysconfig/net/routerule ]; then
sed -e "/^#/d" /etc/sysconfig/net/routerule | \
sed -e "/^ *$/d" >/tmp/routerule
exec 3</tmp/routerule
read <&3 RULTYPE RULOPT RULDEST
while [ "$RULTYPE" ]; do
echo -n "Adding routing rule $ROUTETYPE $ROUTOPT with destination $RULDEST"
$DEBUG ip rule add $RULTYPE $RULOPT table $RULDEST
evaluate_retval
read <&3 RULTYPE RULOPT RULDEST
done
exec 3>&-
rm /tmp/routerule
fi
;;
stop)
if [ -f /etc/sysconfig/net/routerule ]; then
sed -e "/^#/d" /etc/sysconfig/net/routerule | \
sed -e "/^ *$/d" >/tmp/routerule
exec 3</tmp/routerule
read <&3 RULTYPE RULOPT RULDEST
while [ "$RULTYPE" ]; do
echo -n "deleting rule $RULTYPE $RULOPT from table $RULDEST"
$DEBUG ip rule del $RULTYPE $RULOPT table $RULDEST
evaluate_retval
read <&3 RULTYPE RULOPT RULDEST
done
exec 3>&-
rm /tmp/routerule
fi
if [ -f /etc/sysconfig/net/routetable ]; then
sed -e "/^#/d" /etc/sysconfig/net/routetable | \
sed -e "/^ *$/d" >/tmp/routetable
exec 3</tmp/routetable
read <&3 NETWORK DEVICE TABLE
while [ "$NETWORK" ]; do
echo -n "deleting routeentry for $NETWORK from table $TABLE"
$DEBUG ip route del $NETWORK dev $DEVICE table $TABLE
evaluate_retval
read <&3 NETWORK DEVICE TABLE
done
exec 3>&-
rm /tmp/routetable
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
echo "usage: $0 {start|stop|restart}"
;;
esac
#end /etc/inet.d/network