Автор Тема: Load balance  (Прочетена 3867 пъти)

bobibiturboto

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Load balance
« -: Mar 28, 2008, 21:25 »
След търсене на подобни теми попаднах на тази Тема
При мен положението е следното имам интернет който е адсл(9Mb/s) и влиза на eth0 lan(служебната мрежа) на eth1 и back-up доставчик който е на eth2 (4Mb/s)но интернета се получава по pptp във вкъщи имам само мрежа (без интернет) от backup доставчика и на работата съм си направил pptp server с който получавам интернет от адсл в къщи (понеже мрежата на back-up доставчика е с подмрежи няма друг вариант да ползвам servera на работата като gw освен pptp)Понеже където живея не се продава по бърз интернет от този на адлс пък той вече не стига целта мие да впрегна в load balance и двата доставчика понеже uploada на ADSL e много слаб но пък да мога през pptpd да имам и нет във вкъщи.Ето това е моята редакция на скрипта
Примерен код
#!/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="172.16.12.0/24"
ISP2_GW="213.91.167.3"
ISP2_IF="ppp0"
ISP2_OUR_HOST="172.16.12.67"
 
INT_NET="192.168.7.0/24"
INT_NET2="10.0.0.0/8"
# 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 eth1
ip r a $INT_NET2 dev eth2
 
# 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 :)
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

а това са ми правилата за рутиранe мрежата 145.167.18.0 е виртуалната с която се свързвам от вкъщи
Примерен код
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A FORWARD -s 192.168.7.0/255.255.255.0 -j ACCEPT
-A FORWARD -s 145.167.18.0/255.255.255.0 -j ACCEPT
COMMIT
# Completed on Tue Jun 13 16:51:44 2006
# Generated by iptables-save v1.3.3 on Tue Jun 13 16:51:44 2006
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 192.168.7.0/255.255.255.0 -j MASQUERADE
-A POSTROUTING -s 145.167.18.0/255.255.255.0 -j MASQUERADE
COMMIT
# Completed on Tue Jun 13 16:51:44 2006
Активен

neter

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 3408
  • Distribution: Debian, SailfishOS, CentOS
  • Window Manager: LXDE, Lipstick
    • Профил
    • WWW
Load balance
« Отговор #1 -: Mar 28, 2008, 22:53 »
Чете ли тук и тук?
Активен

"Да си добре приспособен към болно общество не е признак за добро здраве" - Джиду Кришнамурти

bobibiturboto

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Load balance
« Отговор #2 -: Mar 29, 2008, 13:32 »
Прочетох темите за които @neter   ми даде линкове но при мен нещо не се получава може би поради това че втория ми доставчик ми пуска нет със pptp.
Това са ми интерфейсите ppp1 е връзката ми от вкъщи към сървара а ppp0 е връзката ми към доставчика
Примерен код
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:E0:4C:50:E7:92
          inet addr:192.168.1.2  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:4cff:fe50:e792/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13964 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12820 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:14836257 (14.1 MiB)  TX bytes:1339331 (1.2 MiB)
          Interrupt:11 Base address:0xf400

eth1      Link encap:Ethernet  HWaddr 00:E0:4C:50:E7:94
          inet addr:192.168.7.1  Bcast:192.168.7.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:4cff:fe50:e794/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7583 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10713 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:766041 (748.0 KiB)  TX bytes:14603638 (13.9 MiB)
          Interrupt:10 Base address:0xe800

eth2      Link encap:Ethernet  HWaddr 00:E0:4C:E2:D6:A7
          inet addr:10.31.10.72  Bcast:10.31.10.255  Mask:255.255.255.0
          inet6 addr: fe80::2e0:4cff:fee2:d6a7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7229 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5054 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1459449 (1.3 MiB)  TX bytes:953666 (931.3 KiB)
          Interrupt:5 Base address:0xe400

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:213 (213.0 b)  TX bytes:213 (213.0 b)

ppp0      Link encap:Point-to-Point Protocol
          inet addr:172.16.12.67  P-t-P:213.91.167.3  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:549 errors:1 dropped:0 overruns:0 frame:0
          TX packets:498 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:568483 (555.1 KiB)  TX bytes:31581 (30.8 KiB)

ppp1      Link encap:Point-to-Point Protocol
          inet addr:145.167.18.1  P-t-P:145.167.18.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1490  Metric:1
          RX packets:197 errors:0 dropped:0 overruns:0 frame:0
          TX packets:90 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:16518 (16.1 KiB)  TX bytes:6427 (6.2 KiB)

Интернет от локалната мрежа навън нямам за balance и рутиране ползвам този скрипт
Примерен код
#! /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/rc.d/networking
IP=/sbin/ip
IPTABLES=/sbin/iptables

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

#Device 2 connected to ISP2
DEV2=ppp0
NET2=172.16.12.67
SUB2=172.16.12.0/24
GW2=213.91.167.3

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

#LAN device connected to LAN group2
DEV4=eth1
LAN2=192.168.7.1
SUB4=192.168.7.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|ppp0|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/rc.d/splitgateway
echo "Cara Guna: $N {start|stop}" >&2
exit 1
;;
esac

exit 0

Като пусна скрипта ми дава само това без други съобщения
Примерен код
sh ./balance.sh
./balance.sh: line 164: unexpected EOF while looking for matching `"'
./balance.sh: line 170: syntax error: unexpected end of file

Това ми е routing таблицата
Примерен код
route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
213.91.167.3    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.7.0     0.0.0.0         255.255.255.0   U     0      0        0 eth1
10.31.10.0      0.0.0.0         255.255.255.0   U     0      0        0 eth2
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
10.0.0.0        10.31.10.1      255.224.0.0     UG    0      0        0 eth2
127.0.0.0       0.0.0.0         255.0.0.0       U     0      0        0 lo
0.0.0.0         0.0.0.0         0.0.0.0         U     0      0        0 ppp0
0.0.0.0         192.168.1.1     0.0.0.0         UG    1      0        0 eth0

Командата iptables-save не изкарва никакъв изход. За load balance с такава като моята конфигурация нищо не намерих в нета.



Активен

ivo1204

  • Напреднали
  • *****
  • Публикации: 987
    • Профил
Load balance
« Отговор #3 -: Mar 29, 2008, 15:06 »
Цитат
stop)
REMOVE_TABLE
echo "DONE....Default routing has been restore."
echo ""
echo "Flushing iptables mangle rules ....:
iptables -F -t mangle
echo "DONE"
;;

Начи и темата не съм чел , ама гледам изпуснати затварящи кавички ...
Активен

bobibiturboto

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Load balance
« Отговор #4 -: Apr 01, 2008, 15:12 »
Поправих кавичките но пак нищо не се получи но пък убедих резервния доставчик да ми даде статично IP '<img'>  eth0 и eth2 са свързани към ISP а на eth1 ми е свързана локалната мрежа. Като се замисля на мен проблема ми е в малкия уплоад от страна на БТК та май ще е най-добре ще е да иползвам бтк за download а др доставчик за уплоад но не успях да намеря обяснение как да стане това ако някой има идея да я подхвърли ?
Активен

bobibiturboto

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Load balance
« Отговор #5 -: Apr 02, 2008, 21:14 »
С помоща на един колега сглобих идея как да стане балансирането на мрежите с ъплоад от единия доставчик а доунлоуд от другия но трябва да се вкарат в скрипта и изчисление по метрика а там нещо се оплитам нека разбиращите да помогнат ако имат желание
Примерен код

#!/bin/bash -v
IP1=192.168.1.2
IP2=213.X.X.2
P1=192.168.1.1
P2=213.X.X.1

P0_NET=192.168.7.0/24
P1_NET=192.168.1.0/24
P2_NET=213.X.X.0/30

IF1=eth0
IF2=eth2
ip route add $P1_NET dev $IF1 src $IP1 table BTK
ip route add default via $P1 table BTK
ip route add $P2_NET dev $IF2 src $IP2 table Opti
ip route add default via $P2 table Opti
ip route add $P1_NET dev $IF1 src $IP1
ip route add $P2_NET dev $IF2 src $IP2
#ip route add default via $P1
ip rule add from $IP1 table BTK
ip rule add from $IP2 table Opti
ip route add $P0_NET dev $IF0 table BTK
ip route add $P2_NET dev $IF2 table BTK
ip route add 127.0.0.0/8 dev lo table BTK
ip route add $P0_NET dev $IF0 table Opti
ip route add $P1_NET dev $IF1 table Opti
ip route add 127.0.0.0/8 dev lo table Opti
route del -net 0.0.0.0 netmask 0.0.0.0 dev $IF1
ip route add default scope global nexthop via $P1 dev $IF1 weight 1 nexthop via $P2 dev $IF2 weight 1
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Load balance
« Отговор #6 -: Apr 02, 2008, 23:06 »
Идеята ти за ъплоуд през един адрес и даунлоуд през друг е неосъществима.
Ако успееш да ми обясниш как ще се осъществи
3-way handshake-а на TCP в такава ситуация.
Ето според "ръкостискането" какво би се получило.
Изпращаш SYN до получателя, този пакет пътува по веригата от маршрутизатори и достига до него. Получателя ти връща SYN-ACK, но информацията в IP хедъра за сорс адрес е адреса, от който си изпратил пакета.
Ще изпрати SYN-ACK до този адрес естествено.

    Дори да речем, че по някакъв начин подмениш сорс адреса на източника в IP хедъра с този, до които трябва да пристигне SYN-ACK(IP на АДСЛ), а после как ще продължи пътя си този пакет?  
Ако греша, нека някой ме поправи, просто не си обяснявам как би се получил такъв замисъл.
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

teleport

  • Напреднали
  • *****
  • Публикации: 134
    • Профил
Load balance
« Отговор #7 -: Apr 03, 2008, 08:12 »
Цитат (Slevin_ @ Април 03 2008,00:06)
Идеята ти за ъплоуд през един адрес и даунлоуд през друг е неосъществима.
    Дори да речем, че по някакъв начин подмениш сорс адреса на източника в IP хедъра с този, до които трябва да пристигне SYN-ACK(IP на АДСЛ), а после как ще продължи пътя си този пакет?  
Ако греша, нека някой ме поправи, просто не си обяснявам как би се получил такъв замисъл.

Целия интернет е несиметричен. Пакетите обикновенно не се движат по един и същ път в двете посоки.

Замисъла се получава така: неоходимо е човека да има 2-те публични ip-та на рутера си ( а бтк обикновенно оставят публичното ip в модема! ).

Първия SYN се генерира ( или nat-ти ) със source ip това на бтк ( публичното! ), но се изпраща през интерфейса към втория провайдер. ACK пристига през бтк естествено. Съответно така се праща/получава и останалия трафик на сесията.

Проблема тука е че има негласно правило крайните ISP-та да приемат пакети от клиентите САМО с дадените им IP-та. В противен случай е прекалено лесно да организираш анонимен syn/icmp flood както към някой сървър, така и към друг клиент на ISP. Само транзитните ISP-та приемат пакети със различен source ip за транзит и отново има негласно правило че това става след като се направи консултация със датабазата на съответния RIR ( RIPE в нашия случай ) и се напишат съответните филтри. Към момента обаче в България се филтрират само bgp анонсите, поради липсата на достатъчно сериозни рутери, които могат да налагат хардуерни acl базирани на bgp таблиците заредени след филтриране. А писането на ръка на acl-и на интерфеси е малък ад и се прави само в случай на очакван/доказан flood, все пак acl cam-овете на рутерите са краен брой.

В случая на bobibiturboto оптималното е да си направи nat-а по портове, т.е. да nat-не download трафика ( http/ftp/pop3/imap ) към бтк а ъплоад трафика към другия провайдер, примерно:

iptables -t nat  -A POSTROUTING -p tcp --dport http -j SNAT --to-source <adsl_ip>
iptables -t nat  -A POSTROUTING -p tcp --dport https -j SNAT --to-source <adsl_ip>
iptables -t nat  -A POSTROUTING -p tcp --dport pop3 -j SNAT --to-source <adsl_ip>
iptables -t nat  -A POSTROUTING -p tcp --dport imap -j SNAT --to-source <adsl_ip>
...
Всичко останало към втория провайдер:
iptables -t nat  -A POSTROUTING -j SNAT --to-source <second_isp_ip>

За да се праща трафика правилно е необходим и малко policy routing (примерно!):

echo "200 btc" >> /etc/iproute2/rt_tables #(това еднократно!)

ip rule add from 192.168.1.2 table btc #(ip-то което adsl модема е дал)
ip route add default via 192.168.1.1 table btc #(ip-то на adsl модема)

Така всичкия трафик nat-нат към btc ще бъде пратен на adsl-а и сътветно ще се върне от там. Всичко останало ще се nat-не към втория провайдер и ще излезе/върне през него. Предполага се че default gw сочи към втория провайдер. Ако няма default gw или не сочи към втория провайдер:

echo "201 isp" >>  /etc/iproute2/rt_tables #(това еднократно!)
ip rule add from <second_isp_ip> table isp
ip route add default via <second_isp_gw> table isp

С наблюдение на трафика и добавяне на nat правила в iptables ще се получи доста добър баланс на двата интерфейса, даже изобщо не са необходими публични ip-та за да работи коректно.

Правилата може да се развият още повече. Примерно ако се знае втория провайдер с кои други isp-та има директна свързаност ( и дава по-висока скорост):

iptables -t nat -I POSTROUTING -d 1.2.3.4/24 -j SNAT --to-source <second_isp_ip>

Така целия трафик насочен към провайдери във същия град ще излиза/влиза през втория провайдер. Ако не е към потребители от същия град, но е http/ftp/pop3/imap/etc към бтк. Във всички останали случаи към втория провайдер.

Подобна схема работи перфектно когато зад рутера има повечко потребители, т.е. има по-разнообразен трафик със сравнително малко правила.

PS: Правилата в iptables може да се направят и по-подредени и прегледни:

iptables -t nat -N MYCITY
iptables -t nat -N BTC
iptables -t nat -N ISP

iptables -t nat -F POSTROUTING
iptables -t nat -A POSTROUTING -j MYCITY
iptables -t nat -A POSTROUTING -j BTC
iptables -t nat -A POSTROUTING -j ISP
iptables -t nat -A POSTROUTING -j MASQUERADE

Съответно за мрежи във същия град:

iptables -t nat -A MYCITY -d 1.2.3.4/24 -j SNAT --to-source <second_isp_ip>
...

За download през бтк:

iptables -t nat -A BTC -p tcp --dport http -j SNAT --to-source 192.168.1.2
...

За всички останали:

iptables -t nat -А ISP -j SNAT --to-source <second_isp_ip>

Така правилата са подредени и до последното правило в POSTROUTING би трябвало никога да не се стига. С "iptables -t nat -L <MYCITY/BTC/ISP> -nv" може да се гледа къде колко трафик отива.



Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Load balance
« Отговор #8 -: Apr 03, 2008, 09:24 »
Цитат (teleport @ Април 03 2008,09:12)
Целия интернет е несиметричен. Пакетите обикновенно не се движат по един и същ път в двете посоки.

Замисъла се получава така: неоходимо е човека да има 2-те публични ip-та на рутера си ( а бтк обикновенно оставят публичното ip в модема! ).

//offtopic

Мерси за разясненията teleport.
Иначе, да запознат съм с това, че пакетите е възможно да пътуват по-различни пътища. В зависимост от анонсите по BGP или какъвто и да е друг рутинг протокол.
Принципно, ми беше ясно какво трябва да се направи, само
напрактика се чудех как би се реализирало(в ситуацията на bobibiturboto как би се получило).
А и не бях преценил, че също е възможно да настрои модема в бридж-режим и публичния адрес директно да се назначи по PPPoE на маршрутизатора.
Поздрави



Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

bobibiturboto

  • Напреднали
  • *****
  • Публикации: 108
    • Профил
Load balance
« Отговор #9 -: Apr 03, 2008, 10:32 »
@teleport благодаря ти за изчерпанетния отговор но ако може да ми се направи разяснение . Правилата които съм задал по примера посочен от мен да си останат ли така непроменени и просто да допълня с това което @teleport ме съветва В примера трябва ли да задавам нови таблици като btc и isp или да заменя въпросните с моите както е в случая BTK и Opti. Нуждая се от малко по подробно обяснение понеже такъв load balance  не съм  правил до сега единствено имам опит за балансе със cisco рутер но там нещата бяха други ползваше се RIP и аз правих аналогия че трябва да е подобно и със Linux но се вижда че нещата са съвсем други. А за самата тема мисля че е много актуална понеже в провинцията е така изгоден и с голям download интернет от адсл но със никакъв upload. Пък местните доставчици предлагат по ниска скорост но със симетричен upload при което ако се направи подобна комбинация нещата се получават по истински.
И не на последно място искам да изкажа благодарност на всички включили се в темата!!!
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Load balance
« Отговор #10 -: Apr 03, 2008, 13:10 »
Цитат (bobibiturboto @ Април 03 2008,11:32)
В примера трябва ли да задавам нови таблици като btc и isp или да заменя въпросните с моите както е в случая BTK и Opti.

Може да ползваш тези таблици, които си създал в /etc/iproute2/rt_tables.
Принципно сигурно си го видял, но:
http://lartc.org/howto/lartc.rpdb.multiple-links.html



Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

teleport

  • Напреднали
  • *****
  • Публикации: 134
    • Профил
Load balance
« Отговор #11 -: Apr 04, 2008, 00:22 »
// offtopic

Цитат
А и не бях преценил, че също е възможно да настрои модема в бридж-режим и публичния адрес директно да се назначи по PPPoE на маршрутизатора.


Ако откриеш начин по който се прави и го публикуваш ще получиш тирове с бира от благодарни домашни бтк адсл потребители.

// oftopic

bobibiturboto:

Рутинг възможностите на линукс са значително по-големи отколкото на циско серий по-малки от 7000. Cisco ( и изобщо стандартните протоколи ) рутират само по destination. Дали ще е mac, ipv4, ipv6 няма значение, source адреса в пакета ( mac/ipv4/ipv6 ) се игнорира напълно когато преминава през рутера и не е предназначен за него.

Разгледай внимателно сайта който Slevin_ ти е дал. Но преди това виж това: http://iptables-tutorial.frozentux.net/iptables-tutorial.html
Има много хубави картинки които ще ти изяснят напълно какво точно се случва с всеки пакет от стъпването на мрежовата карта до излизането му обратно в мрежата, съответно от генерирането на пакет от локалната машина до излизането през мрежовата карта.
Активен

Slevin_

  • Напреднали
  • *****
  • Публикации: 182
    • Профил
Load balance
« Отговор #12 -: Apr 04, 2008, 10:25 »
Цитат (teleport @ Април 04 2008,01:22)
// offtopic

Ако откриеш начин по който се прави и го публикуваш ще получиш тирове с бира от благодарни домашни бтк адсл потребители.

//offtopic
Принципно, не аз съм открил топлата вода, но има начин стига да се знае паролата за достъп до модема.
Ако те интересува нещо, може но на лични.
Активен

"Две неща на този свят са безкрайни - човешката глупост и вселената. За второто не съм съвсем сигурен" А. Айнщайн

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
load at start up
Настройка на програми
sebastianz55 2 2025 Последна публикация Nov 23, 2003, 06:03
от
Top и load average
Хардуерни и софтуерни проблеми
choko 12 4683 Последна публикация Oct 06, 2006, 16:18
от gat3way
System load avg
Идеи и мнения
bnight 6 1718 Последна публикация Aug 24, 2007, 15:35
от bnight
Ubuntu 9.10 can't load - РЕШЕН
Настройка на програми
H0lyGanGs7eR 6 2199 Последна публикация Oct 21, 2009, 09:57
от jivkojj
Висок load при четене/писане на диска на 64 битова система
Настройка на програми
senser 19 4737 Последна публикация Jul 09, 2010, 15:37
от senser