Hello,


I have a problem configuring 3 wan connections on different nics.
Description: 3 real ip address with different nic for each.
Now i use the following script for it:
Code:
#!/bin/bash
### BEGIN INIT INFO
# Provides:          multi-wan
# Required-Start:    $remote_fs $syslog
# Required-Stop:     $remote_fs $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Example initscript
# Description:       This file should be used to construct scripts to be
#                    placed in /etc/init.d.
### END INIT INFO

# Some things that run always
touch /var/lock/multi-wan

# Carry out specific functions when asked to by the system
case "$1" in
  start)
    echo "Starting script multi-wan "
    ;;
  stop)
    echo "Stopping script multi-wan"
    ;;
  *)
    echo "Usage: /etc/init.d/multi-wan.sh {start|stop}"
    exit 1
    ;;
esac

# CONFIGURATION
IP=/sbin/ip
PING=/bin/ping

#--------------- LINK PART -----------------
# EXTIFn - interface name
# EXTIPn - outgoing IP
# EXTMn  - netmask length (bits)
# EXTGWn - outgoing gateway
#-------------------------------------------

# LINK 1
EXTIF1=eth0
EXTIP1=192.168.0.2
EXTM1=27
EXTGW1=192.168.0.1

# LINK 2
EXTIF2=eth1
EXTIP2=89.165.182.226
EXTM2=27
EXTGW2=89.165.182.225

# LINK 3
EXTIF3=eth2
EXTIP3=89.165.182.227
EXTM3=27
EXTGW3=89.165.182.225

#ROUTING PART
# removing old rules and routes

echo "removing old rules"
${IP} rule del prio 50 table main
${IP} rule del prio 201 from ${EXTIP1}/${EXTM1} table 201
${IP} rule del prio 202 from ${EXTIP2}/${EXTM2} table 202
${IP} rule del prio 203 from ${EXTIP3}/${EXTM3} table 203
${IP} rule del prio 221 table 221
echo "flushing tables"
${IP} route flush table 201
${IP} route flush table 202
${IP} route flush table 203
${IP} route flush table 221
echo "removing tables"
${IP} route del table 201
${IP} route del table 202
${IP} route del table 203
${IP} route del table 221

# setting new rules
echo "Setting new routing rules"

# main table w/o default gateway here
${IP} rule add prio 50 table main
${IP} route del default table main

# identified routes here
${IP} rule add prio 201 from ${EXTIP1}/${EXTM1} table 201
${IP} rule add prio 202 from ${EXTIP2}/${EXTM2} table 202
${IP} rule add prio 203 from ${EXTIP3}/${EXTM3} table 203

${IP} route add default via ${EXTGW1} dev ${EXTIF1} src ${EXTIP1} proto static table 201
${IP} route append prohibit default table 201 metric 1 proto static

${IP} route add default via ${EXTGW2} dev ${EXTIF2} src ${EXTIP2} proto static table 202
${IP} route append prohibit default table 202 metric 1 proto static

${IP} route add default via ${EXTGW3} dev ${EXTIF3} src ${EXTIP3} proto static table 203
${IP} route append prohibit default table 203 metric 1 proto static

# mutipath
${IP} rule add prio 221 table 221

${IP} route add default table 221 proto static \
            nexthop via ${EXTGW1} dev ${EXTIF1} weight 1\
            nexthop via ${EXTGW2} dev ${EXTIF2} weight 2\
            nexthop via ${EXTGW3} dev ${EXTIF3} weight 3

${IP} route flush cache
echo "Done !"

while : ; do
  ${PING} -c 1 ${EXTGW1}
  ${PING} -c 1 ${EXTGW2}
  ${PING} -c 1 ${EXTGW3}
echo "Done !"
  sleep 60
done
But after a time the 3nd ip is not active, cannot be accesed from extern.
And after reboot, i need to remove some ip rules and restart the script and networking.
I need a script or commands for configuring 3 wans to be active.


Thank you in advance and sorry for my bad english!