Hallo,
ich hoffe es passt so, siehe Code Abschnitt. Ich habe auch die normalen Parameter etwas angepaßt (NETMASK ist nun NETMASK2 und BROADCAST ist BROADCAST2).
Es werden dann neben der default Routing Tabelle 0 , die Routing Tabellen 1 ,2, 3 angelegt.
#!/bin/sh
#
#/etc/init.d/policyrouting
###BEGIN INIT INFO
# Provides: policyRouting
# Required-Start: $network
# Required-Stop:
# Default-Start: 3 5
# Default-Stop:
# Description: Set up policy based routing
### END INIT INFO
#Secondary Gateway and IP address
INTERFACE="eth0"
GATEWAY2="81.89.96.xxx"
MYIP2="81.89.96.xxx"
NETMASK2="255.255.255.xxx"
BROADCAST2="81.89.96.xxx"
GATEWAY3="81.89.96.xxx"
MYIP3="81.89.96.xxx"
NETMASK3="255.255.255.xxx"
BROADCAST3="81.89.96.xxx"
GATEWAY4="81.89.96.xxx"
MYIP4="81.89.96.xxx"
NETMASK4="255.255.255.xxx"
BROADCAST4="81.89.96.xxx"
case "$1" in
start)
# 1. ZusatzIP (table 1)
ifconfig eth0:5 $MYIP2 netmask $NETMASK2 broadcast $BROADCAST2
echo -n "Starting policy-based routing #1"
ip route list | grep -v default | while read a; do ip route add table 1 $a; done
ip route add table 1 default via $GATEWAY2 dev $INTERFACE
ip rule add from $MYIP2 table 1 priority 10000
# 2. ZusatzIP (table 2)
ifconfig eth0:6 $MYIP3 netmask $NETMASK3 broadcast $BROADCAST3
echo -n "Starting policy-based routing #2"
ip route list | grep -v default | while read a; do ip route add table 2 $a; done
ip route add table 2 default via $GATEWAY3 dev $INTERFACE
ip rule add from $MYIP3 table 2 priority 10000
# 3. ZusatzIP (table 3)
ifconfig eth0:7 $MYIP4 netmask $NETMASK4 broadcast $BROADCAST4
echo -n "Starting policy-based routing #3"
ip route list | grep -v default | while read a; do ip route add table 3 $a; done
ip route add table 3 default via $GATEWAY4 dev $INTERFACE
ip rule add from $MYIP3 table 3 priority 10000
;;
stop)
ip rule delete from $MYIP2 table 1 priority 10000
ip route flush table 1
ifconfig eth0:5 down
ip rule delete from $MYIP3 table 2 priority 10000
ip route flush table 2
ifconfig eth0:6 down
ip rule delete from $MYIP4 table 3 priority 10000
ip route flush table 3
ifconfig eth0:7 down
;;
restart|reload|force-reload)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
Gruß Timo,