|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Eugene Grosbein 2:5006/1 09 Jan 2007 21:46:35 To : Vassily Kiryanov Subject : Re: Freebsd 5.5 multipath routing -------------------------------------------------------------------------------- 09 янв 2007, вторник, в 18:04 KRAST, Vassily Kiryanov написал(а): EG>> Чем именно криво 3 (кроме эстетического неудовлетворения)? EG>> У меня сейчас в одном месте система работает через три канала EG>> одновременно, причем один из них - туннель на серых адресах, который EG>> там дальше имеет выход в мир, уже после туннеля, и через NAT. VK> А как реализовано? Какие модули/в какой связке? Hе netgraph, а ipfw fwd + скрипт: #!/bin/sh PATH=/bin:/sbin:/usr/bin:/usr/sbin probe() { # если еще не тестировали, добавить в список протестированных # и протестировать, а если уже тестировали - вернуть истину [ "$1" = "$gw1" ] && l=c1 [ "$1" = "$gw2" ] && l=c2 [ "$1" = "$gw3" ] && l=c3 if eval [ -z \"\$$l\" ]; then ping -q -c 10 -i 0.3 -t 3 $1 >/dev/null 2>&1 eval $l=$? fi eval return \"\$$l\" } switch_d() { route -q delete default route -q add default $1 echo $0: default route changed to $1 } select_route() { # проверяем маршруты по приоритету for g in $defaultrouter $backupdefault $backupdefault2 do # если нашелся живой шлюз if probe $g; then # если текущий шлюз другой, переключиться на найденный [ $gw != $g ] && switch_d $g # прекратить перебор return fi done } . /etc/rc.conf || exit 1 gw=`route -n get default | awk '/gateway:/ { print $2}'` if [ "$gw" = '' ]; then gw=$defaultrouter route add default $gw echo $0: no default route, using $gw fi select_route exit 0 Запускать по крону. Eugene -- Знаете ли вы, что... Иисус имел не менее 4 братьев и 2 сестер (Матф.13:54) --- slrn/0.9.8.0 (FreeBSD) * Origin: Svyaz Service JSC (2:5006/1@fidonet) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/26093abbd5b12.html, оценка из 5, голосов 10
|