URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 70774
[ Назад ]

Исходное сообщение
"Два xDSL-канала в Инет и FreeBSD 5.4"

Отправлено fatherra , 06-Дек-06 15:59 
Камрадам привет. В течение трех дней "буравил" аналогичные темы на данном форуме и для своей ситуации ничего приемлимого не нашел (может полохо искал или не там смотрел, но тем не менее..). Так что приношу прощение за изрядно избитую тему и собственно тема...
Есть маршрутизатор под управлением FreeBSD 5.4 (ядро собрано с поддержкой IPFIREWALL+IPDIVERT+IPFIREWALL_FORWARDING), изначально выход в Инет обеспечивал провайдер Укртелеком (дело имеет место в Одессе, что у Черного моря :)) и реализовано все это дело было при помощи РРР прикладного уровня через протокол РРРоЕ (т.е. настройка согласно хандбука+скрипт для проверки соединения и реконнекта в случае если РРР самостоятельно не может поднять канал в Инет), в качестве "дивайса", смотрящего на внешку - псевдо-устройство tun0:
---------------------------------------------------------------------------
tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> mtu 1492
        inet 82.207.хх.хх --> 195.5.5.16 netmask 0xffffffff
        Opened by PID 27603
------------------------------------------------------------------
Соответственно дефолтный маршрут направляется на 195.5.5.16:
------------------------------------------------------------------
Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            195.5.5.16         UGS         0    73942   tun0
------------------------------------------------------------------------------
Ну соответственно настроен фаер (IPFW) на работу вэба,фтп и почты...
До настоящего времени все было нормально, но подтянули еще один канал выхода в Инет и сразу возникли вопросы :(, но изначально попытаюсь обрисовать ситуацию с другим ADSL-каналом от второго провайдера (Матрица) -
подключение стандартное через тот же РРРоЕ, но реализовано оно следующим образом (у Матрицы):
а) сетевая карта, которая коммутируется с АДСЛ-модемом (работает естественно в режиме МОСТ), должна получить адрес через DHCP:
ifconfig_rl2="DHCP"
б) после получения сетевого адреса (провайдер делает привязку для своих клиентов по МАС-адресам сетевых интерфейсов), необходимо подключиться к сервису провайдера при помощи VPN-клиента (саппорт прова предлает под Фряхой использовать pptp-client или MPD). Зная о "глюках" pptp-клиента я сразу перещел к использованию MPD - собственно после недолгих ковыряний с MPD-клиентом, все завелось и для нормальной работы ВПН-соединения еще необходимо использовать два скрипта - при останове соединения и его подъеме... Содержимое скриптов прилагаю (для полноты картины):
-----------------------------------------------------------------------------------------
----------------->io-up.sh<-------------------
#!/bin/sh
vpn_ip=10.128.4.12
ip_def_gw="10.0.21.1"
server_ftp=10.129.1.2
/sbin/route delete $vpn_ip
/sbin/route add $vpn_ip $ip_def_gw
/sbin/route delete default
/sbin/route add default -interface ng0
/sbin/route add $server_ftp $ip_def_gw
--------------->END<-----------------------------
--------------->io-down.sh<----------------------
#!/bin/sh
vpn_ip=10.128.4.12
ip_def_gw="10.0.21.1"
/sbin/route delete default
/sbin/route add default $ip_def_gw
/sbin/route delete $vpn_ip
--------------->END<------------------------------
Анализ данных скриптов дает следующую информацию:
а) после получения сетевым интерфейсом DHCP-адреса и запуска собственно МРД-клиента, устанавливается маршрут от СЕРВЕРА_ВЫДАЮЩЕГО_МНЕ_DHCP и ВПН_ШЛЮЗОМ;
б) после удаления дефолтного маршрута и если MPD-клиент уже активен (имеется в наличии интерфейс ng0), устанавливается новый дефолтный маршрут через сетевой интерфейс MPD-клиента... Ну и содержимое скрипта, который отрабатывает при падении коннекта - я думаю понятно и так...
И вот, когда уже физический второй АДСЛ-канал готов к эксплуатации, я совершенно даже и не знаю, как заставить два АДСЛ-подключения работать автономно и не мешать при этом друг другу (дефолтный маршрут подразумеваетя - он же должен быть один и только один). Поможет ли в данном случае динамическая маршрутизация (zebra) или это можно реализовать при помощи статической маршрутизации? Вообщем пока все мои борения к положительному результату не привели - в один и тот же момент времени работает только один канал из-за того, что только для одного из АДСЛ-каналов я могу определить дефолтный маршрут :(
ЗЫ0 - для меня очень большой "заковыкой" оказалась организация подключения у Матрицы через ВПН-клиента...
ЗЫ1 - вопрос "гурам" - есть ли возможность в ррр-подключении через РРРоЕ указывать маршрут в статическом режиме, а не через инструкцию типа:
add default HISADDR? Может быть можно как-то организовать для первого прова (Укртелекома) статический маршрут, а вот для Матрицы с ее ВПНом - уже испльзовать дефолтный маршрут?


Содержание

Сообщения в этом обсуждении
"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено Skif , 07-Дек-06 01:46 
Можно попробовать договориться с провайдером по поводу DHCP, что  бы тебе давали постоянный серый адрес. Правда чаще всего происходит такая ситуация: провайдер имеет серую сетку 192.168.1.0/24 (например), в ней шлюз 192.168.1.1, все остальное адресное пространство отдается по DHCP, можно просто руками захапать себе IP и забыть про проблему. Ессно , что незабыть прописать статико

"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено Skif , 07-Дек-06 01:50 
Можно попробовать договориться с провайдером по поводу DHCP, что  бы тебе давали постоянный серый адрес. Правда чаще всего происходит такая ситуация: провайдер имеет серую сетку 192.168.1.0/24 (например), в ней шлюз 192.168.1.1, все остальное адресное пространство отдается по DHCP, можно просто руками захапать себе IP и забыть про проблему. Ессно , что не забыть прописать статикой маршрут к VPN-серверу. Но опять таки все это через общение с провом решается иначе могут начать с тобой бороться.
Касательно одновременной независимой работы двух VPN каналов, каждый из которых хочет прописать себе напостой при разрывах default route :) Сомнительно. Слишком они уж через одно место работать будут, о стройной структуре лучше забыть. Проще выделить еще один комп на канал и уже отнего разруливать. Хотя если хочется гемороя...

"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено fatherra , 07-Дек-06 09:15 
Спасибо за совет камрад :) - возможно стоит договориться с провайдером который мне организовывает раздачу адресов по DHCP...
>Касательно одновременной независимой работы двух VPN каналов, каждый из которых хочет >прописать
>себе напостой при разрывах default route :) Сомнительно. Слишком они уж
>через одно место работать будут, о стройной структуре лучше забыть. Проще
>выделить еще один комп на канал и уже отнего разруливать. Хотя
>если хочется гемороя...

А вот дальше немного не понял - у меня только одно соединение работает через VPN (от прова Матрица), а второе через стандартный ррр пользовательского уровня... просто я вот думал, раз в ррр.conf в секции описывающей параметры подключения через РРРоЕ, есть инструкция устанавливать дефолтный маршрут - add default HISADDR , а может быть его можно сделать каким-то образом статическим, чтобы он постоянно хранился в таблице маршрутизации и при этом не мешал ВПН-клиенту, для которого дефолтный маршрут является более необходимым?
ЗЫ - to Skif <--- а динамическая маршрутизация может решить такую дилемму?


"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено GreN , 07-Дек-06 11:39 
Ну варианта действительно 2
1 Договорится с провом, чтоб он те не давал дефаулт а просто айпишник, а ты в статику пихаеш роут.
2 Запретить принимать от прова дефаулт....



"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено fatherra , 09-Дек-06 03:07 
>Ну варианта действительно 2
>1 Договорится с провом, чтоб он те не давал дефаулт а просто
>айпишник, а ты в статику пихаеш роут.
Один момент... как это можно договориться с провом о том чтобы он выдавал мне АйПишник?
Это видимо подразумевается адрес шлюза который собственно со стороны провайдера выдает мне доступ к внешней сети (тырнету)?
>2 Запретить принимать от прова дефаулт....
Хм... камрад растолькуйте плиз - как это запретить принимать от прова дефаулт?
А каким же образом выходить во внешку?



"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено Skif , 09-Дек-06 22:24 
>Спасибо за совет камрад :) - возможно стоит договориться с провайдером который
>мне организовывает раздачу адресов по DHCP...
>>Касательно одновременной независимой работы двух VPN каналов, каждый из которых хочет >прописать
>>себе напостой при разрывах default route :) Сомнительно. Слишком они уж
>>через одно место работать будут, о стройной структуре лучше забыть. Проще
>>выделить еще один комп на канал и уже отнего разруливать. Хотя
>>если хочется гемороя...
>
>А вот дальше немного не понял - у меня только одно соединение
>работает через VPN (от прова Матрица), а второе через стандартный ррр
>пользовательского уровня... просто я вот думал, раз в ррр.conf в секции
>описывающей параметры подключения через РРРоЕ, есть инструкция устанавливать дефолтный маршрут -

VPN у тебя два. PPPoE можно смело огтносить именно к VPN. Но это роли особой не играет в данном случае. Все же мое мнение - разведи на два канала, так проще. Схема, когда оба будут работать на одном тазике построить можно, но за надежность я бы не ручался. Много геммороя. Если хочешь в конторе все завязать на себя - дерозай. Хочешь стабильной и нормальной работы, что бы тебя лишний раз не дергали - разводи.

>add default HISADDR , а может быть его можно сделать каким-то
>образом статическим, чтобы он постоянно хранился в таблице маршрутизации и при
>этом не мешал ВПН-клиенту, для которого дефолтный маршрут является более необходимым?
>
>ЗЫ - to Skif <--- а динамическая маршрутизация может решить такую дилемму?
>
Может только тебе ее никто не даст. либо нужно будет договариваться с обоими провами на частную AS, сопрягать обе AS между провами, гемориться c вещанием на себя от обоих провов и прочая - одним словом нужно будет напрячь их админов и самому попотеть, плюс деньги заплатить


"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено Skif , 09-Дек-06 22:26 
>Может только тебе ее никто не даст. либо нужно будет договариваться с
>обоими провами на частную AS, сопрягать обе AS между провами, гемориться
>c вещанием на себя от обоих провов и прочая - одним
>словом нужно будет напрячь их админов и самому попотеть, плюс деньги
>заплатить


Да забыл добавить при определенных условиях через твои каналы может пойти отнюдь не твой траффик :) Например при падении линка одного из провайдеров в мир :)


"Два xDSL-канала в Инет и FreeBSD 5.4"
Отправлено fatherra , 10-Дек-06 13:20 
>>Спасибо за совет камрад :) - возможно стоит договориться с провайдером который
>>мне организовывает раздачу адресов по DHCP...
>>>Касательно одновременной независимой работы двух VPN каналов, каждый из которых хочет >прописать
>>>себе напостой при разрывах default route :) Сомнительно. Слишком они уж
>>>через одно место работать будут, о стройной структуре лучше забыть. Проще
>>>выделить еще один комп на канал и уже отнего разруливать. Хотя
>>>если хочется гемороя...
>>
>>А вот дальше немного не понял - у меня только одно соединение
>>работает через VPN (от прова Матрица), а второе через стандартный ррр
>>пользовательского уровня... просто я вот думал, раз в ррр.conf в секции
>>описывающей параметры подключения через РРРоЕ, есть инструкция устанавливать дефолтный маршрут -
>
>VPN у тебя два. PPPoE можно смело огтносить именно к VPN. Но
>это роли особой не играет в данном случае. Все же мое
>мнение - разведи на два канала, так проще. Схема, когда оба
>будут работать на одном тазике построить можно, но за надежность я
>бы не ручался. Много геммороя. Если хочешь в конторе все завязать
>на себя - дерозай. Хочешь стабильной и нормальной работы, что бы
>тебя лишний раз не дергали - разводи.
Если можно построить вариант с двумя ВПН-каналами к провайдеров на "одном тазике" - подскажите в какую сторону копать? Что должно явиться основой для реализации такой схемы?