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!
Recent comments
2 hours 30 min ago
3 hours 30 min ago
7 hours 17 min ago
8 hours 31 min ago
12 hours 7 min ago
19 hours 22 min ago
1 day 4 hours ago
1 day 5 hours ago
1 day 20 hours ago
1 day 23 hours ago