Автор Тема: Автоматично превключване на  2 ISP  (Прочетена 1059 пъти)

tonyboy75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Здравейте експерти. Не желая да досаждам с дълги въпроси и затова ще бъда максимално кратък. Значи това, което ме интересува е следното: как може да се направи така, че при наличие на 2 ИСП като пропадне едната връзка да става автоматично превключване да другата връзка.
Активен

  • Гост
Автоматично превключване на  2 ISP
« Отговор #1 -: Jan 24, 2006, 10:56 »
цък
Активен

amri

  • Участници
  • ***
  • Публикации: 8
    • Профил
Автоматично превключване на  2 ISP
« Отговор #2 -: Jan 25, 2006, 11:01 »
Здравей tonyboy75 въпроса ти има много решения. Аз ще ти дам някои полезни идеи. Много лесен начин е да напишеш bash(http://www.tldp.org/LDP/abs/html/) скрипт който да проверява дали връзките са наред(чрез mii-tool(link), ping например). Ако някой от връзките е пропаднала да се затрива текущата routing таблица и да се замени с нова и подразбиращ Gateway (ip route add default  gw ...). Като този прост скрипт може да сложиш в crontab зада проверява състоянието на връзките на определено от теб време. Друг начин е прочетеш: http://www.lartc.org/.Може да ползваш също динамични протоки.Има още куп решения ...
Активен

tonyboy75

  • Участници
  • ***
  • Публикации: 4
    • Профил
Автоматично превключване на  2 ISP
« Отговор #3 -: Jan 26, 2006, 09:52 »
Цитат (Guest @ Ян. 24 2006,11:56)
цък

Агент Смит, най-учтиво Ви моля ако не сте в състояние да помогнете, то поне да не пишете каквото и да е. Нека не забравяме, че и вие също не сте се родил технически образован!
Активен

laskov

  • Напреднали
  • *****
  • Публикации: 3166
    • Профил
Автоматично превключване на  2 ISP
« Отговор #4 -: Jan 26, 2006, 10:22 »
tonyboy75, понеже имам същата ситуация и решението на проблема ти ме интересува, много моля да споделиш накрая как си го направил! А инъче, онова цък води към една препратка, посочена от zarhi, която води до това, което е май точно нашия случай.
Благодарности към агента и към zarhi!
Активен

Не си мислете, че понеже Вие мислите правилно, всички мислят като Вас! Затова, когато има избори, идете и гласувайте, за да не сте изненадани после от резултата, и за да не твърди всяка партия, че тя е спечелила, а Б.Б. (С.С., ...) е загубил, а трети да управлява.  Наздраве!  [_]3

vENZi

  • Напреднали
  • *****
  • Публикации: 36
    • Профил
Автоматично превключване на  2 ISP
« Отговор #5 -: Jan 26, 2006, 12:47 »
Цитат (tonyboy75 @ Ян. 24 2006,11:21)
Здравейте експерти. Не желая да досаждам с дълги въпроси и затова ще бъда максимално кратък. Значи това, което ме интересува е следното: как може да се направи така, че при наличие на 2 ИСП като пропадне едната връзка да става автоматично превключване да другата връзка.

mdam i az se draznia ot izkazvaniata ot sorta "tyrsi stari postove" no kakto i da e
imam reshenie koeto sym pisal na bash za 2 lininii ako ednata propadne obryshta prez rezervna i posle osnovnata kato se opravi pak obryshta obratno ako iskash moga da ti go pratia na maila, na mene mi vyrshi dobra rabota na niakolko mashini ot dosta vreme (godini)
Активен

Agent_SMITH

  • Administrator
  • Напреднали
  • *****
  • Публикации: 3082
  • matrix kernel module
    • Профил
Автоматично превключване на  2 ISP
« Отговор #6 -: Jan 26, 2006, 13:31 »
@tony:

Предложих ти единствената тема близка до описаното. Не съм казал, че е единственото решение. Кой се е родил с ученическа чанта, кой е роден да бъде вечно сърдит или да раздава оценки - не ме вълнува. '<img'>

@Venzi:

Как се дразня само на потребители регистрирани преди сума месеци, които пишат на шльокавица... Дали не е удачно просто да пуснеш "двата реда" тук? Или когато се появи следващия потребител със сходен проблем пак ще му пуснеш мейл?

Успех с решаването на проблема на tony  ':ok:'
Активен

-= СПАЗВАЙТЕ ПРАВИЛАТА НА ФОРУМА =-

nix

  • Напреднали
  • *****
  • Публикации: 442
    • Профил
Автоматично превключване на  2 ISP
« Отговор #7 -: Jan 26, 2006, 14:05 »
Пачваш си кернела с dgd на JA;)
http://www.ssi.bg/~ja/routes-2.6.14-12.diff
Слагаш този скрипт за да балансира между двата ISP-a.
Цитат

#!/bin/bash
# This script is done by : Robert Kurjata Sep, 2003.
# feel free to use it in any usefull way

# 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.222
EXTM1=24
EXTGW1=192.168.0.1

# LINK 2
EXTIF2=eth1
EXTIP2=192.168.1.222
EXTM2=24
EXTGW2=192.168.1.1

#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 221 table 221
echo "flushing tables"
${IP} route flush table 201
${IP} route flush table 202
${IP} route flush table 221
echo "removing tables"
${IP} route del table 201
${IP} route del table 202
${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} 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

# 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 1


Пускаш този рефрешер на бакгроунд и това е!
Воала'<img'>
Цитат

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

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

# LINK 1
EXTGW1=192.168.0.1

# LINK 2
EXTGW2=192.168.1.1

while : ; do
  ${PING} -c 1 ${EXTGW1} > /dev/null 2>&1
  ${PING} -c 1 ${EXTGW2} > /dev/null 2>&1
  sleep 15
done
Активен

DEBIAN GNU/Linux SID/kernel-2.6.16