489bc2dee6
git-svn-id: svn://svn.compuextreme.de/Viitor/V962/Viitor_iproute@4382 504e572c-2e33-0410-9681-be2bf7408885
97 lines
2.5 KiB
Bash
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
|