Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

FreeBSD и два модема к двум разным провайдерам.

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix
Предыдущая тема :: Следующая тема  
Автор Сообщение
mikem



Зарегистрирован: 12.07.2003
Сообщения: 5

СообщениеДобавлено: Сб Июл 12 2003 20:37    Заголовок сообщения: FreeBSD и два модема к двум разным провайдерам. Ответить с цитатой

помогите разобраться, (подойдут любые варианты)...
Есть сервачек FreeBSD4.8
настроена диалапная связь 115kbit/s (реальнобыстрая tun0) -[хороший канал, но иногда падает, когда провайдеры чето там у себя ломают].
Есть второй модем 56kbit/s (всегда работает, но, цена в три раза выше - выделенка64к-async) который должен фонить к другому провайдеру на случай, когда первый провайдер чето там ломает (желательно это автоматически).
...как в песне Миронова - крокодил не ловится, не растет кокос... неделю по инету шерстю...
Описание конфигурации:
---
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=50
options ICMP_BANDLIM
options IPDIVERT
options HZ=1000
options DUMMYNET
---
net.inet.ip.fw.one_pass=0
---
gateway_enable="YES"
hostname="saturn.sirius.com"
network_interfaces="lo0 rl0 tun0"
ifconfig_rl0="inet 192.168.0.1 netmask 255.255.255.0"
ifconfig_tun0=
firewall_enable="YES"
firewall_script="/etc/firewall/fwrules"
natd_enable="YES"
natd_interface="tun0"
natd_flags="-dynamic -s -u -p 8668"
named_enable="YES"
named_flags="-b /etc/namedb/named.boot"
kern_securelevel_enable="NO"
linux_enable="YES"
sshd_enable="YES"
---ppp.conf:
default:
add default HISADDR
saturn:
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
mikem



Зарегистрирован: 12.07.2003
Сообщения: 5

СообщениеДобавлено: Сб Июл 12 2003 20:44    Заголовок сообщения: Re: FreeBSD и два модема к двум разным провайдерам. Ответить с цитатой

-- это рабочая коннекция первого модема
set device /dev/cuaa1
set speed 115200
set phone "0|1:2|3"
enable dns
set authname saturn
set authkey 111
set redial 5 333
set reconnect 5 9999
---
#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
uprefix='192.168.0'
iftun='tun*'
ifrl='rl0'
${ipfw} add 201 allow ip from ${uprefix}.3 to any via ${ifrl}
${ipfw} add 201 allow ip from any to ${uprefix}.3 via ${ifrl}
...и т.д. на кучу сетевых машин...
${ipfw} add 2400 pipe 1 ip from any to any out xmit ${iftun}
${ipfw} add 2401 pipe 2 ip from any to any in recv ${iftun}
${ipfw} pipe 1 config bw 115Kbit/s #${iftun}
${ipfw} pipe 2 config bw 115Kbit/s #${iftun}
${ipfw} queue 10 config pipe 1 weight 15 #mask src-ip 0xffffffff
${ipfw} queue 11 config pipe 2 weight 15 #mask dst-ip 0xffffffff
${ipfw} queue 20 config pipe 1 weight 35 #mask src-ip 0xffffffff
${ipfw} queue 21 config pipe 2 weight 35 #mask dst-ip 0xffffffff
${ipfw} queue 30 config pipe 1 weight 50 #mask src-ip 0xffffffff
${ipfw} queue 31 config pipe 2 weight 50 #mask dst-ip 0xffffffff
# inside BEGIN
${ipfw} add 2410 queue 10 ip from ${uprefix}.3 to any out recv ${ifrl} xmit ${iftun}
...и т.д. ...
${ipfw} add 2459 queue 30 ip from ${uprefix}.99 to any out recv ${ifrl} xmit ${iftun}
# inside END
${ipfw} add 2500 divert 8668 ip from any to any via ${iftun}
# outside BEGIN
${ipfw} add 2510 queue 11 ip from any to ${uprefix}.3 in recv ${iftun}
...и т.д. ...
${ipfw} add 2559 queue 31 ip from any to ${uprefix}.99 in recv ${iftun}
# outside END
${ipfw} add 3000 reset log tcp from any to any 113 in recv ${iftun}
${ipfw} add 3010 allow icmp from any to any icmptypes 0,3,8,11,12,13,14
${ipfw} add 3050 allow udp from any to any 53 out xmit ${iftun}
${ipfw} add 3060 allow udp from any 53 to any in recv ${iftun}
${ipfw} add 3100 allow tcp from any to any out xmit ${iftun} setup
${ipfw} add 3110 allow tcp from any to any via ${iftun} established
${ipfw} add 3200 allow tcp from any to any 80 setup
${ipfw} add 3210 allow tcp from any to any 22 setup
${ipfw} add 4000 allow ip from any to any via lo0
${ipfw} add 65435 deny log ip from any to any
---
и все работает с сумасшедшей скоростью. НО как чтото ломают провидеры - на час на два инет не существует Sad и все юзеры в конторе начинают потихоньку подвывать. Это бывает не часто, но все-же...
Как сделать что-то чтобы работало: например [ ping -S (192.168.2.10 - постоянный IP модема tun0) 195.10.10.10 - IP подальше провидера ] и при неудаче фонил бы другой модем к другому провидеру.
Таким же образом проверять через минуту - поднялся ли первый провидер и отрубать второй модем.
Мне подсказывают Zebra - как это делается? - дело втом, что у меня на эксперименты только выходные Sad Времени мало на изучение новинок, а знать хочется.
...где рыть надо, и в каком порядке???
Буду признателен за любой намек в сторону решения этой проблемы.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Чувачёк
Гость





СообщениеДобавлено: Вс Июл 13 2003 10:10    Заголовок сообщения: Рассказываю (+) Ответить с цитатой

Зебра тут никаким место не поможет, т.к. она использует протокол динамической маршрутизации. На другом конце (у провайдера) тоже должен стоять протокол динамической маршрутизации и тебе отвечать, а вот этого они делать не будут! Гемойно это и чревато ошибками.

В таких ситуациях люди пишут собственные скриптики. Если в течении 5 минут ответа на ping нет, то меняем шлюз по умолчанию и правила FireWall на другой канал.

Идея ясна?
Вернуться к началу
mikem



Зарегистрирован: 12.07.2003
Сообщения: 5

СообщениеДобавлено: Пн Июл 14 2003 09:23    Заголовок сообщения: Re: Рассказываю (+) Ответить с цитатой

А как проверить работоспособность первого модема если меняем шлюз?
Есть патч на ядро Фри48 который дает возможность иметь 2 gateway, но он у меня почемуто не заработал Sad может не разобрался до конца?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
and3008



Зарегистрирован: 12.10.2001
Сообщения: 14893
Откуда: Н.Новгород

СообщениеДобавлено: Вт Июл 15 2003 13:14    Заголовок сообщения: Дык ping-уй дальше. Появился канал - опять меняй маршрут. (-) Ответить с цитатой

-
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Unix Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...