готовый порт для автосмены каналов интернета
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
готовый порт для автосмены каналов интернета
Есть ли в портах фряхи готовая приблуда для автосмены на резервный канал, если основной упал и переключения назад?? Или придется изобретать?
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: готовый порт для автосмены каналов интернета
в гуглах есть
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: готовый порт для автосмены каналов интернета
BGP с автономнкой называеться
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: готовый порт для автосмены каналов интернета
это платная шняга..уже почитал...мне бы просто чтобы скрипт пинговал какой нить хост и при отсутствии пинга например 15 сек в rc.conf менялся defaultrouter и rc.conf перезапускался....но при этом чтобы скрипт пытался пинговать удаленный хост через главный канал и если он пойдет, то defaultrouter опять на основной канал и рестарт rc.conf
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: готовый порт для автосмены каналов интернета
в 8бсд уже можно больше двух роутов добавлять
поэтому мне не понятен ваш секс
поэтому мне не понятен ваш секс
- hizel
- дядя поня
- Сообщения: 9032
- Зарегистрирован: 2007-06-29 10:05:02
- Откуда: Выборг
Re: готовый порт для автосмены каналов интернета
с 7.1
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: готовый порт для автосмены каналов интернета
темболееhizel писал(а):с 7.1
к томуже на форуме уже писали такие скрпты
так что гуглите
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: готовый порт для автосмены каналов интернета
ну не могу найти не по каким запросам на форуме скрипт...может кому на глаза попадался..напишите плиз
-
- проходил мимо
- Сообщения: 11620
- Зарегистрирован: 2008-02-21 18:15:41
Re: готовый порт для автосмены каналов интернета
у вас 6 бсд? или 4?
-
- лейтенант
- Сообщения: 693
- Зарегистрирован: 2008-10-02 20:49:21
Re: готовый порт для автосмены каналов интернета
у меня 7,1...но про два гетвея я не нашел в инете..даже синтаксис написания
-
- сержант
- Сообщения: 282
- Зарегистрирован: 2009-05-28 14:36:50
- Откуда: Кишинев
Re: готовый порт для автосмены каналов интернета
Ты точно про Equal Cost Multi-Path Routing написал?hizel писал(а):с 7.1
Получается как в песне - "У нас есть такие приборы! Но мы вам про них не расскажем!"
-
- сержант
- Сообщения: 282
- Зарегистрирован: 2009-05-28 14:36:50
- Откуда: Кишинев
Re: готовый порт для автосмены каналов интернета
можно использовать sysutils/monitmediamag писал(а):у меня 7,1...но про два гетвея я не нашел в инете..даже синтаксис написания
правило
Код: Выделить всё
check host gw1 with address A.A.A.A
IF FAILED ICMP TYPE ECHO COUNT 10 TIMEOUT 2 SECONDS 2 CYCLES
THEN exec "route change default B.B.B.B"
ELSE IF recovered THEN exec "route change default A.A.A.A"
- schizoid
- подполковник
- Сообщения: 3228
- Зарегистрирован: 2007-03-03 17:32:31
- Откуда: Украина, Чернигов
- Контактная информация:
Re: готовый порт для автосмены каналов интернета
а можно пример команды?paradox писал(а):в 8бсд уже можно больше двух роутов добавлять
поэтому мне не понятен ваш секс
ядерный взрыв...смертельно красиво...жаль, что не вечно...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: готовый порт для автосмены каналов интернета
ЕМНИП
в ядро и можно савить больше одного маршрутоа на один путь.
Правда в тамом случае "балансировка/бекап" будет работать, только когда физически пропадает связь на сетевухе (down) - иначе он будет в пустую слать трафик через неработающий линк?
---
новее не нашел, но помню что что-то было недавно в листах.
http://lists.freebsd.org/pipermail/cvs- ... 89956.html
Код: Выделить всё
options RADIX_MPATH
Правда в тамом случае "балансировка/бекап" будет работать, только когда физически пропадает связь на сетевухе (down) - иначе он будет в пустую слать трафик через неработающий линк?
---
новее не нашел, но помню что что-то было недавно в листах.
http://lists.freebsd.org/pipermail/cvs- ... 89956.html
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- helloworld
- ст. сержант
- Сообщения: 368
- Зарегистрирован: 2007-10-03 8:06:37
- Откуда: Northern Colorado
Re: готовый порт для автосмены каналов интернета
всё, дальше топик не читалparadox писал(а):BGP с автономнкой называеться
-
- проходил мимо
Re: готовый порт для автосмены каналов интернета
У когонить заработало RADIX_MPATH ?
Пытаюсь поработать с mpath. Не получается (то, что по идее бы должно).
Схема такая:
Компьютер 1 - WinXP+SP3
сетевая 1 - 192.168.0.23/24
сетевая 2 - 10.1.0.1/24
сетевая 3 - 10.2.0.1/24
На всякий случай: IPEnableRouter=1, EnableDeadGWDetect=1
Компьютер 2 - Freebsd 8.0 + option RADIX_MPATH
сетевая 4 - 10.1.0.2/24 xl0
сетевая 5 - 10.2.0.2/24 sis0
"Кривой" кабель 1 соединяет сетевую 2 и 4.
"Кривой" кабель 2 соединяет сетевую 3 и 5.
Добавляем роуты по одному (для проверки).
-------------
-------------
Добавляем роуты сразу оба.
Пакеты идут через xl0 (tcpdump).
Теперь главное! Вытаскиваем кабель 1 (между сетевыми 2 и 4).
test1# ping 192.168.0.23
Пинга нету, пакеты не идут. Т.Е. фря не выбирает второй маршрут по умолчанию.
Что я делаю не правильно?
Может есть какой-то параметр таймаута, чтобы фря смогла переключиться? Хелп.
Пытаюсь поработать с mpath. Не получается (то, что по идее бы должно).
Схема такая:
Компьютер 1 - WinXP+SP3
сетевая 1 - 192.168.0.23/24
сетевая 2 - 10.1.0.1/24
сетевая 3 - 10.2.0.1/24
На всякий случай: IPEnableRouter=1, EnableDeadGWDetect=1
Компьютер 2 - Freebsd 8.0 + option RADIX_MPATH
сетевая 4 - 10.1.0.2/24 xl0
сетевая 5 - 10.2.0.2/24 sis0
"Кривой" кабель 1 соединяет сетевую 2 и 4.
"Кривой" кабель 2 соединяет сетевую 3 и 5.
Код: Выделить всё
test1# ping 10.1.0.1
PING 10.1.0.1 (10.1.0.1): 56 data bytes
64 bytes from 10.1.0.1: icmp_seq=0 ttl=129 time=0.134 ms
test1# ping 10.2.0.1
PING 10.2.0.1 (10.2.0.1): 56 data bytes
64 bytes from 10.2.0.1: icmp_seq=0 ttl=129 time=0.226 ms
-------------
Код: Выделить всё
test1# route add default 10.1.0.1
add net default: gateway 10.1.0.1
test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.171 ms
test1# route delete default 10.1.0.1
delete net default: gateway 10.1.0.1
------------
test1# route add default 10.2.0.1
add net default: gateway 10.2.0.1
test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.221 ms
test1# route delete default 10.2.0.1
delete net default: gateway 10.2.0.1
Добавляем роуты сразу оба.
Код: Выделить всё
test1# route add default 10.1.0.1
add net default: gateway 10.1.0.1
test1# route add default 10.2.0.1
add net default: gateway 10.2.0.1
test1# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.1.0.1 UGS 0 0 xl0 =>
default 10.2.0.1 UGS 0 0 sis0
10.1.0.0/24 link#2 U 1 580 xl0
10.1.0.2 link#2 UHS 0 0 lo0
10.2.0.0/24 link#1 U 0 8 sis0
10.2.0.2 link#1 UHS 0 0 lo0
127.0.0.1 link#4 UH 0 184 lo0
test1# ping 192.168.0.23
PING 192.168.0.23 (192.168.0.23): 56 data bytes
64 bytes from 192.168.0.23: icmp_seq=0 ttl=129 time=0.146 ms
Теперь главное! Вытаскиваем кабель 1 (между сетевыми 2 и 4).
test1# ping 192.168.0.23
Пинга нету, пакеты не идут. Т.Е. фря не выбирает второй маршрут по умолчанию.
Что я делаю не правильно?
Может есть какой-то параметр таймаута, чтобы фря смогла переключиться? Хелп.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: готовый порт для автосмены каналов интернета
А из-под какого IP идут пакеты от FreeBSD когда 2 канала и пингуете 192.168.0.23 ? В тцпдампе видно? Случайно не из-под 10.1.0.2?
Просто может винда сама получив такой пакет не знает куда его слать, если маршрута больше нет к 10.1.0.2.
Трейсруты еще посмотреть было бы любопытно...
---
Да еще одна мысля появилась. насколько я помню там механизм распределения завязан на хеш-таблице. Попробуйте внешнему виндовому интерфейсу дать еще один адрес (скажем 192.168.0.24) и попинговать/потрейсрутить его - может для него хеш дасть другой маршрут...
Просто может винда сама получив такой пакет не знает куда его слать, если маршрута больше нет к 10.1.0.2.
Трейсруты еще посмотреть было бы любопытно...
---
Да еще одна мысля появилась. насколько я помню там механизм распределения завязан на хеш-таблице. Попробуйте внешнему виндовому интерфейсу дать еще один адрес (скажем 192.168.0.24) и попинговать/потрейсрутить его - может для него хеш дасть другой маршрут...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
Re: готовый порт для автосмены каналов интернета
Вначале сам подумал, что может не выходит обратный маршрут найти, но тут другое: в tcdump нету вообще ничего. Пакеты именно не уходят с моей стороны.terminus писал(а):А из-под какого IP идут пакеты от FreeBSD когда 2 канала и пингуете 192.168.0.23 ? В тцпдампе видно? Случайно не из-под 10.1.0.2?
Просто может винда сама получив такой пакет не знает куда его слать, если маршрута больше нет к 10.1.0.2.
Трейсруты еще посмотреть было бы любопытно...
---
Да еще одна мысля появилась. насколько я помню там механизм распределения завязан на хеш-таблице. Попробуйте внешнему виндовому интерфейсу дать еще один адрес (скажем 192.168.0.24) и попинговать/потрейсрутить его - может для него хеш дасть другой маршрут...
Второй ип давать не хочу - теряется вообще весь смысл затеи. Если ип изначально два это можно реализовать через статичные роуты (каждый ип через свой сетевой интерфейс).
Мне в идеале нужно 2 машрута к одной подсети. Сейчас рассматривается простейшая конфигурация.
Если уже она не работает, то к ему весь гундеж про mpath во фре...
-
- проходил мимо
Re: готовый порт для автосмены каналов интернета
Проверил еще раз: пакеты пинга идут с 10.1.0.2 по интерфейсу xl0.terminus писал(а):А из-под какого IP идут пакеты от FreeBSD когда 2 канала и пингуете 192.168.0.23 ? В тцпдампе видно? Случайно не из-под 10.1.0.2?
Просто может винда сама получив такой пакет не знает куда его слать, если маршрута больше нет к 10.1.0.2.
Трейсруты еще посмотреть было бы любопытно...
---
Да еще одна мысля появилась. насколько я помню там механизм распределения завязан на хеш-таблице. Попробуйте внешнему виндовому интерфейсу дать еще один адрес (скажем 192.168.0.24) и попинговать/потрейсрутить его - может для него хеш дасть другой маршрут...
По sis0 ничего нету.
-
- проходил мимо
Re: готовый порт для автосмены каналов интернета
Соотвественно до винды пакеты даже не доходят.
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: готовый порт для автосмены каналов интернета
Вероятно использовать RADIX_MPATH для балансировки локального трафика - нельзя. Ведь локальным демонам/программам для открытия сокета надо использовать какой-то IP, вот они и берут тот, что первый для таблицы маршрутизации (у вас 10.1.0.2).
Думаю, что для маршрутизируемого трафика картина будет другой. Вам надо обеспечить балансировку именно для локального трафика или все же цель балансировать трафик клиентов находящихся за FreeBSD рутером?
Думаю, что для маршрутизируемого трафика картина будет другой. Вам надо обеспечить балансировку именно для локального трафика или все же цель балансировать трафик клиентов находящихся за FreeBSD рутером?
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
-
- проходил мимо
Re: готовый порт для автосмены каналов интернета
Попытался проверить эту идею.terminus писал(а):Вероятно использовать RADIX_MPATH для балансировки локального трафика - нельзя. Ведь локальным демонам/программам для открытия сокета надо использовать какой-то IP, вот они и берут тот, что первый для таблицы маршрутизации (у вас 10.1.0.2).
Думаю, что для маршрутизируемого трафика картина будет другой. Вам надо обеспечить балансировку именно для локального трафика или все же цель балансировать трафик клиентов находящихся за FreeBSD рутером?
Собрал еще одну машинку "клиент". Подцепил его к фре через отдельную сетевушку.
Пингую с него по прежнему 192.168.0.23. Смотрю пакеты ICMP tcpdump-ом на интерфейсах фре sis0 и xl0.
Когда оба кабеля подключены к винде есть пакеты на xl0.
Когда отключаю кабель с xl0, и ожидаю что для сеетвого клиента фря будет гнать пакеты через sis0 - фиг, ничего нету.
- freeman
- лейтенант
- Сообщения: 734
- Зарегистрирован: 2007-03-18 5:13:25
Re: готовый порт для автосмены каналов интернета
А действительно юзает ли кто эту новую фишку для данного случая или как я как по старинке скриптами сделали влом трогать работающее ?
Остатся должен только один ...
- terminus
- майор
- Сообщения: 2305
- Зарегистрирован: 2007-10-29 11:27:35
- Откуда: Рига
Re: готовый порт для автосмены каналов интернета
Я не пробовал еще даже. И 8.0 еще не использую...
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.
- budmo
- рядовой
- Сообщения: 18
- Зарегистрирован: 2010-04-04 11:48:38
Re: готовый порт для автосмены каналов интернета
Пример скрипта переключения. IP1,IP2,RUN1,RUN2 поменять для себя. Имена файлов тоже...
#!/bin/sh
IP1="210.10.10.11"
IP2="110.10.10.11"
FLG="/ram/pcheck.flg";
CNF="/ram/pcheck.cnt";
LOG="/var/log/zz_connect.log"
RUN1="/sbin/pfctl -f /etc/pf.conf"
RUN2="echo > /etc/pf.empty; /sbin/pfctl -f /etc/pf.empty"
CHK=0
mexit(){
if [ -f $FLG ] ; then rm -f $FLG; fi; exit;
}
# Флаг выполнения скрипта
# if [ -f $FLG ] ; then exit; fi; echo>$FLG;
# Прочитать значение счетчика проверки пинга из файла
if [ ! -f $CNF ] ; then echo "0">$CNF; fi; CNT=`cat $CNF`
# Проверка доступа к соседям
/sbin/ping -c3 -t3 $IP1 > ${FLG}.nb1
NB1=`cat ${FLG}.nb1 | grep ms`;
/sbin/ping -c3 -t3 $IP2 > ${FLG}.nb2
NB2=`cat ${FLG}.nb2 | grep ms`;
# Если нет доступа к аплинку - установить флаг
if [ "$NB1" = "" ] ; then CHK=1; fi
if [ "$NB2" = "" ] ; then CHK=2; fi
# Eсли есть доступ к аплинку
if [ $CHK -eq 0 ] ; then
# Если на предыдущем вызове доступа к аплинку не было (CNT>0)
# запустить правила PF
if [ $CNT -gt 0 ] ; then $RUN1 2>>/dev/null; echo "0">$CNF; fi
# Если доступа не было более одного вызова - послать сообщение
# о восстановлении сессии
if [ $CNT -gt 1 ] ; then echo "SESSION ESTABLISHED."; fi
mexit
fi
# Если хоть к одному аплинку доступа нет - увеличить счетчик таймаута
CNT=`expr $CNT + 1 `
# Если прошло три таймаута - запустить "пустые" правила для PF и
# послать сообщение о разрыве сессии
if [ $CNT -eq 3 ] ; then $RUN2 2>>/dev/null; echo "SESSION BREAK"; CNT=4; fi
# Если счетчик таймаута меньше 5 - записать его значение в файл (MAX=4)
if [ $CNT -lt 5 ] ; then echo "$CNT" >$CNF; fi
mexit
#!/bin/sh
IP1="210.10.10.11"
IP2="110.10.10.11"
FLG="/ram/pcheck.flg";
CNF="/ram/pcheck.cnt";
LOG="/var/log/zz_connect.log"
RUN1="/sbin/pfctl -f /etc/pf.conf"
RUN2="echo > /etc/pf.empty; /sbin/pfctl -f /etc/pf.empty"
CHK=0
mexit(){
if [ -f $FLG ] ; then rm -f $FLG; fi; exit;
}
# Флаг выполнения скрипта
# if [ -f $FLG ] ; then exit; fi; echo>$FLG;
# Прочитать значение счетчика проверки пинга из файла
if [ ! -f $CNF ] ; then echo "0">$CNF; fi; CNT=`cat $CNF`
# Проверка доступа к соседям
/sbin/ping -c3 -t3 $IP1 > ${FLG}.nb1
NB1=`cat ${FLG}.nb1 | grep ms`;
/sbin/ping -c3 -t3 $IP2 > ${FLG}.nb2
NB2=`cat ${FLG}.nb2 | grep ms`;
# Если нет доступа к аплинку - установить флаг
if [ "$NB1" = "" ] ; then CHK=1; fi
if [ "$NB2" = "" ] ; then CHK=2; fi
# Eсли есть доступ к аплинку
if [ $CHK -eq 0 ] ; then
# Если на предыдущем вызове доступа к аплинку не было (CNT>0)
# запустить правила PF
if [ $CNT -gt 0 ] ; then $RUN1 2>>/dev/null; echo "0">$CNF; fi
# Если доступа не было более одного вызова - послать сообщение
# о восстановлении сессии
if [ $CNT -gt 1 ] ; then echo "SESSION ESTABLISHED."; fi
mexit
fi
# Если хоть к одному аплинку доступа нет - увеличить счетчик таймаута
CNT=`expr $CNT + 1 `
# Если прошло три таймаута - запустить "пустые" правила для PF и
# послать сообщение о разрыве сессии
if [ $CNT -eq 3 ] ; then $RUN2 2>>/dev/null; echo "SESSION BREAK"; CNT=4; fi
# Если счетчик таймаута меньше 5 - записать его значение в файл (MAX=4)
if [ $CNT -lt 5 ] ; then echo "$CNT" >$CNF; fi
mexit