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

Исходное сообщение
"Два ADSL на одного провайдера"

Отправлено ashadow , 30-Июн-06 14:37 
Всем, привет!

Вопрос такой: как заставить работать два адсл на одного провайдера на одном шлюзе.
Точнее: есть FreeBSD, на нем два адсл соединения на одного и того же провайдера, соответственно одинаковый адрес шлюза на оба соединения. Первое соединение поднимается(82.207.113.210->195.5.5.12) - все нормально, а вот второе ругается(82.207.87.45->195.5.5.12), что уже есть такой адрес шлюза.
Как быть?


Содержание

Сообщения в этом обсуждении
"Два ADSL на одного провайдера"
Отправлено lavr , 30-Июн-06 15:11 
>Всем, привет!
>
>Вопрос такой: как заставить работать два адсл на одного провайдера на одном
>шлюзе.
>Точнее: есть FreeBSD, на нем два адсл соединения на одного и того же провайдера, соответственно одинаковый адрес шлюза на оба соединения. Первое соединение поднимается(82.207.113.210->195.5.5.12) - все нормально, а вот второе ругается(82.207.87.45->195.5.5.12), что уже есть такой адрес шлюза.
>Как быть?

использовать MultiLink PPP


"Два ADSL на одного провайдера"
Отправлено ashadow , 30-Июн-06 16:01 
>использовать MultiLink PPP

но мне не надо их объединять


"Два ADSL на одного провайдера"
Отправлено lavr , 30-Июн-06 16:08 
>>использовать MultiLink PPP
>
>но мне не надо их объединять

значит nodefaultroute ибо default может быть только один, а default с весом во freebsd
не поддерживается, хотя были патчи.


"Два ADSL на одного провайдера"
Отправлено ashadow , 30-Июн-06 21:10 
>>>использовать MultiLink PPP
>>
>>но мне не надо их объединять
>
>значит nodefaultroute ибо default может быть только один, а default с весом
>во freebsd
>не поддерживается, хотя были патчи.

проблема тут не в defaultroute, а в том что ppp при первом соединении прописывает в таблицу маршрутизации маршрут(например) 195.5.5.12->82.207.88.174, а при втором соединении пытатеся прописать(например) 195.5.5.12->82.207.113.210 и естественно не может этого сделать, потому что 195.5.5.12(destination) уже в таблице есть. Как с этим бороться?


"Два ADSL на одного провайдера"
Отправлено lavr , 30-Июн-06 21:21 
>>>>использовать MultiLink PPP
>>>
>>>но мне не надо их объединять
>>
>>значит nodefaultroute ибо default может быть только один, а default с весом
>>во freebsd
>>не поддерживается, хотя были патчи.
>
>проблема тут не в defaultroute, а в том что ppp при первом соединении прописывает в таблицу маршрутизации маршрут(например) 195.5.5.12->82.207.88.174, а при втором соединении пытатеся прописать(например) 195.5.5.12->82.207.113.210 и естественно не может этого сделать, потому что 195.5.5.12(destination) уже в таблице есть. Как с этим бороться?

а как ты хотел? не знаю для чего нужно, но как вариант использовать local_ip:remote_ip,
remote_ip можно опустить, а в качестве local использовать другой адрес, еще один на
этом или другом интерфейсе.

короче man того PPP что используешь и почитай RFC на PPP, правда там их вагон и нужно
выбрать актуальные


"Два ADSL на одного провайдера"
Отправлено ashadow , 30-Июн-06 21:40 
>а как ты хотел? не знаю для чего нужно, но как вариант
>использовать local_ip:remote_ip,
>remote_ip можно опустить, а в качестве local использовать другой адрес, еще один
>на
>этом или другом интерфейсе.
>
>короче man того PPP что используешь и почитай RFC на PPP, правда
>там их вагон и нужно
>выбрать актуальные

да я то понимаю, что вроде бы все так и должно быть. но мне надо иметь два раздельных канала, потому что тот который 82.207.113.210(статический адрес и соединение 2МБит с трафиком), а второй динамический и unlimited. вот мне их и надо раздавать по конторе кому чего.
я попробовал вариант с заменой шлюза после соединения:
/usr/sbin/ppp -quiet -ddial -unit0 ukrtel (это толстый канал, в таблице 82.207.113.210->195.5.5.12)
ifconfig tun0 82.207.113.210 195.5.5.13 (подменяю адрес шлюза)
/usr/sbin/ppp -quiet -ddial -unit1 ukrtel64 (это тонкий канал, в таблице 82.207.88.174->195.5.5.12)
соответственно потом в ipfw все это разгребается.
работает, но появляется куча вопросов, один из самых противных, а что делать при обрыве соединения по толстому каналу? и т.д.
какие могут быть еще варианты?


"Два ADSL на одного провайдера"
Отправлено Shakal , 01-Июл-06 00:33 
Выкинуть в топку галимый укртелеком

"Два ADSL на одного провайдера"
Отправлено ashadow , 03-Июл-06 10:38 
>Выкинуть в топку галимый укртелеком

хорошее предложение, но не выход.


"Два ADSL на одного провайдера"
Отправлено noodle , 03-Июл-06 11:41 
>>Выкинуть в топку галимый укртелеком
>
>хорошее предложение, но не выход.


Попробуй это всё разрулить с помощью прокси. У меня кент такую лабуду разруливал.
Могу дать его асю может буть поможет.


"Два ADSL на одного провайдера"
Отправлено ashadow , 03-Июл-06 13:40 
>Попробуй это всё разрулить с помощью прокси. У меня кент такую лабуду
>разруливал.
>Могу дать его асю может буть поможет.

прокси здесь не поможет, здесь проблема с маршрутизацией. а аську конечно давай, буду благодарен за любую помощь.
а вообще наверное в этой ситуации проще перевести модемы в режим роутеров и работать с ними как со шлюзами, ведь адреса у них разные.


"Два ADSL на одного провайдера"
Отправлено lapweed , 03-Июл-06 14:28 
>>Попробуй это всё разрулить с помощью прокси. У меня кент такую лабуду
>>разруливал.
>>Могу дать его асю может буть поможет.
>
>прокси здесь не поможет, здесь проблема с маршрутизацией. а аську конечно давай,
>буду благодарен за любую помощь.
>а вообще наверное в этой ситуации проще перевести модемы в режим роутеров
>и работать с ними как со шлюзами, ведь адреса у них
>разные.

я это сделал так:
поднят на интерфейсе алиасом ещё одно IP
default route не трогал
поднял на этом IP nat (natd -a IP -p PORT)
и делал divert через алиаснутое ip и fwd во второй канал.
ipfw add fwd 192.168.0.14,3128 tcp from 192.168.0.0/24 to any 80 via vlan1
(сквид настроил так что он отдаёт пакеты с ALIAS)
ipfw add divert 8669 tcp from ALIAS to any 80 via ALIAS
ipfw add fwd ВТОРОЙ_КАНАЛ ip from ALIAS to any via ALIAS
ipfw add divert 8669 ip from any to ALIAS via ALIAS
(проблема была у меня в том что пока хотя-бы один пакет не прошёл через эти правила
второй канал (модем) не пингуется ни с роутера ни с других хостов)

в общем http ходит по толстому каналу


"Два ADSL на одного провайдера"
Отправлено ashadow , 03-Июл-06 15:10 
>я это сделал так:
>поднят на интерфейсе алиасом ещё одно IP
>default route не трогал
>поднял на этом IP nat (natd -a IP -p PORT)
>и делал divert через алиаснутое ip и fwd во второй канал.
>ipfw add fwd 192.168.0.14,3128 tcp from 192.168.0.0/24 to any 80 via vlan1
>
>(сквид настроил так что он отдаёт пакеты с ALIAS)
>ipfw add divert 8669 tcp from ALIAS to any 80 via ALIAS
>
>ipfw add fwd ВТОРОЙ_КАНАЛ ip from ALIAS to any via ALIAS
>ipfw add divert 8669 ip from any to ALIAS via ALIAS
>(проблема была у меня в том что пока хотя-бы один пакет не
>прошёл через эти правила
> второй канал (модем) не пингуется ни с роутера ни с других
>хостов)
>
>в общем http ходит по толстому каналу

в общем у меня примерно все так и есть и пока было dial-up соединение и адсл (разные провайдеры) все было хорошо. но теперь у меня два адсл на одного провайдера (напоминаю с одним шлюзом, то есть на оба соединения один и тот же шлюз, один и тот же адрес).


"Два ADSL на одного провайдера"
Отправлено lapweed , 03-Июл-06 14:46 
>Всем, привет!
>
>Вопрос такой: как заставить работать два адсл на одного провайдера на одном
>шлюзе.
>Точнее: есть FreeBSD, на нем два адсл соединения на одного и того же провайдера, соответственно одинаковый адрес шлюза на оба соединения. Первое соединение поднимается(82.207.113.210->195.5.5.12) - все нормально, а вот второе ругается(82.207.87.45->195.5.5.12), что уже есть такой адрес шлюза.
>Как быть?

вот ссылка по теме __http://is.nnz.ru/html/recipe/2-channel.html


"Два ADSL на одного провайдера"
Отправлено ashadow , 03-Июл-06 15:06 
>вот ссылка по теме __http://is.nnz.ru/html/recipe/2-channel.html

в этом примере не тот случай, там два разных шлюза с разными адресами (там все понятно-это случай, как обойти один шлюз по умолчанию). у меня же один провайдер на оба подключения, отсюда оба шлюза имеют одинаковый адрес (один и тот же шлюз у провайдера).


"Два ADSL на одного провайдера"
Отправлено Den , 03-Июл-06 23:43 
мда, в linux это решается парой строчек команд из пакета iproute2

"Два ADSL на одного провайдера"
Отправлено lapweed , 04-Июл-06 04:46 
>>вот ссылка по теме __http://is.nnz.ru/html/recipe/2-channel.html
>
>в этом примере не тот случай, там два разных шлюза с разными
>адресами (там все понятно-это случай, как обойти один шлюз по умолчанию).
>у меня же один провайдер на оба подключения, отсюда оба шлюза
>имеют одинаковый адрес (один и тот же шлюз у провайдера).

тогда самый простой способ это поставить модемы не как бриджи а как гейты.
если у тебя зиксель 660 или димамикс то они умеют через нат пробрасывать порты
в том случае если у тебя веб,фтп... сервер.
в этом случае ты сможешь поставить на сервере за модемами любой адрес из
внутренних подсетей.


"Два ADSL на одного провайдера"
Отправлено ashadow , 04-Июл-06 10:08 
>тогда самый простой способ это поставить модемы не как бриджи а как
>гейты.
>если у тебя зиксель 660 или димамикс то они умеют через нат
>пробрасывать порты
>в том случае если у тебя веб,фтп... сервер.
>в этом случае ты сможешь поставить на сервере за модемами любой адрес
>из
>внутренних подсетей.

так вот я тоже прихожу к этому выводу (см. пост 10). ну неужели нет больше никаких вариантов?


"Два ADSL на одного провайдера"
Отправлено lapweed , 04-Июл-06 10:31 
>>тогда самый простой способ это поставить модемы не как бриджи а как
>>гейты.
>>если у тебя зиксель 660 или димамикс то они умеют через нат
>>пробрасывать порты
>>в том случае если у тебя веб,фтп... сервер.
>>в этом случае ты сможешь поставить на сервере за модемами любой адрес
>>из
>>внутренних подсетей.
>
>так вот я тоже прихожу к этому выводу (см. пост 10). ну
>неужели нет больше никаких вариантов?

я не уверен т.к. сам с этим не разбирался, посмотри в сторону ipnat и ipf
возможно найдёшь что-то нужное.


"Два ADSL на одного провайдера"
Отправлено ashadow , 05-Июл-06 10:28 
вообщем я пока пошел по пути подмены адреса шлюза, если кому интересно могу выложить скрипт написаный для проверки и поднятия соединений с подменой шлюза и рассказать как все настроить. правда писал наспех, очень быстро надо было запустить, на досуге можно вылизать, чтобы было все красиво, но он работает, а это самое главное.


"Два ADSL на одного провайдера"
Отправлено lavr , 05-Июл-06 13:15 
>вообщем я пока пошел по пути подмены адреса шлюза, если кому интересно
>могу выложить скрипт написаный для проверки и поднятия соединений с подменой
>шлюза и рассказать как все настроить. правда писал наспех, очень быстро
>надо было запустить, на досуге можно вылизать, чтобы было все красиво,
>но он работает, а это самое главное.

напиши статью и опубликуй URL, наверняка кому-то пригодится


"Два ADSL на одного провайдера"
Отправлено ashadow , 07-Июл-06 16:37 
>напиши статью и опубликуй URL, наверняка кому-то пригодится

статью, наверное напишу попозже, пока нет времени, да и отладить это все надо.
а вот еще возник вопрос, кто подскажет, можно ли bind-у как то сказать, что днс запросы надо отправлять на определенный интерфейс в зависимости от источника (ну например, как у сквида tcp_outgoing_address)?


"Два ADSL на одного провайдера"
Отправлено lavr , 07-Июл-06 17:09 
>>напиши статью и опубликуй URL, наверняка кому-то пригодится
>
>статью, наверное напишу попозже, пока нет времени, да и отладить это все
>надо.
>а вот еще возник вопрос, кто подскажет, можно ли bind-у как то
>сказать, что днс запросы надо отправлять на определенный интерфейс в зависимости
>от источника (ну например, как у сквида tcp_outgoing_address)?

:) надо ж так коряво изложить! :)

придется включать acl, allow-[query,transfer,notify] - кому что, разносить по listen и view
+ query|notify-source

в качестве документации используй: http://www.zytrax.com/books/dns/ch7/view.html


"Два ADSL на одного провайдера"
Отправлено ashadow , 10-Июл-06 10:38 
>:) надо ж так коряво изложить! :)

ну как есть :)

>придется включать acl, allow-[query,transfer,notify] - кому что, разносить по listen и view
>
>+ query|notify-source
>
>в качестве документации используй: http://www.zytrax.com/books/dns/ch7/view.html

спасибо, посмотрю.