#! /bin/bash PATH="/sbin:/bin:/usr/sbin:/usr/bin" set -x CONFIG=$1 INTERFACE=$2 # special route and rules for second ISP (192.168.62.0/23) and # second private link (10.8.0.0/14) network IP_ADDRESSES="192.168.62.160 192.168.62.161 192.168.62.162 192.168.62.163 192.168.62.164 10.8.1.94" IP_RULE_SHOW=$( ip rule show) IP_ROUTE_SHOW=$( ip route show table ${INTERFACE}) offset=2999 for ip in ${IP_ADDRESSES}; do offset=$((offset+1)) echo ${IP_RULE_SHOW} | grep -q "from $ip lookup ${INTERFACE}" && continue ip rule add from $ip table ${INTERFACE} prio $offset done echo ${IP_ROUTE_SHOW} | grep -q "^192.168.62.0/23" || \ ip route add table ${INTERFACE} 192.168.62.0/23 dev ${INTERFACE} echo ${IP_ROUTE_SHOW} | grep -q "^10.8.0.0/14" || \ ip route add table ${INTERFACE} 10.8.0.0/14 dev ${INTERFACE} echo ${IP_ROUTE_SHOW} | grep -q "^default" || \ ip route add table ${INTERFACE} via 192.168.63.254 dev ${INTERFACE}