- Два канала в инет, warlock, 05:47 , 29-Май-03 (1)
>Добрый день! > >Есть FreeBSD, на ней имеется например 3 интерефеса - 2 в инет >смотрят и один в локальную сеть, имеется мечта написать скрипт, который >будет запусаться кроном например раз в минуту, послыать пинг по одному >каналу (основному) и если пакеты не идут то разворачивать НАТ на >резервный канал, все вроде осуществимо. Но вот что то я не >могу понять как можно поменять значение defaultrouter на-лету? >ткните плиз носом где это написано > >За любой совет буду благодарен! Предположим 1-ый defaultrouter=212.106.20.90, 2-ой 212.107.12.12 тогда в скрипте который запускается из crontab нужно добавить строку sed \s/="212.106.20.90"/="212.107.12.12"/ > /etc/rc.conf /etc/netstart ну или наоборот адреса поменять местами в зависимости какой канал свободен Только когда будешь эксперементировать сохране рабочий rc.conf куда-нибудь
- Два канала в инет, a1eksej, 06:10 , 29-Май-03 (2)
- Два канала в инет, warlock, 07:25 , 29-Май-03 (3)
>>>Добрый день! >>> >>>Есть FreeBSD, на ней имеется например 3 интерефеса - 2 в инет >>>смотрят и один в локальную сеть, имеется мечта написать скрипт, который >>>будет запусаться кроном например раз в минуту, послыать пинг по одному >>>каналу (основному) и если пакеты не идут то разворачивать НАТ на >>>резервный канал, все вроде осуществимо. Но вот что то я не >>>могу понять как можно поменять значение defaultrouter на-лету? >>>ткните плиз носом где это написано >>> >>>За любой совет буду благодарен! >> >>Предположим 1-ый defaultrouter=212.106.20.90, 2-ой 212.107.12.12 >>тогда в скрипте который запускается из crontab >>нужно добавить строку >> >>sed \s/="212.106.20.90"/="212.107.12.12"/ > /etc/rc.conf >>/etc/netstart >> >>ну или наоборот адреса поменять местами в зависимости какой канал свободен >>Только когда будешь эксперементировать сохране рабочий rc.conf куда-нибудь > >сенкс Удалось решить проблему или нет?
- Два канала в инет, A Clockwork Orange, 08:16 , 29-Май-03 (5)
- Два канала в инет, ShyLion, 08:44 , 29-Май-03 (6)
- Два канала в инет, A Clockwork Orange, 10:06 , 29-Май-03 (9)
- Два канала в инет, warlock, 10:36 , 29-Май-03 (11)
>тут есть 3 проблемы: >1. Что пинговать? Адрес следующего хопа? а если у провайдера вышестоящий линк >накрылся? >2. Как определить, что нужно переключать обратно на основной канал, если резервный >работает исправно. Если пинговать тот-же IP то он и так пинговаться >будет по резервному каналу. Прописать маршрут для этого IP на основной >канал? тогда до него не достучаться будет по резервному каналу в >случае необходимости (если например с него почта идет ил что-то еще). >Хотя при некоторых обстоятельствах такой вариант подойдет. >3. На одной машине нормально работать может только один канал. Пакеты приходить >могут по обеим каналам, а вот уходить по одному. И если >source адрес будет не тот, который назначен провайдером, то он еще >и порезаться может фильтром. На одной машине могут нормально работать два канала, причем часть адресов ходит через один, другая через другой (natd+ipfw), причем если отключить один канал, то другие адреса этого незаметят и будут продолжать выходить в инет. Можно организовать полное разделение каналов (у меня так и сделано при помощи NATD+ipfw)
- Два канала в инет, warlock, 10:32 , 29-Май-03 (10)
>>>Добрый день! >>> >>>Есть FreeBSD, на ней имеется например 3 интерефеса - 2 в инет >>>смотрят и один в локальную сеть, имеется мечта написать скрипт, который >>>будет запусаться кроном например раз в минуту, послыать пинг по одному >>>каналу (основному) и если пакеты не идут то разворачивать НАТ на >>>резервный канал, все вроде осуществимо. Но вот что то я не >>>могу понять как можно поменять значение defaultrouter на-лету? >>>ткните плиз носом где это написано >>> >>>За любой совет буду благодарен! >> >>Предположим 1-ый defaultrouter=212.106.20.90, 2-ой 212.107.12.12 >>тогда в скрипте который запускается из crontab >>нужно добавить строку >> >>sed \s/="212.106.20.90"/="212.107.12.12"/ > /etc/rc.conf >>/etc/netstart >> >>ну или наоборот адреса поменять местами в зависимости какой канал свободен >>Только когда будешь эксперементировать сохране рабочий rc.conf куда-нибудь > >Ответ неверный. >переписовать rc.conf а как его потом перечитать, не перегружаясь? >лучше просто добавлять и удалять маршрут по умолчанию route add >а вообще как многие говорят попробуй zebra. /etc/netstart :)))
- Два канала в инет, vik, 10:04 , 29-Май-03 (7)
- резюме, a1eksej, 03:44 , 30-Май-03 (12)
- резюме, warlock, 08:32 , 30-Май-03 (13)
>резюмирую :-) > >короче вот мои соображения по этому поводу... >думаю что кроном будет запускаться скрипт например раз в минуту, при этом >он будет пинговать ДНС-сервер провайдера и если пинг не будет доходить, >то скрипт будет поварачивать нат на интерефейс на резервном канале, и >переписывать правила ipfw для этого интерфеса и с помощью /etc/netstart менять >defaultrouter... при этом нужно что б при восстановлении основного линка, все >возращалась обратно... вот тут наверно придется руками это делать, что то >соображений нет, как это сделать.... У тебя, что адреса не рефальные в твоей сети, если да то придется и пправиля ipfw менять
- резюме, a1eksej, 08:54 , 30-Май-03 (14)
- резюме, warlock, 08:59 , 30-Май-03 (15)
>>>резюмирую :-) >>> >>>короче вот мои соображения по этому поводу... >>>думаю что кроном будет запускаться скрипт например раз в минуту, при этом >>>он будет пинговать ДНС-сервер провайдера и если пинг не будет доходить, >>>то скрипт будет поварачивать нат на интерефейс на резервном канале, и >>>переписывать правила ipfw для этого интерфеса и с помощью /etc/netstart менять >>>defaultrouter... при этом нужно что б при восстановлении основного линка, все >>>возращалась обратно... вот тут наверно придется руками это делать, что то >>>соображений нет, как это сделать.... >>У тебя, что адреса не рефальные в твоей сети, если да то >> >>придется и пправиля ipfw менять > > >правила ipfw придется меняь только для внешних интерфейсов... тоесть менять их местами >например via rl0 менять на via rl1 Но тогда почему придется менять обратно все руками, нельзя написать скрипт в котром все противоположно первому скрипту
- резюме, a1eksej, 09:13 , 30-Май-03 (16)
- резюме, warlock, 09:27 , 30-Май-03 (17)
> >>Но тогда почему придется менять обратно все руками, нельзя написать скрипт в >>котром все противоположно первому скрипту > > >можно, но сложно представить как он будет осуществлять, не понятно что будет >критерием для обратной перестановки, то есть при работе резервного канала будет >и использоваться резервный defaultrouter, при этом одновременно сложно определить заработал ли >оновоной линк, ведь тот же ДНС-сервер провайдера будет пинговаться через резервный >канал... в голове немного не укладывается :-) Извени, но пытаюсь разобраться в ситуации, у меня тоже были подобного рода проблемы Т.е. у тебя два канала у разнфх провов,а DNS только у одного, или 2 канала у одного прова а что если пинг вот так вот сделать, ping -S адрес_сетевой_карты_смотрящей_на_прова адрес_прова
- резюме, A Clockwork Orange, 10:03 , 30-Май-03 (19)
- Два канала в инет, Mikhail, 09:59 , 30-Май-03 (18)
|