Автор Тема: рутиране  (Прочетена 2745 пъти)

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« -: Jan 08, 2008, 14:19 »
Здр, интересува ме как мога да рутирам интернет от две ISP? Така, че ако единият спре да върви другия, също така да мога да ползвам определени услуги от единия, които са невидими за другия?

Ще съм благодарен ако ми дадете някакъв съвет!
Активен

Gaara

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian
  • Window Manager: E17
    • Профил
рутиране
« Отговор #1 -: Jan 08, 2008, 14:24 »
http://www.linux-bg.org/cgi-bin....4103812
Активен

Last night, Darth Vader came down from planet Vulcan and told me that if you don't install Debian, he'd melt your brain.

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #2 -: Jan 08, 2008, 17:31 »
До тук добре направих го но като ги изпълня скриптовете и ми връща само RTNETLINK answers: File exists на почти всеки изпълнен ред... при което всякакъв вид интернет спира, също така в route таблицата не влиза нищо ... като напша route -n няма един гейтуей вътре ...
Активен

Gaara

  • Напреднали
  • *****
  • Публикации: 631
  • Distribution: Debian
  • Window Manager: E17
    • Профил
рутиране
« Отговор #3 -: Jan 08, 2008, 19:15 »
Дай едно по едно  '<img'>

Покажи първо htb скриптовете, както и каква е точно твоята постановка..... направо дай съпка по стъпка какво си направил  '<img'>
Активен

Last night, Darth Vader came down from planet Vulcan and told me that if you don't install Debian, he'd melt your brain.

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #4 -: Jan 08, 2008, 20:01 »
Значи постановката е следната:

Имам два доставчика на интернет и две локални мрежи. Искам по описаната статия по-горе да си рутирам интернета така че да ползвам услугите и на двата едновремено, а ако спре единият да продължи на другия. Както и да ползвам определени услуги които са налични само от единият доставчик.


Така само да кажа интерфейсите ми

eth0 - БТК с адрес 192.168.1.2 gw: 192.168.1.1
eth1 - Локална мрежа 1 192.168.0.1
eth2 - Ликална мрежа 2 192.168.142.1
eth3 - Доставчик 2 ip: 84.54.160.198 gw: 84.54.160.197

Ако си ги задам gw по 1 всеки от тях си работи ...
Локалната си работи и няма проблеми ...


Сега какво съм писал:


#!/bin/bash
#/etc/lb/rc.lb
# This script is done by : Robert Kurjata Sep, 2003.
# feel free to use it in any usefull way
# Modifyed Milan Enev Jul, 2004.
##################

IP=/sbin/ip
PING=/bin/ping
EXTIF0=eth3
EXTIP0=84.54.160.198
EXTM0=30
EXTGW0=84.54.160.197

EXTIF1=eth0
EXTIP1=192.168.1.2
EXTM1=24
EXTGW1=192.168.1.1

echo "removing old rules"
$IP rule del prio 50 table main
$IP rule del prio 201 from $EXTIP0/$EXTM0 table 201
$IP rule del prio 202 from $EXTIP1/$EXTM1 table 202
$IP rule del prio 211 table 211
$IP rule del prio 212 table 212
$IP rule del prio 220 table 220
$IP rule del prio 221 table 221

echo "flushing tables"
$IP route flush table 201
$IP route flush table 202
$IP route flush table 211
$IP route flush table 212
$IP route flush table 220
$IP route flush table 221

echo "removing tables"
$IP route del table 201
$IP route del table 202
$IP route del table 211
$IP route del table 212
$IP route del table 220
$IP route del table 221


$IP rule add prio 201 from $EXTIP0/$EXTM0 table 201
$IP rule add prio 202 from $EXTIP1/$EXTM1 table 202
$IP route add default via $EXTGW0 dev $EXTIF0 src $EXTIP0 proto static table 201
$IP route append prohibit default table 201 metric 1 proto static
$IP route add default via $EXTGW1 dev $EXTIF1 src $EXTIP1 proto static table 202
$IP route append prohibit default table 202 metric 1 proto static


$IP rule add prio 211 table 211
for i in $(cat /etc/lb/ipig.conf); do
#echo "$IP route add $i via $EXTGW0 dev $EXTIF0 src $EXTIP0 proto static able 211"
ip route add $i via $EXTGW0 dev $EXTIF0 src $EXTIP0 proto static table 211
done

$IP rule add prio 212 table 212
for i in $(cat /etc/lb/btkip.conf); do
#echo "$IP route add $i via $EXTGW1 dev $EXTIF1 src $EXTIP1 proto static able 212"
$IP route add $i via $EXTGW1 dev $EXTIF1 src $EXTIP1 proto static table 212
done

echo "BG Traffic"
$IP rule add prio 220 table 220
for i in $(cat /etc/lb/bg_net1.conf); do
$IP route add $i table 220 proto static  \
nexthop via $EXTGW0 dev $EXTIF0 weight 1 \
nexthop via $EXTGW1 dev $EXTIF1 weight 6
# echo " $IP route add $i table 220 proto static \
# nexthop via $EXTGW0 dev $EXTIF0 weight 1\
# nexthop via $EXTGW1 dev $EXTIF1 weight 3"
done


echo "Int. Traffic"
$IP rule add prio 221 table 221
$IP route add default table 221 proto static \
nexthop via $EXTGW0 dev $EXTIF0 weight 3 \
nexthop via $EXTGW1 dev $EXTIF1 weight 1
$IP route flush cache


което ми връща следното нещо:

removing old rules
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process

flushing tables
Nothing to flush.
Nothing to flush.
Nothing to flush.
Nothing to flush.
Nothing to flush.
Nothing to flush.

removing tables
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process
RTNETLINK answers: No such process

Set ISP tables

Set Local 1
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument

Set local 2

BG Traffic
Int. Traffic


root@domain:/etc/lb# ip route show table main
84.54.160.196/30 dev eth3  proto kernel  scope link  src 84.54.160.198
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.2
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1
192.168.142.0/24 dev eth2  proto kernel  scope link  src 192.168.142.1
default via 192.168.1.1 dev eth0
default via 84.54.160.197 dev eth3  metric 1

тук да кажа, че двата гейтуея съм ги наблъскал аз ръчно!?!

За iptables съм писал:

#!/bin/sh
#/etc/rc.d/rc.firewall
#Milan Enev , Sep, 2002

function mark_src {
for i in $(cat $1); do
#echo " $IPTABLES -t mangle -A $2 -s $i -j MARK --set-mark $3"
$IPTABLES -t mangle -A $2 -s $i -j MARK --set-mark $3
done
$IPTABLES -t mangle -A $2 -m mark --mark $3 -j RETURN
}

function mark_dst {
$IPTABLES -t mangle -N $1_$2
$IPTABLES -t mangle -A $1 -m mark --mark $2 -j $1_$2
for i in `seq $4 $5`; do
$IPTABLES -t mangle -A $1_$2 -d $3$i/32 -j MARK --set-mark $(($2 | $i))
done
}

#INTERFACE SETTINGS
IPTABLES=/usr/sbin/iptables
EXTIF0="eth3"
EXTIF1="eth0"
INTIF0="eth1"
INTIF1="eth2"


#IP
LONET0_M_F_T="18 30"
LONET0_M="192.168.168."
ALL="0/0"

##Files
LO_NET_EXTIF0="/etc/lb/ipig.conf"
LO_NET_EXTIF1="/etc/lb/btkip.conf"
BG_NET_EXTIF1="/etc/lb/bg_net1.conf"
ALL_NET="/etc/lb/all_net.conf"


##MARK
LO_MARK_EXTIF0="0x1000"
INT_MARK_EXTIF0="0x1200"
LO_MARK_EXTIF1="0x2000"
BG_MARK_EXTIF1="0x2100"
INT_MARK_EXTIF1="0x2200"

$IPTABLES -t mangle -N MARK_0_S
$IPTABLES -t mangle -N MARK_0_D
$IPTABLES -t mangle -N MARK_1_S
$IPTABLES -t mangle -N MARK_1_D

$IPTABLES -t mangle -A PREROUTING -i $EXTIF0 -j MARK_0_S
$IPTABLES -t mangle -A PREROUTING -i $EXTIF1 -j MARK_1_S
$IPTABLES -t mangle -A POSTROUTING -o $INTIF0 -j MARK_0_D

mark_src $LO_NET_EXTIF0 MARK_0_S $LO_MARK_EXTIF0
mark_src $ALL_NET MARK_0_S $INT_MARK_EXTIF0
mark_src $LO_NET_EXTIF1 MARK_1_S $LO_MARK_EXTIF1
mark_src $BG_NET_EXTIF1 MARK_1_S $BG_MARK_EXTIF1
mark_src $ALL_NET MARK_1_S $INT_MARK_EXTIF1
mark_dst MARK_0_D $LO_MARK_EXTIF0 $LONET0_M $LONET0_M_F_T
mark_dst MARK_0_D $INT_MARK_EXTIF0 $LONET0_M $LONET0_M_F_T
mark_dst MARK_0_D $LO_MARK_EXTIF1 $LONET0_M $LONET0_M_F_T
mark_dst MARK_0_D $BG_MARK_EXTIF1 $LONET0_M $LONET0_M_F_T
mark_dst MARK_0_D $INT_MARK_EXTIF1 $LONET0_M $LONET0_M_F_T

echo "-Enabbling SNAT..."
#$IPTABLES -t nat -A POSTROUTING -o $EXTIF0 -j SNAT --to 192.168.0.1
#$IPTABLES -t nat -A POSTROUTING -o $EXTIF1 -j SNAT --to 192.168.142.1
$IPTABLES -t nat -A POSTROUTING -o $EXTIF0 -j MASQUERADE
$IPTABLES -t nat -A POSTROUTING -o $EXTIF1 -j MASQUERADE


при което ми връща само: -Enabbling SNAT...
 
Според което би трябвало да прилага веригите и правилата....


След всичко това в локалната мрежа интернет липсва ... сървъра който е на 192.168.0.1 или 192.168.142.1 не се вижда и няма пинг до него - имам 2 локални мрежи м/у другото
Според вас къде може да е проблема?



Активен

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #5 -: Jan 08, 2008, 20:26 »
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument

Това го разбрах от къде е. $IP, а съм писал само ip.
Обаче нет продължава да няма в локалната.

edit by neter: Редактирах съобщението ти, съгласно т.3 от правилата на форума. Нека не се повтаря



Активен

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #6 -: Jan 09, 2008, 09:11 »
Да попитам все пак някой правил ли го е това по описаната статия и другото е кернела трябва ли да се пачва с посочения пач? При мен модолите бяха заредени ... kernel 2.4.33.3

edit by neter: Редактирано, съгласно т.5 от правилата на форума. Пояснявам, тук не беше сложил //offtopic пред това, което изтрих. А т.3 изисква писане на кирилица. Не спори с мен, а си гледай темата '<img'>



Активен

tolostoi

  • Напреднали
  • *****
  • Публикации: 1337
  • Distribution: Ubuntu
  • Window Manager: Unity
  • левел: авераж :)
    • Профил
рутиране
« Отговор #7 -: Jan 09, 2008, 14:18 »
Виж zeridon какво е написал http://www.getoto.net/2007/06/the-perfect-soho-router-part-4/lang/bg/

Цитат
Рутер който изпълнява баланс на трафика от два или повече доставчика
Тук ще дадем само частта която реално изпълнява балансирането на трафика. Вземаме пример само с два доставчика, но разширяването на примера не е проблем. Задачата е малко по обемиста тъй като за удобство ще използваме iproute. Самият пакет има доста криптичен синтаксис но след като му свикнете едва ли ще ви се разделя с него.

За да можем да балансираме трафик ни трябват следните инструменти:

    * iproute2
    * поддръжка в кернела за multipath routing
    * Компилиран в кернела поне една дисциплина за multipath routing - аз лично препоръчвам wrr

За да можем да използваме имена в конфигурацията е необходимо да ги добавим във файла /etc/iproute2/rt_tables. Индексите им са между 2 и 252. Ако ще балансирате повече от 200 доставчика … не четете на правилното място.

#!/bin/bash
#
# Simple balancing router
# author: vvitkov
# contact: http://www.getoto.net/az/
#
# Licence: CC NC-BY-SA v3
# Disclaimer: i take no responsibility for the consequences of using or not using this.
# It is up to you to decide what to do with this stuff.
# Please if you use this write me a note and don't remove the author info.
 
### Settings
ISP1_NET="1.2.3.0/24"
ISP1_GW="1.2.3.1"
ISP1_IF="eth1"
ISP1_OUR_HOST="1.2.3.99"
ISP2_NET="9.8.7.0/24"
ISP2_GW="9.8.7.1"
ISP2_IF="eth2"
ISP2_OUR_HOST="9.8.7.99"
 
INT_NET="10.42.3.0/24"
 
# Defining routing tables for source routing
if ( ip ru ls | grep main | grep 50 )
then
        ip r f t main
else
        ip ru a prio 50 t main
fi
 
if ( ip ru ls | grep isp_rules1 )
then
        ip r f t isp_rules1
else
        ip ru a from $ISP1_NET prio 201 t isp_rules1
fi
 
if ( ip ru ls | grep isp_rules2 )
then
        ip r f t isp_rules2
else
        ip ru a from $ISP2_NET prio 202 t isp_rules2
fi
 
# Clear all the existing routes
ip r f any
ip r f t default
 
# Host routes
ip r a $ISP1_NET dev $ISP1_IF src $ISP1_OUR_HOST
ip r a $ISP2_NET dev $ISP2_IF src $ISP2_OUR_HOST
 
# Local networks
ip r a 127.0.0.0/8 dev lo
ip r a $INT_NET dev eth0
 
# Default gateways
ip r a 0/0 via $ISP1_GW dev $ISP1_IF table isp_rules1 proto static
ip r a prohibit 0/0 table isp_rules1 metric 1 proto static
 
ip r a 0/0 via $ISP2_GW dev $ISP2_IF table isp_rules2 proto static
ip r a prohibit 0/0 table isp_rules2 metric 1 proto static
 
# lets shake it '<img'>
ip r a 0/0 proto static table default nexthop via $ISP1_GW dev $ISP2_IF nexthop via $ISP2_GW dev $ISP2_IF
 
# Remote networks with static routes
ip r a < NETWORK IN ISP1 > via $ISP1_GW dev $ISP1_IF
ip r a < NETWORK IN ISP2 > via $ISP2_GW dev $ISP2_IF
 
# flush caches
ip r f c
Това ти е за адресите прес кои доставчик (интерфейс да минават)
Примерен код
# Remote networks with static routes
ip r a < NETWORK IN ISP1 > via $ISP1_GW dev $ISP1_IF
ip r a < NETWORK IN ISP2 > via $ISP2_GW dev $ISP2_IF
Активен


... в Столичен инспекторат една година след миграцията, продължават да работят под Linux. Което, май прави "експеримента" успешен
by entusiast

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #8 -: Jan 09, 2008, 15:08 »
Ок пробвах и по този начин: ето и настройките:

Примерен код

#!/bin/bash
#
# Simple balancing router
# author: vvitkov
# contact: http://www.getoto.net/az/
#
# Licence: CC NC-BY-SA v3
# Disclaimer: i take no responsibility for the consequences of using or not using this.
# It is up to you to decide what to do with this stuff.
# Please if you use this write me a note and don't remove the author info.

### Settings
ISP1_NET="192.168.1.0/24"
ISP1_GW="192.168.1.1"
ISP1_IF="eth0"
ISP1_OUR_HOST="192.168.1.2"
ISP2_NET="84.54.160.0/30"
ISP2_GW="84.54.160.197"
ISP2_IF="eth3"
ISP2_OUR_HOST="84.54.160.198"

INT_NET="192.168.0.0/24"
echo "1"
# Defining routing tables for source routing
if ( ip ru ls | grep main | grep 50 )
then
        ip r f t main
else
        ip ru a prio 50 t main
fi

if ( ip ru ls | grep isp_rules1 )
then
        ip r f t isp_rules1
else
        ip ru a from $ISP1_NET prio 201 t isp_rules1
fi

if ( ip ru ls | grep isp_rules2 )
then
        ip r f t isp_rules2
else
        ip ru a from $ISP2_NET prio 202 t isp_rules2
fi

echo "2"
# Clear all the existing routes
ip r f any
ip r f t default

echo "3"
# Host routes
ip r a $ISP1_NET dev $ISP1_IF src $ISP1_OUR_HOST
ip r a $ISP2_NET dev $ISP2_IF src $ISP2_OUR_HOST
echo "4"
# Local networks
ip r a 127.0.0.0/8 dev lo
ip r a $INT_NET dev eth1


echo "5"
# Default gateways
ip r a 0/0 via $ISP1_GW dev $ISP1_IF table isp_rules1 proto static
ip r a prohibit 0/0 table isp_rules1 metric 1 proto static


echo "6"
ip r a 0/0 via $ISP2_GW dev $ISP2_IF table isp_rules2 proto static
ip r a prohibit 0/0 table isp_rules2 metric 1 proto static


echo "7"
# lets shake it :)
ip r a 0/0 proto static table default nexthop via $ISP1_GW dev $ISP2_IF nexthop via $ISP2_GW dev $ISP2_IF

echo "8"
# Remote networks with static routes
ip r a < btkip.conf > via $ISP1_GW dev $ISP1_IF
ip r a < inetg.conf > via $ISP2_GW dev $ISP2_IF

echo "9"
# flush caches
ip r f c




Ехотата съм ги сложил да се ориентирам от къде идва грешката ....


Ето това ми връща:

1
50:     from all lookup main
Nothing to flush.
201:    from 192.168.1.0/24 lookup isp_rules1
202:    from 84.54.160.0/30 lookup isp_rules2
2
3
4
5
6
7
8
9

В /etc/iproute2/rt_tables съм сложил

201     isp_rules1
202     isp_rules2

Като:

ip ru ls | grep isp_rules1
201:    from 192.168.1.0/24 lookup isp_rules1

ip ru ls | grep isp_rules2
202:    from 84.54.160.0/30 lookup isp_rules2


Но в локалната мрежа продължава да няма интернет...



Активен

runtime

  • Напреднали
  • *****
  • Публикации: 807
  • Distribution: Ubuntu 14.04
  • Window Manager: Unity
  • LZ1DOT
    • Профил
    • WWW
рутиране
« Отговор #9 -: Jan 09, 2008, 18:38 »
Значи в крайна сметка си намерих ето това решение, което върши работа '<img'>

Примерен код
#! /bin/sh
# Load balancing script by mambang
# using 4 nics, 2 isp, 2 lan segment
#
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
IFCONFIG=/sbin/ifconfig
NETWORK=/etc/init.d/networking
IP=/sbin/ip
IPTABLES=/sbin/iptables

#Device 1 connected to ISP1
DEV1=eth0
NET1=192.168.1.11
SUB1=192.168.1.0/24
GW1=192.168.1.1

#Device 2 connected to ISP2
DEV2=eth1
NET2=192.168.2.22
SUB2=192.168.2.0/24
GW2=192.168.2.1

#LAN device connected to LAN group1
DEV3=eth2
LAN1=10.0.0.1
SUB3=10.0.0.0/16

#LAN device connected to LAN group2
DEV4=eth3
LAN2=172.16.0.1
SUB4=172.16.0.0/24


#---------------------DO THIS MANUALLY------------
#echo "1 T1" >> /etc/$IProute2/rt_tables
#echo "2 T2" >> /etc/$IProute2/rt_tables
#-------------------------------------------------

START_ROUTING(){
#segement1
$IP route add $SUB1 dev $DEV1 src $NET1 table T1
$IP route add $SUB3 dev $DEV3 src $LAN1 table T1
$IP route add default via $GW1 table T1

#segment2
$IP route add $SUB2 dev $DEV2 src $NET2 table T2
$IP route add $SUB4 dev $DEV4 src LAN2 table T1
$IP route add default via $GW2 table T2

#rules for all segment
$IP rule add from $NET1 table T1
$IP rule add from $LAN1 table T1
$IP rule add from $NET2 table T2
$IP rule add from $LAN2 table T1

#using iptable to mark packets
$IPTABLES -t mangle -A OUTPUT --source $SUB3 -j MARK --set-mark 0x10
$IPTABLES -t mangle -A OUTPUT --source $SUB4 -j MARK --set-mark 0x20
$IPTABLES -t nat -A POSTROUTING -o $DEV1 -j SNAT --to-source=$NET1
$IPTABLES -t nat -A POSTROUTING -o $DEV2 -j SNAT --to-source=$NET2

#default gateway for other
$IP route add default via $GW1

#avoids incoming packets from rejected
echo 0 > /proc/sys/net/ipv4/conf/$DEV1/rp_filter
echo 0 > /proc/sys/net/ipv4/conf/$DEV2/rp_filter

# adding rule for fwmark
$IP rule add fwmark 0x10 pri 100 table T1
$IP rule add fwmark 0x20 pri 101 table T2

# make sure packets comes and returns using same route
ip rule add from $NET1 pri 200 table T1
ip rule add from $NET2 pri 300 table T2

}

BALANCING(){
#load balancing
#$IP route add default scope global nexthop via $GW1 dev $DEV1 weight 1 \
#nexthop via $GW2 dev $DEV2 weight 1
$IP route replace default equalize \
   nexthop via $GW1 dev $DEV1 \
   nexthop via $GW2 dev $DEV2
}


#-------------flushes all route and rule-------------------
REMOVE_TABLE(){
ALLDEV="eth0|eth1|eth2|eth3|lo"
ALLTABLES="T1|T2"
keepers="dev ($ALLDEV)"
tables="lookup ($ALLTABLES)"


echo
echo ***Before
echo "Rules..."
$IP ru sh
echo""
echo "Routes..."
$IP ro sh
echo "Rules for table T1..."
$IP ro sh table T1
echo""
echo "Rules for table T2..."
$IP ro sh table T2
echo""

$IP route delete default &>/dev/null
$IP route show | awk -v k="$keepers" '$0 !~ k \
    { print " $IP route delete " $0 | "bash" }'

for wan in ${ALLTABLES//|/ }; do
  $IP route flush table $wan &>/dev/null
done

$IP rule show | awk -v k="$tables" '$0 ~ k \
    { sub(/from all/,""); print "ip rule del " substr($0, 5) | "bash" }'
echo ""
$IP rule show | awk -v k="$tables" '$0 ~ k \
    { sub(/from all/,""); print "ip rule del " substr($0, 7) | "bash" }'
echo ""
echo "ALL Tables and Rules Deleted"

echo "Adding default gateway ....."
$IP route add default via $GW1

$IP route flush cache
echo
echo "***After"
echo "Rules..."
$IP ru sh
echo "Routes..."
$IP ro sh
echo "Rules for table T1..."
$IP ro sh table T1
echo "Rules for table T2..."
$IP ro sh table T2
}


case "$1" in
  start)
   echo "Creating new routing tables ....."
   START_ROUTING
   echo "Start load balancing rules ....."
   BALANCING
   echo "DONE....New routing has been added."
   #Flush routing cache
   $IP route flush cache
;;
  stop)
   REMOVE_TABLE
   echo "DONE....Default routing has been restore."
   echo ""
   echo "Flushing iptables mangle rules ....:
   iptables -F -t mangle
   echo "DONE"
;;
  *)
   N=/etc/init.d/splitgateway
   echo "Cara Guna: $N {start|stop}" >&2
   exit 1
;;
esac

exit 0
Активен