PDA

Bekijk de volledige versie : Два провайдера с балансировкой нагрузки ?



Dmitro
19-11-2006, 18:23
Имеется два провайдера. Оба подключены к роутеру. Один к Wan, для второго один из Lan-ов сделал Wan. К второму руками прописал маршруты. Всё работает замечательно.
Может кто знает как сделать так чтобы роутер выбирал наименее нагруженного провайдера и пускал соединения черз выбранного провайдера? Или один комп пускать через одного, а другой через другого провайдера? В общем развести компы, подключенные к роутеру, по провайдерам.

gaaronk
19-11-2006, 23:22
один комп пускать через одного, а другой через другого провайдера - можно, нужно перекомпилить прошивку с поддержкой ip advanced routing и расписать policy based route

роутер выбирал наименее нагруженного провайдера - наверное тоже можно, нужно только подумать как определять загрузку канала

Dmitro
20-11-2006, 10:18
один комп пускать через одного, а другой через другого провайдера - можно, нужно перекомпилить прошивку с поддержкой ip advanced routing и расписать policy based route

роутер выбирал наименее нагруженного провайдера - наверное тоже можно, нужно только подумать как определять загрузку канала

А что нужно для перекомпиляции?
Где взять транслятор под premium и исходники прошивки?
И в какой операционке - виндах или линух?
Я поставил на виртуальной машине мандраку - сгодится?
Я вообще-то виндовый программер, под линух никогда ничего не делал.
Да и пашу в основном под виндами.

J D
12-01-2008, 12:17
Прошу прощения за возможно дурацкий вопрос, просто плохо в этом разбираюсь.

Имеется:
- WL-500gP, прошивка 1.9.2.7-7g
- ISP1: через ADSL-модем
- ISP2: статический IP + клонированный МАС

- настроил 2 WAN, как сказано в п.13 здесь (http://wl500g.info/showthread.php?t=3171)

- route и iptables прописал аналогично тому, как сделано здесь (http://wl500g.info/showpost.php?p=50857&postcount=8)

Получилось - интернет от ISP1 + локалка от ISP2

Теперь хочу использовать выход в интернет от обоих ISP одновременно (если это возможно). Как мне настроить маршруты?

route -n


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
172.16.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 vlan1
172.16.0.0 0.0.0.0 255.255.255.0 U 0 0 0 br0
172.16.1.0 0.0.0.0 255.255.255.0 U 0 0 0 vlan1
10.XXX.YYY.0 0.0.0.0 255.255.252.0 U 0 0 0 vlan2
192.168.0.0 10.XXX.YYY.1 255.255.0.0 UG 0 0 0 vlan2
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 172.16.1.1 0.0.0.0 UG 0 0 0 vlan1
(172.16.1.1 - это ADSL-модем, в сети ISP2 используются и 10.* и 192.168.*)

iptables -t nat -n -L


Chain PREROUTING (policy ACCEPT)
target prot opt source destination
VSERVER all -- 0.0.0.0/0 172.16.1.2
NETMAP udp -- 0.0.0.0/0 172.16.1.2 udp spt:6112 172.16.0.0/24

Chain POSTROUTING (policy ACCEPT)
target prot opt source destination
NETMAP udp -- 172.16.0.0/24 0.0.0.0/0 udp dpt:6112 172.16.1.2/32
MASQUERADE all -- !172.16.1.2 0.0.0.0/0
MASQUERADE all -- 172.16.0.0/24 172.16.0.0/24
MASQUERADE all -- !10.XXX.ZZZ.101 0.0.0.0/0

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain VSERVER (1 references)
target prot opt source destination
DNAT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:xxxxx to:172.16.0.2:xxxxx

ABATAPA
12-01-2008, 12:27
Теперь хочу использовать выход в интернет от обоих ISP одновременно (если это возможно).

Что значит "одновременно"?

J D
12-01-2008, 12:42
Чтобы интернет траффик шел через обоих провайдеров

FilimoniC
12-01-2008, 12:42
Что значит "одновременно"?

Я так понял, тут народ в основном хочет LoadBalancer из роутера сделать...

FilimoniC
12-01-2008, 12:44
Чтобы интернет траффик шел через обоих провайдеров

Мирроринг называется, кажется.

Вы определитесь, что вы хотите. Основное у большинства юзеров - постараться на максимум забить оба канала. Вы хотите чтобы они были равноприоритетными, или кто-то основной, а кто-то запасной.. или чтобы К1 ходил по олдному, а К2 по другому проводу?

gde700
12-01-2008, 14:09
Мирроринг называется, кажется.

Вы определитесь, что вы хотите. Основное у большинства юзеров - постараться на максимум забить оба канала. Вы хотите чтобы они были равноприоритетными, или кто-то основной, а кто-то запасной.. или чтобы К1 ходил по олдному, а К2 по другому проводу?
Таки боюсь, что железка не позволит одновременно поднять 2 соединения с равномерной загрузкой каналов. Скорее всего Вам надо определиться с приоритетами и ежели Вам всё равно надо равномерную загрузку с 2-х ISP, то поискать железку среди Cisco Systems.... Ориентировочная цена 1-1,5 килобакса....

J D
12-01-2008, 14:30
Это для домашнего использования, поэтому дополнительное железо, тем более за килобаксы, приобретать не буду :)

Если данный роутер не позволяет балансировать каналы, то меня устроит и вариант с основным/запасным.

FilimoniC
12-01-2008, 14:44
Это для домашнего использования, поэтому дополнительное железо, тем более за килобаксы, приобретать не буду :)

Если данный роутер не позволяет балансировать каналы, то меня устроит и вариант с основным/запасным.

теоретически позволяет :) но теоретически.

Осовной\запасной лучше делать через метрики и маршруты, я дмаю.

Автору вопрос: чего в итоге хотите добиться то? Причина и Цель какова? Часто отваливается провайдер, дающий бОльшую скорость, поэтому хотите переклюение? Или же цель - качать, качать, качать и забить траффиком все, что можно, пытаясь накачать столько, чтобы оправдать стоимость услуг?

Ilmarinen
12-01-2008, 14:56
Таки боюсь, что железка не позволит одновременно поднять 2 соединения с равномерной загрузкой каналов. Скорее всего Вам надо определиться с приоритетами и ежели Вам всё равно надо равномерную загрузку с 2-х ISP, то поискать железку среди Cisco Systems.... Ориентировочная цена 1-1,5 килобакса....
У цисок есть 800 серия, всего за ~500$, в чем-то аналог wl500g (4 LAN порта, 1 WAN и опционально wifi).
Ответ же на вопрос зависит от того, что понимать под "равномерной" загрузкой.
Стоит почитать Linux Advanced Routing & Traffic Control HOWTO (http://gazette.linux.ru.net/rus/articles/lartc/index.html)
В частности раздел "4.2. Маршрутизация через несколько каналов/провайдеров"

4.2.2. Распределение нагрузки.

Второй вопрос заключается в балансировке нагрузки между двумя провайдерами. Это не сложно, если у вас уже настроен раздельный доступ, описанный в предыдущем разделе.

Вместо выбора одного из провайдеров в качестве маршрута по-умолчанию, вы настраиваете т.н. многолучевой (multipath) маршрут. В стандартном ядре это обеспечит балансировку нагрузки между двумя провайдерами. Делается это следующим образом (повторюсь, мы основываемся на примере из раздела Раздельный доступ):

ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \
nexthop via $P2 dev $IF2 weight 1


Результатом команды будет попеременный выбор маршрута по-умолчанию. Вы можете изменить параметр weight, так чтобы один из провайдеров получал большую нагрузку.

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

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

P.S. К сожалению, у меня пока нет возможности проверить, все ли из указанных возможностей есть в wl500g

FilimoniC
12-01-2008, 15:23
У цисок есть 800 серия, всего за ~500$, в чем-то аналог wl500g (4 LAN порта, 1 WAN и опционально wifi).
Ответ же на вопрос зависит от того, что понимать под "равномерной" загрузкой.
Стоит почитать Linux Advanced Routing & Traffic Control HOWTO (http://gazette.linux.ru.net/rus/articles/lartc/index.html)
В частности раздел "4.2. Маршрутизация через несколько каналов/провайдеров"

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

P.S. К сожалению, у меня пока нет возможности проверить, все ли из указанных возможностей есть в wl500g
Сессиям на многих форумах и сайтах настанет (_!_), так как они к IP вяжутся, а тут IP будет каждый раз разный.. Пример - PHPBB. Например, у DLINK в LB есть межанизм обработки сессий, правда косячит по-черному, но есть :)

Ilmarinen
12-01-2008, 15:31
Сессиям на многих форумах и сайтах настанет (_!_), так как они к IP вяжутся, а тут IP будет каждый раз разный.. Пример - PHPBB. Например, у DLINK в LB есть межанизм обработки сессий, правда косячит по-черному, но есть :)
Это Ваше предположение или Вы все таки пробовали?

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

Осовной\запасной лучше делать через метрики и маршруты, я дмаю.
Для начала нужно определиться "как узнать, что основной маршрут упал", это не так очевидно и просто как кажется

Автору вопрос: чего в итоге хотите добиться то? Вот у меня такой же вопрос.

FilimoniC
12-01-2008, 15:38
Это Ваше предположение или Вы все таки пробовали? пробовали. конечно, возможно, в чем-то ошиблисть, но phpbbшная мультифреймовая админка 70% не работала :( Еще некоторые сайты не работали, где есть сесси. Тыком установили что проблема в привязке сессии к ip. В итоге нафиг плюнули, разделили как voip на П1, остальное на П2.

J D
12-01-2008, 16:50
Автору вопрос: чего в итоге хотите добиться то? Причина и Цель какова? Часто отваливается провайдер, дающий бОльшую скорость, поэтому хотите переклюение? Или же цель - качать, качать, качать и забить траффиком все, что можно, пытаясь накачать столько, чтобы оправдать стоимость услуг?
ОК, попытаюсь сформулировать:
0. Скачивание ради скачивания меня не интересует. Качаю, когда что-то действительно нужно. Будет скорость в полтора раза медленнее - переживу.
1. У провайдера ISP2 из моего первого поста шире канал и пинги получше, но вероятность того, что он отвалится, несколько выше. Хотелось бы настроить все так, чтобы не приходилось перетыкать кабели и перезагружать роутер с другими настройками каждый раз, когда это происходит.
2. ISP1 предоставляет динамический внешний IP (в отличие от ISP2, у которого просто NAT), который в ряде случаев удобнее: например, при скачивании с rapidshare. Таким образом, хотелось бы иметь возможность переключиться на него не только в случае отсутствия связи со вторым провом.
3. У ISP1(ADSL) есть некие "внутренние" сервисы только для адресов из его диапазона, у ISP2 - локальная сеть. Хотелось бы, чтобы они были доступны постоянно, вне зависимости от того, какой из провайдеров используется в качестве "основного" для выхода в интернет.

J D
13-01-2008, 13:05
Я нагуглил два варианта решения:
Первый (http://www.slack-tux.org/node/2) по мотивам вышеупомянутого LARTC HOWTO и второй (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization) для dd-wrt. Знающие люди, подскажите пожалуйста, будет ли какой-нибудь из них работать у меня, или надо прошивку менять?

Pilot1971
13-01-2008, 15:20
Уважаемые господа, помогите немного разобраться с маршрутизацией.
Прочитал, все что нашел на форуме. Но непонятки остались.
Итак, входные данные.

1) Железка WL-500g Premium. Прошит последней прошивкой. К нему подключен по USB внешний винт. Провайдер Corbina telecom. Внешний адрес фиксированный. Все пашет как часы. И FTP настроил, подняв ProFTP. (до этого имел опыт его настройки под Debian)

2) Имеется и второй провайдер. Телеком. Внешний адрес тоже фиксированный. К нему подключены через ADSL(Zyxel 660), который в сdою очередь работает бриджом в связке с Debian-овским сервером,на котором поднят ppp+. Сейчас каналы просто разделяются прописыванием в настройках локальных станций шлюзов. Оба в одной подсетке. :-)

Теперь о том чего хотелось.

1) Хочется все объединить на одной железке. А точнее на основе Asus WL-500g. Второй WAN порт завести не проблема. Все достаочно подробно описано на форуме. За что всем участникам спасибо.

2) Хочется развести этих провайдеров по исходящим портам. ТО есть определенный набор портов пускать через Корбину, а остальные через Телеком. Но и конечно организация файерволла. ТО есть не пускать из вне кого не положено. В принципе хочется открыть 22 и 21 порт.
Подскажите, что необходимо прописать в роутинге. И куда это лучше сделать? В post-firewall или куда-то ещё?
Заранее всем спасибо.

ABATAPA
14-01-2008, 09:50
1. У провайдера ISP2 из моего первого поста шире канал и пинги получше, но вероятность того, что он отвалится, несколько выше. Хотелось бы настроить все так, чтобы не приходилось перетыкать кабели и перезагружать роутер с другими настройками каждый раз, когда это происходит.

"Отвалится" - понятие относительное. Одно дело - link down, это просто.
Другое - линк есть, а у провайдера где-то канал "упал". Тут или BGP (НЕ Ваш вариант), или скрипт, проверяющий доступность ВНЕШНИХ IP через обоих операторов и "разруливающий" default route (самый простой для Вас вариант).



Таким образом, хотелось бы иметь возможность переключиться на него не только в случае отсутствия связи со вторым провом.


Зачем переключаться? Настройте маршруты на нужные сети именно через него.



3. У ISP1(ADSL) есть некие "внутренние" сервисы только для адресов из его диапазона, у ISP2 - локальная сеть. Хотелось бы, чтобы они были доступны постоянно, вне зависимости от того, какой из провайдеров используется в качестве "основного" для выхода в интернет.
Опять же - маршруты.

J D
14-01-2008, 14:26
"Отвалится" - понятие относительное. Одно дело - link down, это просто.
Другое - линк есть, а у провайдера где-то канал "упал". Тут или BGP (НЕ Ваш вариант), или скрипт, проверяющий доступность ВНЕШНИХ IP через обоих операторов и "разруливающий" default route (самый простой для Вас вариант).
Как именно проверять их доступность? Написать что-то вроде
if [ $(ping -c 10 -q ya.ru | grep packet | awk '{print $4}') -gt 0 ]
или есть другие способы, кроме как постоянно пинговать их? Как я уже говорил, я плохо в этом разбираюсь :o


Зачем переключаться? Настройте маршруты на нужные сети именно через него.

Опять же - маршруты.
Да, конечно. Тут я ступил слегка :)

P.S. Пробовал ради спортивного интереса все-таки сделать балансировку по LARTC HOWTO: команды с таблицами и ip rule работают, а эта -
ip route add default scope global nexthop via 10.XXX.YYY.1 dev vlan2 weight 2 nexthop via 172.16.1.1 dev vlan1 weight 1
- не хочет, RTNETLINK answers: Invalid argument

ABATAPA
14-01-2008, 14:58
или есть другие способы, кроме как постоянно пинговать их?

Пинговать _именно_ с указанного интерфейса заведомо доступные узлы в Сети (www.ru, и т.д.), но ping из busybox 1.1.3 (что в прошивке Олега) не умеет "выбирать" интерфейс (опция `-I`).

J D
15-01-2008, 12:04
ping из busybox 1.1.3 (что в прошивке Олега) не умеет "выбирать" интерфейс (опция `-I`).
То есть прошивку придется сменить?

ABATAPA
15-01-2008, 15:22
То есть прошивку придется сменить?

Интересно - на какую? :)
Не обязательно. Если есть внешний носитель - можно поставить полноценный ping, и именно его вызывать в скрипте.

J D
15-01-2008, 20:00
Не обязательно. Если есть внешний носитель - можно поставить полноценный ping, и именно его вызывать в скрипте.
Внешнего сейчас нет, планирую через пару месяцев апгрейд и тогда подключу старый винт к роутеру.

Пока написал два скрипта следующего вида:

#!/bin/sh
route delete default
route add default gw XXX.XXX.XXX.XXX vlanZ
echo "nameserver YYY.YYY.YYY.YYY" > /tmp/resolv.conf
kill -9 $(pidof dnsmasq)
dnsmasq -C /tmp/etc/dnsmasq.conf,
где XXX.XXX.XXX.XXX - гейт, YYY.YYY.YYY.YYY - DNS сервер, Z - номер соответствующего данному провайдеру интерфейса. Чтобы сменить канал, запускаю вручную, вроде работает как надо.

poezdatik
16-01-2008, 10:24
Прочитав всю тему наткнулся только на поверхностные отголоски правды!

Помогите организовать вот такую схему:
vlan1- Корбина динамический IP соединение PPtP
vlan2 - ЦТ тоже динамический IP соединение PPPoE

Объясните как все настроить чтоб было так: Весь инет и локальные ресурсы Корбины на vlan1, на vlan2 - только внутренние ресурсы ЦТ сети

первое соединение настроено и работает, вся загвозка во втором организация соединения т.е. поднятие pppoe и ограничение по заданному диапазону.

scorpio66
27-03-2008, 06:13
Возмжно такое? если сделать второй wan порт и подключить его к другому провайдеру. Если оба канала работают то скорость складывается если один обрубается, то второй берет на себя всю нагрузку

gaaronk
27-03-2008, 06:37
да
с разделением например по соурс адресам, один пользователь ходит через одного ISP, воторой через второго. в случае сбоя все через одного.
у меня лично так телефония бегает - через резервный ненагруженный канал

ABATAPA
27-03-2008, 06:49
Возмжно такое? если сделать второй wan порт и подключить его к другому провайдеру. Если оба канала работают то скорость складывается если один обрубается, то второй берет на себя всю нагрузку

Возможно.
Как Вам уже сказали, например, с разделением по адресам в Вашей сети.
Если комп один - то тоже можно, но не так тривиально. Скажем, простая "балансировка" HTTP не всегда возможно - например, сессии на многих сайтах привязаны к IP. Но можно разделить различных службы (HTTP, P2P, Mail), можно все же балансировать HTTP...

scorpio66
27-03-2008, 11:00
а в приложении к WL500g Premium такое возможно? Во внутренней сети несколько компов. В линуксе вроде такое возможно стандартными средствами. И что конкретно надо сделать

Venik
27-03-2008, 12:26
да
у меня лично так телефония бегает - через резервный ненагруженный канал

подскажи плиз, как сделал?

gaaronk
28-03-2008, 07:03
подскажи плиз, как сделал?

ну просто

заполняем таблицу

ip rule add from x.x.x.2/32 table 30 pref 30
ip rule add from x.x.x.3/32 table 30 pref 30
ip rule add from x.x.x.5/32 table 30 pref 30
ip rule add to 1.1.1.1 table 30 pref 30

забиваем туда тех кто должен ходить по резерву .2 .3 .5 это аппарутные телефоны
и сервер ип телефонии 1.1.1.1 - кто бы не пошол к нему пойдет через резерв

ну и пишем рутинг

ip route flush exact 0/0 table 30
ip route replace default via 2.2.2.2 table 30


а в приложении к WL500g Premium такое возможно? Во внутренней сети несколько компов. В линуксе вроде такое возможно стандартными средствами. И что конкретно надо сделать

можно
конкретно зайти на рутер телнетом или ssh и настроить

Aramaki
18-04-2008, 16:22
вот хочу подключиться ко второму провайдеру с домовой сетью, чтобы раздавать torrent, т.к. на анлиме скрорость отдачи в 5 раз ниже скачки

Знаю что можно один из lan портов сделать wan. в этой связи 2 вопроса:

1. хватит ли процессора для раздачи torrent и маршрутизации на 2 ip?

2. как сделать чтобы на ДС входящий трафик использовался по минимуму?

я вижу тока вариант жестко прописать чтобы исходящие пакеты с роутера шли через ДС, а все остальные через алим.

shushlev
20-07-2008, 13:55
Приветствую.. столкнулсо я с такой проблеммой... есть корбина по Л2ТП и будет стрим собственно по ппое.... в принципе думаю смогу разобраться с переделываением одного лана под ван... но есть проблемма.. мне нужно чтобы для компов маршрутизация и ранжирование трафика были прозрачными... т.е. к примеру.. есть корбина с 7 мегабитным тарифом и стрим с 6 мегабитным... и хочется чтобы вот на одном компе поставил торрент скачитваться и он скорость получал в сумме около 13 мегабит... т.е. автоматом разводил прозрачно весь трафик на два канала.. слияние так сказать.... возможно ли это? и если да то как? просто поговорил со знакомым он мамой клянется что видел пару роутеров в которых изначально 2 вана... и сразу прописана возможность такого использования с двумя каналами... Как бы и мне такое сотворить? :-)

Хм.... никто с этим не сталкивался что ли? :-( т.е. на одном wl500g никто не пробовал этого сделать? просто планировал связку WL500g Premium + Paradyne 6211 который тоже кстати роутер на линуксе.... вот как бы сотворить такое чудо...

AndreyPopov
20-07-2008, 17:27
Хм.... никто с этим не сталкивался что ли? :-(


уже был подобный вопрос.

я отвечал. да в некоторых роутерах реализовано "автоматическое" разделение трафика. но роутеров таких нужно НЕСКОЛЬКО - столько, сколько провайдеров.

вероятно возможно это реализовать и на одном роутере.

shushlev
20-07-2008, 23:07
Кстати.. тот топик где задавали аналогичный вопрос я видел .. нашел тока что.. с трудом.... насчет того что есть такие железки все яно.. но вот как бы заставить НАШ роутер делать балансировку? Бэкап то да... это хорошо... кстати олегу бы добавить это в свою прошивку не помешало.. ну да ладно.. а вот балансировка блин.. какой софт существует для этого?

AndreyPopov
21-07-2008, 18:09
вот нашел guide как делать несколько провайдеров и распределение нагрузки на несколько провайдеров, а также определение "упавшего" соединения, т.е. все что включено в эти понятия - load balancing & failover:

http://lartc.org/howto/lartc.rpdb.multiple-links.html
http://www.ssi.bg/~ja/nano.txt

остался вопрос за "малым"

включены ли соответсвующие патчи в ядро, которое используется в прошивках Олега??????

http://www.ssi.bg/~ja/#routes

1. 00_static_routes-2.4.22-8.diff - Static routes ( <2.4.19 - 2.4.21> <6> <5> )
2. 01_alt_routes-2.4.28-8.diff - Alternative routes ( <2.4.19 - 2.4.28> <5> )
3. 01_arp_prefsrc-2.4.12-5.diff - Always use the preferred source as source address in our ARP probes. Dropped starting from 2.4.26, use the arp_announce=2 interface flag instead.
4. 05_nf_reroute-2.4.29-9.diff - Routing and Netfilter changes (MASQUERADE, DNAT, ipchains and ipfwadm done), SNAT completed but needs match by gateway when two route paths use same device ( <2.4.27 - 2.4.28> <2.4.24 - 2.4.26> <2.4.23> <2.4.20 - 2.4.22> <5> )

кто-то подскажет все же, есть ли указанные патчи к ядру в прошивке Олега???

shushlev
22-07-2008, 21:00
Что я скажу... недавно создал тему... "Два провайдера одновременно". С целью использования двух провайдеров одновременно и прозрачного для клиента распределения трафика между ними... т.е. есть канал 6 и есть канал 7 и в интоге чтобы скорость была близка на торрнетсах скажем к 13 мегабитам... Но на тему мало кто ответил... увы видимо непопулярно это... сам бьюсь.. нашел аналогичную тему еще раньше... тоже без результата.. вы - первый кто дошел до конкретных патчей.... а насчет того включены они в ядро или нет... думаю надо попытаться связаться с Олегом...

Уважаемый андрей... так и не прояснился этот вопрос?

AndreyPopov
25-07-2008, 15:51
Уважаемый андрей... так и не прояснился этот вопрос?

пока нет.

тут http://oleg.wl500g.info/ нашел упоминание только о таком:

Preparing the kernel
You will need to prepare kernel sources for this. wl500g-1.8.1.7-1 contains 2 patches in the kernel subdirectory: which adds bunch of stuff from custom firmware - squashfs, updated pwc an ov511 modules, fixes for usb printing, QoS updates and something I can't even remember. To patch sources execute this line in the wl500g-1.8.1.7-1 directory:
make kernel

This should produce number of strings saying "patching file bla-bla-bla" and no error messages. If you got errors then check your kernel source tree

скорее всего, что тех патчей нет в ядре. но точно может только автор ответить. я ему в личку написал, но там тоже пока ответа нет.

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

и воббще наверное эта тема давно назрела. три года назад думать о НЕСКОЛЬКИХ провайдерах никто и не думал и о распределении трафика тоже, потому как "дай бог", чтобы один работал нормально. потому может следующая прошивка уже с этим будет, тем более новая версия 1.9.7.7 официальная вышла для WL-500gP v1, а для WL-500gP v2 новый Web интерфейс появился - может все в одном и сойдется.

shushlev
25-07-2008, 16:44
а что в оффициальной которая для v1 уже есть поддержка нескольких ВАН? вообще да... тема насущная... потому что для многих сейчас стала важна тема резервирования канала.... ну а балансировка как приложение сюда...

AndreyPopov
25-07-2008, 16:55
а что в оффициальной которая для v1 уже есть поддержка нескольких ВАН? вообще да... тема насущная... потому что для многих сейчас стала важна тема резервирования канала.... ну а балансировка как приложение сюда...


ознакомьтесь с пунктом 13) инструкции по настройке с нуля :D :yes

shushlev
25-07-2008, 16:57
ознакомьтесь с пунктом 13) инструкции по настройке :D :yes

я не такой тупой ) я имел в виду фирменную асус прошу.. а Олеговская да поддерживает хоть все 5 ван.... но вот с балансировкой .. эх туго

AndreyPopov
25-07-2008, 17:01
я не такой тупой ) я имел в виду фирменную асус прошу.. а Олеговская да поддерживает хоть все 5 ван.... но вот с балансировкой .. эх туго


да в фирменной не дождетесь :mad:

все руками.

shushlev
25-07-2008, 21:38
да мы с вами вроде бы как и рады сделать руками но квалификафии не хватает...

AndreyPopov
26-07-2008, 14:32
да мы с вами вроде бы как и рады сделать руками но квалификафии не хватает...

сделать что?

зайти telnet и прописать нужные строки конфигурации - это не столь сложно.

только толку их писать, если соответсвующих патчей нет в ядре.
а вот собрать ядро - я пас. с Windows я на "ты", а Linux у меня нигде и не стоит и ставил я его всего два раза для знакомства.

так что пока собрать ядро и прошивку - я не в силах, пока по крайней мере.

shushlev
26-07-2008, 15:30
сделать что?

зайти telnet и прописать нужные строки конфигурации - это не столь сложно.

только толку их писать, если соответсвующих патчей нет в ядре.
а вот собрать ядро - я пас. с Windows я на "ты", а Linux у меня нигде и не стоит и ставил я его всего два раза для знакомства.

так что пока собрать ядро и прошивку - я не в силах, пока по крайней мере.

вот и я про то что для сборки ядра и прошивки не хватает квалиффикации

gaaronk
26-07-2008, 17:00
вот этот патч
http://www.ssi.bg/~ja/routes-2.4.20-9.diff
отлично применился
прошивка собралась (мой вариант для премиума на базе Олеговской 1.9.2.7-10)

не проверял. пока не где, да и желания нет. могу выслать. там добавлены кой какие утилитки и выкинуто нафик IPv6 и NFS

AndreyPopov
26-07-2008, 21:30
вот этот патч
http://www.ssi.bg/~ja/routes-2.4.20-9.diff
отлично применился
прошивка собралась (мой вариант для премиума на базе Олеговской 1.9.2.7-10)

не проверял. пока не где, да и желания нет. могу выслать. там добавлены кой какие утилитки и выкинуто нафик IPv6 и NFS

мне пришлите, плиз. у меня есть где пробовать :D

у меня WL-500gP v1 (хотя есть и v2)

IPv6 действительно пока не нужен.

а какие еще утилитки добавлены?

shushlev
26-07-2008, 22:59
хм... 10 версия наскеока я помню для V2 тока? .... нет такого же тока для 9 версии ? Хех.. если пакет будет работать хорошо скажете как его настраивали Анедрей?

AndreyPopov
26-07-2008, 23:34
хм... 10 версия наскеока я помню для V2 тока? .... нет такого же тока для 9 версии ? Хех.. если пакет будет работать хорошо скажете как его настраивали Анедрей?
кто вам сказал, что только для V2 ?????

у меня замечательно работает!
10-я это ПЕРВАЯ, которая поддерживает V2.

ну а как настраивать, собственно изложено в ссылках в начале темы.

shushlev
26-07-2008, 23:46
угу.... попрошу завтра кинуть и буду испытывать.. хм.... а данный пакет выполняет именно ту функцию которая была желаема? т.е. добились чего хотели "несколько провайдеров и распределение нагрузки на несколько провайдеров, а также определение "упавшего" соединения"?

gaaronk
27-07-2008, 08:31
угу.... попрошу завтра кинуть и буду испытывать.. хм.... а данный пакет выполняет именно ту функцию которая была желаема? т.е. добились чего хотели "несколько провайдеров и распределение нагрузки на несколько провайдеров, а также определение "упавшего" соединения"?

данный пакет имеет запрошеные вами патчи к ядру
а вот функционал "несколько провайдеров и распределение нагрузки на несколько провайдеров, а также определение "упавшего" соединения" это вы уж сами

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

gaaronk
27-07-2008, 08:33
вот тут - ftp://ostapchuk.com/asus

WL500gp-1.9.2.7-10-gaa.trx - просто моя сборка
WL500gp-1.9.2.7-10-gaa-route.trx - моя сборка с патчами для рутинга


а какие еще утилитки добавлены?

добавления в busybox

CONFIG_FAKEIDENTD=y
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
CONFIG_PATCH=y
CONFIG_COMM=y
CONFIG_FIND=y
CONFIG_FEATURE_FIND_EXEC=y

добавления в ядре

CONFIG_IP_ROUTE_LARGE_TABLES=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=m

утилиты diff diff3 sdiff

ну и своих скриптов по мелочи

убрано из ядра, системы и uClibc - IPv6, NFS, BPALOGIN

AndreyPopov
28-07-2008, 19:01
вот тут - ftp://ostapchuk.com/asus

WL500gp-1.9.2.7-10-gaa.trx - просто моя сборка
WL500gp-1.9.2.7-10-gaa-route.trx - моя сборка с патчами для рутинга

попробуем

может как-то объединить эту тему и вашу про multi-wan http://wl500g.info/showthread.php?t=6208

gaaronk
28-07-2008, 19:39
может как-то объединить эту тему и вашк про multi-wan http://wl500g.info/showthread.php?t=6208

пожалуйста. я препятствывать не буду.

shushlev
02-08-2008, 18:36
попробуем

может как-то объединить эту тему и вашк про multi-wan http://wl500g.info/showthread.php?t=6208

Андрей... ну как у вас получилось желаемое? просто в течении месяца сам себе второго прова протяну и буду экспериментить...

AndreyPopov
02-08-2008, 19:30
Андрей... ну как у вас получилось желаемое? просто в течении месяца сам себе второго прова протяну и буду экспериментить...

пока не было времени этим заняться - напряг со временем.
у меня на работе есть несколько провайдеров, но на этой недели ни до этого было.

DemonGloom
18-08-2008, 16:13
Интересует такое разделение трафика : 1 компьютер, подключаемый по WiFi ходит через PPPoE соединение (Дом.РУ); остальные компьютеры, подключаемые через кабели и WiFi, а так же сам роутер ходят через ADSL модем (D-link DSL-2500U/BRU/D). Возможно ли такое?

AndreyPopov
18-08-2008, 16:19
Интересует такое разделение трафика : 1 компьютер, подключаемый по WiFi ходит через PPPoE соединение (Дом.РУ); остальные компьютеры, подключаемые через кабели и WiFi, а так же сам роутер ходят через ADSL модем (D-link DSL-2500U/BRU/D). Возможно ли такое?

пункт 13) настройки с нуля - создание нескольких wan :(

P.S. только если на D-Link тоже поднимается PPPoE - то есть один неприятный момент - D-link DSL-2500U не делает IP forwarding дальше одной подсети на LAN портах.

DemonGloom
18-08-2008, 16:30
А можно уточнить смысл фразы про форвардинг?
wl-500gp контролирует сеть 192.168.1.x, других не плнируется...
P.S.
пункт 13) настройки с нуля - создание нескольких wan :(


Это я смотрел, но интересует не просто 2 wan, но отдельный wan для конкретного компьютера

AndreyPopov
26-08-2008, 18:43
Андрей... ну как у вас получилось желаемое? просто в течении месяца сам себе второго прова протяну и буду экспериментить...

особо экспериментами еще не занимался, но нашел, что у DD-WRT к ядру стандартно применены указанные патчи.

на сайте даже есть примеры как и что делать:
Dual WAN with one as standby backup (http://www.dd-wrt.com/wiki/index.php/Dual_WAN_with_one_as_standby_backup)

расписаны скрипты, как сделать резервный канал.

Dual WAN with failover (http://www.dd-wrt.com/wiki/index.php/Dual_WAN_with_failover)


скрипты для определения упавшего канала

и наконец самое интересное:

Dual-WAN for simple round-robin load equalization (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization)

скрипт для создания конфигурации с балансировкой нагрузки.
после чего собственно сама балансировка задается командой:
ip route equalize

при чем данный скрипт сразу задает базовые параметры firewall для двух каналов, а также (что очень немалаважно) распределяет нагрузку не только для исходящего трафика, но и для входящего.

gaaronk
27-08-2008, 07:21
особо экспериментами еще не занимался, но нашел, что у DD-WRT к ядру стандартно применены указанные патчи.

на сайте даже есть примеры как и что делать:
Dual WAN with one as standby backup (http://www.dd-wrt.com/wiki/index.php/Dual_WAN_with_one_as_standby_backup)

расписаны скрипты, как сделать резервный канал.

Dual WAN with failover (http://www.dd-wrt.com/wiki/index.php/Dual_WAN_with_failover)


скрипты для определения упавшего канала



ну в моих скриптах это все давно есть и работает. причем не только для static интефейсов, но почти для всех типов (все кроме l2tp)

dav79
02-09-2008, 14:21
Читал читал так и не понял... имеем два модема dlink на них два разных провайдера с PPPoE подключениями имеем асус 500P с олеговской прошивкой... первое не желательно чтоб пппое подымали модемы глючат сильно надо чтоб асус подымал два пппое причем конкретно по портам имена пароли разные... вроде нашел http://wl500g.info/showpost.php?p=63922&postcount=6 далее сделали мы два вана подняли два пппое.. вопрос как сделать так чтобы при адресе роутера асус 192.168.1.1 например комьютер 192.168.1.10 ходил через первого провайдера компьютер 192.168.1.20 ходил через второго. кто не прописан тот никуда не ходит. компов которые ходят туда либо сюда ну грубо по 5 штук.

shushlev
05-09-2008, 17:16
ну в моих скриптах это все давно есть и работает. причем не только для static интефейсов, но почти для всех типов (все кроме l2tp)

ну нас как раз балансировка нагрузки и л2тп беспокоит ) вернулся я из отпуска... стрим вторым подрубил... буду экспериментить ))

Итак .... начал разбираться сразу посыпались вопросы... вот первый порт у меня рассвичеван на штатный ван.

vlan0ports=2 3 4 5*
vlan1ports=0 1 5

такая ситтуация...
при создании по инструкции с балансировкой Балансировка (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization) как надо изменить этот код? :


nvram set vlan0ports="1 2 3 5*"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit


чтобы получить второй VLAN? вот так? :


nvram set vlan0ports="2 3 5*"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit

вот...

далее... Ван2.Файрвол имеет вид:


#!/bin/sh
WAN2_IFNAME=vlan2
WAN2_IPADDR=10.0.0.2
WAN2_GATEWAY=10.0.0.1
WAN2_NETMASK=255.0.0.0
if [ "$(nvram get wan2_ipaddr)" != "$WAN2_IPADDR" ]; then
nvram set wan2_ifname=$WAN2_IFNAME
nvram set wan2_ipaddr=$WAN2_IPADDR
nvram set wan2_gateway=$WAN2_GATEWAY
nvram set wan2_netmask=$WAN2_NETMASK
nvram commit
fi
ifconfig $(nvram get wan2_ifname) up $(nvram get wan2_ipaddr) netmask $(nvram get wan2_netmask)

как его надо модернизировать для моей конфигурации чтобы он сам поднимал PPPOE в стриме? и адреса тут мне кажется как то не так сделаны...

ну остальные два файрвола можно не трогать пока... разобраться бы с портами и поднятием второго соединения на порте 4.

AndreyPopov
05-09-2008, 18:08
Итак .... начал разбираться сразу посыпались вопросы... вот первый порт у меня рассвичеван на штатный ван.

vlan0ports=2 3 4 5*
vlan1ports=0 1 5

такая ситтуация...
при создании по инструкции с балансировкой Балансировка (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization) как надо изменить этот код? :


nvram set vlan0ports="1 2 3 5*"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit


чтобы получить второй VLAN? вот так? :


nvram set vlan0ports="2 3 5*"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit

вот...

далее... Ван2.Файрвол имеет вид:


#!/bin/sh
WAN2_IFNAME=vlan2
WAN2_IPADDR=10.0.0.2
WAN2_GATEWAY=10.0.0.1
WAN2_NETMASK=255.0.0.0
if [ "$(nvram get wan2_ipaddr)" != "$WAN2_IPADDR" ]; then
nvram set wan2_ifname=$WAN2_IFNAME
nvram set wan2_ipaddr=$WAN2_IPADDR
nvram set wan2_gateway=$WAN2_GATEWAY
nvram set wan2_netmask=$WAN2_NETMASK
nvram commit
fi
ifconfig $(nvram get wan2_ifname) up $(nvram get wan2_ipaddr) netmask $(nvram get wan2_netmask)

как его надо модернизировать для моей конфигурации чтобы он сам поднимал PPPOE в стриме? и адреса тут мне кажется как то не так сделаны...

ну остальные два файрвола можно не трогать пока... разобраться бы с портами и поднятием второго соединения на порте 4.

прошивку DD-WRT прошили? или на какой используете?
в любом случае надо запускать второй pppd демон для второго PPPoE.

примерно как описано в пункте 15) по созданию PPTP.

mcwees
05-09-2008, 18:30
добавления в busybox

CONFIG_FAKEIDENTD=y
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
CONFIG_PATCH=y
CONFIG_COMM=y
CONFIG_FIND=y
CONFIG_FEATURE_FIND_EXEC=y

добавления в ядре

CONFIG_IP_ROUTE_LARGE_TABLES=y
CONFIG_NET_IPIP=m
CONFIG_NET_IPGRE=m
CONFIG_NET_IPGRE_BROADCAST=m

утилиты diff diff3 sdiff

ну и своих скриптов по мелочи

убрано из ядра, системы и uClibc - IPv6, NFS, BPALOGIN

Уважаемый! А не подскажете ли в каком месте можно прерваться на кастомайз (скриптик олега):

BRCM="/opt/brcm/hndtools-mipsel"
PATH=${BRCM}-linux/bin:${BRCM}-uclibc/bin:${PATH}
export PATH


cd broadcom/src/${OLEG}
echo "Creating uClibc..."
make uClibc

echo "Creating kernel..."
make kernel

echo "Creating gateway..."
make

# по моим подозрениям какраз вот тут.
# я прав?

echo "Compiling gateway..."
cd ../gateway
make

echo "Creating firmware..."
make install

ну и кроме того - если я захочу что-то переконфигурить - это тоже тут?

shushlev
05-09-2008, 19:11
прошивку DD-WRT прошили? или на какой используете?
в любом случае надо запускать второй pppd демон для второго PPPoE.

примерно как описано в пункте 15) по созданию PPTP.

Прошивкой которую нам с вами сделали , прошив 4 пакета которые вы указали что они есть в DD-WRT. WL500gp-1.9.2.7-10-gaa вот этой... как я понял там прошили 4 пакета которые требуются для этого... DD-WRT пока ставить не хочу ибо к Олеговской привык

AndreyPopov
05-09-2008, 19:13
Прошивкой которую нам с вами сделали , прошив 4 пакета которые вы указали что они есть в DD-WRT. WL500gp-1.9.2.7-10-gaa вот этой... как я понял там прошили 4 пакета которые требуются для этого... DD-WRT пока ставить не хочу ибо к Олеговской привык

ну я спросил, чтобы понимать о чем речь идет.

shushlev
05-09-2008, 19:19
ну я спросил, чтобы понимать о чем речь идет.

для начала как правильно создать в данном случае второй VLAN?

nvram set vlan0ports="2 3 5*"
nvram set vlan1ports="0 1 5"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit

Так получается? просто смущает везде пятерка... значит что WIfi интерфейс приклеен получится ко всем VLAN? собстно первый приклеен к нулевому... а пятый к обоим?

AndreyPopov
05-09-2008, 21:16
для начала как правильно создать в данном случае второй VLAN?

nvram set vlan0ports="2 3 5*"
nvram set vlan1ports="0 1 5"
nvram set vlan2ports="4 5"
nvram set vlan2hwname=et0
nvram commit

Так получается? просто смущает везде пятерка... значит что WIfi интерфейс приклеен получится ко всем VLAN? собстно первый приклеен к нулевому... а пятый к обоим?

если прошивка от Олега, то лучше и пользоваться командами описанными им в пункте 13) инструкции по настройке.

5 - это внутренний интрефейс, а wifi называется интерфейсо wl0 и он объединен в bridge br0 с портами eth2 интерфейса.

shushlev
05-09-2008, 22:27
если прошивка от Олега, то лучше и пользоваться командами описанными им в пункте 13) инструкции по настройке.

5 - это внутренний интрефейс, а wifi называется интерфейсо wl0 и он объединен в bridge br0 с портами eth2 интерфейса.

так ... настроить порт вроде бы вышло... выдает :


0: vlan0: 2 3 5t
1: vlan1: 0 1 5t
2: vlan2: 4 5t

значит с этим все правильно?

ifconfig показывает это:


br0 Link encap:Ethernet HWaddr 00:18:F3:85:6B:19
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:144 errors:0 dropped:0 overruns:0 frame:0
TX packets:151 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8163 (7.9 KiB) TX bytes:37666 (36.7 KiB)

eth0 Link encap:Ethernet HWaddr 00:18:F3:85:6B:19
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:199 errors:0 dropped:0 overruns:0 frame:0
TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:17284 (16.8 KiB) TX bytes:46483 (45.3 KiB)
Interrupt:4 Base address:0x1000

eth1 Link encap:Ethernet HWaddr 00:18:F3:85:6B:19
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:19
TX packets:0 errors:105 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:12 Base address:0x2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

ppp0 Link encap:Point-Point Protocol
inet addr:93.80.241.240 P-t-P:85.21.0.252 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1260 Metric:1
RX packets:12 errors:0 dropped:0 overruns:0 frame:0
TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:645 (645.0 B) TX bytes:774 (774.0 B)

vlan0 Link encap:Ethernet HWaddr 00:18:F3:85:6B:19
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:146 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:8891 (8.6 KiB) TX bytes:38846 (37.9 KiB)

vlan1 Link encap:Ethernet HWaddr 00:18:F3:85:6B:19
inet addr:10.158.77.251 Bcast:10.158.79.255 Mask:255.255.248.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:53 errors:0 dropped:0 overruns:0 frame:0
TX packets:77 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:4811 (4.6 KiB) TX bytes:7637 (7.4 KiB)


Вот Vlan2 не отображается после ребута... надо строку

ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up

как то добавить в автозагрузку?

AndreyPopov
06-09-2008, 00:53
Вот Vlan2 не отображается после ребута... надо строку

ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up

как то добавить в автозагрузку?

post-boot или post-firewall есть для этого.
были еще момнеты, то vlan2 появляется, если порт физически подключен.

makcumka
15-09-2008, 02:13
P.S. Пробовал ради спортивного интереса все-таки сделать балансировку по LARTC HOWTO: команды с таблицами и ip rule работают, а эта -
ip route add default scope global nexthop via 10.XXX.YYY.1 dev vlan2 weight 2 nexthop via 172.16.1.1 dev vlan1 weight 1
- не хочет, RTNETLINK answers: Invalid argument

проблема в том что во всех прошивках ядро не собрано с поддержкой multipath routing, а iproute собран

вот можешь использовать мою прошивку: http://rapidshare.com/files/145339170/WL500gp-1.9.2.7-10-NoIPv6.MultiPath.v1.trx
собрана на основе Олега, только отключен в uClibc и ядре IPv6 и добавлена поддержка больших таблиц маршрутизации и multipath routing

makcumka
15-09-2008, 03:07
и наконец самое интересное:

Dual-WAN for simple round-robin load equalization (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization)

скрипт для создания конфигурации с балансировкой нагрузки.


есть более простое решение load-balancing используя только iproute2 (смотрите пример с nexthop в LARTC)

для работы нужно патчить ядро, т.к. оно собрано без CONFIG_IP_ROUTE_MULTIPATH
вот моя прошивка: http://rapidshare.com/files/145339170/WL500gp-1.9.2.7-10-NoIPv6.MultiPath.v1.trx

так же как и у gaaronk из uClibc и ядра убрана поддержка IPv6, добавлена поддержка multipath route и route large tables. более ничего не добавлено, модифицировалось только uClibc и ядро на уровне опций при компиляции.

vectorm
15-09-2008, 09:08
проблема в том что во всех прошивках ядро не собрано с поддержкой multipath routing, а iproute собран

вот можешь использовать мою прошивку: http://rapidshare.com/files/145339170/WL500gp-1.9.2.7-10-NoIPv6.MultiPath.v1.trx
собрана на основе Олега, только отключен в uClibc и ядре IPv6 и добавлена поддержка больших таблиц маршрутизации и multipath routing
Если бы еще добавить туда специфику Чешской прошивки - будет вообще монстр :) И будут рады те, у кого есть бекап канал на USB модеме.

makcumka
15-09-2008, 23:26
Если бы еще добавить туда специфику Чешской прошивки - будет вообще монстр :) И будут рады те, у кого есть бекап канал на USB модеме.

если чехи исходные коды оставляют, то можно и добавить

vectorm
16-09-2008, 09:29
если чехи исходные коды оставляют, то можно и добавить
Там вроде в Олеговскую прошивку добавлены эти вещи:

http://koppel.cz/cdmawifi/download/170/usb-1.9.2.7-10-USB-1.70a.tar.gz
http://koppel.cz/cdmawifi/download/170/modules-1.9.2.7-10-USB-1.70b1.tar.gz

makcumka
23-09-2008, 09:53
Там вроде в Олеговскую прошивку добавлены эти вещи:

http://koppel.cz/cdmawifi/download/170/usb-1.9.2.7-10-USB-1.70a.tar.gz
http://koppel.cz/cdmawifi/download/170/modules-1.9.2.7-10-USB-1.70b1.tar.gz

окей, скачаю посмотрю... мож добавлю в свою прошивку

gloobus
21-10-2008, 14:00
Добрый день!
Сижу на форуме уже неделю (из них дня 3 перед покупкой сабжа). Оценив все за и против V1 & V2 пришел к выводу что мне параллельно какой выпуск, т.к. качаю сразу с десятка трекеров и в большинстве случае в автоматическом режиме по RSS. Комп всегда работает, по этому торрент, фтп- и веб-серверы запущены и работают с компа.

Прошился до Олеговской 1.9.2.7-10. Провайдер Корбина, настроил подключение по l2tp без проблем, все работает, маршруты получает сам по dhcp - за что большое спасибо форуму!

Есть некоторые вопросы, а именно в ближайшее время планирую подключить тариф "Интернет-страховка" от МГТС (АДСЛ), там в подарок дают USB/LAN модем :) (и это на тарифе в 20 рэ в мес!!! был удивлен) По началу думал подключить его прямо к компу по УСБ, расшарить АДСЛ-подключение на сеть роутера. Потом все таки передумал нагромождать рядом с компом лишнего. Я не очень силен в английском, искал, пытался, но так и не смог найти в настройках роутера профили подключений. Было бы приятно, если бы в новой альтернативной прошивке появились профили (если они там уже есть, тыкнете носом) :) Так же был бы благодарен совету, как можно заставить работать роутер с двумя провайдерами в зависимости от их приоритета... проще говоря возможность поставить приоритет на ADSL и держать его выключенным, что приведет к подключению ВПН от корбины. Пропадает инет от корбины, я включаю АДСЛ и перезагружаю роутер. АДСЛ законектился, роутер получил от него адреса. В общем ищу подобную возможность, либо минимальное вмешательство домашних пользователей :)

Извините за большой текст, на работе скучаю :)
С уважением, Юрий!

makkleud
21-10-2008, 22:34
МультиWAN тебе надо.

z303
30-11-2008, 15:05
Доброго всем этого самого. В последнее время тоже заинтересовался темой.
Подскажите, удалось ли добиться положительных результатов? Каким именно образом?
Пробовал на базе материала http://www.opennet.ru/docs/RUS/LARTC/x348.html решить задачу, но не осилил :(
у меня задача несколько отличается от примера



lan1 --- wl-550ge --- провайдер 1
|
wi-fi
|
lan2 --- wl-550ge --- провайдер 2

Есть желание, чтобы из обеих lan были доступны оба провайдера причем нагрузка на каналы провайдеров выравнивалась бы роутерами.
Оба провайдера выдают тырнет по ADSL (ip динамические) что тоже усложняет освоение примера.

Пытался сделать так:
ip route add default scope global nexthop via 79.139.168.1 dev ppp0 weight 1 nexthop via 192.168.1.1 dev br0 weight 1
роутер сказал так:
RTNETLINK answers: Invalid argument
Насколько я понял роутер не понимает "nexthop"

Немного офтопик, ожидаются ли обновленные прошивки от Олега?
Большая просьба к умеющим, если кто-то может, то соберите прошивку 1.9.2.7-10 с поддержкой CONFIG_IP_ROUTE_MULTIPATH и прочих "IP: advanced router", "IP: policy routing" нужностей для wl-550ge.

ABATAPA
30-11-2008, 18:17
Большая просьба к умеющим, если кто-то может, то соберите прошивку 1.9.2.7-10 с поддержкой CONFIG_IP_ROUTE_MULTIPATH и прочих "IP: advanced router", "IP: policy routing" нужностей для wl-550ge.

А с сессиями, привязанными к IP, что будете делать?
Вы и сейчас можете добавить два равновесных маршрута, но лучше сделать SNAT, распределив сети между ISP. Для fail-over пользовательского уровня существуют более надежные решения, например, простейшее - скрипт, проверяющий доступность ресурсов через каждого ISP.

z303
30-11-2008, 21:59
А с сессиями, привязанными к IP, что будете делать?
Вы и сейчас можете добавить два равновесных маршрута,
А можно несколько по-подробнее? Для меня линух и маршрутизация - области совершенно новые. Как я могу сейчас добавить два равновесных маршрута? Можно пример или ссылку на материалы для курения?

но лучше сделать SNAT, распределив сети между ISP. Для fail-over пользовательского уровня существуют более надежные решения, например, простейшее - скрипт, проверяющий доступность ресурсов через каждого ISP.
т.е lan1 ходит через провайдера 1, lan2 через провайдера 2? В случае падения одного из провайдеров переключается на оставшегося?

Это в принципе работает, но интереснее именно нагрузку распределить, ибо есть закономерность, что днем работает одна сеть, а вечером другая. Хотелось "доиспользовать" простаивающий канал

avryabov
06-12-2008, 14:30
Я подключился к двум провайдерам.
роутер wl500gP.
Сделал режим с "ручным переключением".
Принцип простой: оба провайдера подключены в роутер,
первый (netbynet) - в WAN, второй (qwerty) - в порт 4.
на рабочий стол вывесил 2 иконки - одна включает одну конфигурацию, а вторая - вторую.
недостатки:
переключение только ручное, и никакой балансировки нет.
время переключение - около 30 секунд ибо перезагрузка.
достоинства: все просто, и легко понять через кого
сейчас все работает.

Детали:
компьютеры в портах 1,2 и wifi
в 3 порту - ТВ приставка от qwerty.
потому vlan0 всегда "1 2 5t"
Сначала настраиваем роутер на одного провайдера, и сохраняем конфигурацию через консоль, протоколируя nvram show.
Потом тоже самое делаем со вторым провайдером.
потом файлы сортируем (sort.exe в windows) и ищем различия между ними (fc.exe в windows) потом на основе файла различий создаем пару скриптов для терминальной программки с макро функциями "tera term pro".
У меня получились такие скрипты:
=NBN start============
connect '192.168.x.x'
wait 'login: '
sendln 'admin'
wait 'Password: '
sendln 'xxx'
wait ']$ '
sendln 'nvram set vlan1ports="0 5"'
wait ']$ '
sendln 'nvram set vlan2ports="3 4"'
wait ']$ '
sendln 'nvram set wan_ifname_t="ppp0"'
wait ']$ '
sendln 'nvram set wan_proto_t="PPTP"'
wait ']$ '
sendln 'nvram set wan_proto="pptp"'
wait ']$ '
sendln 'nvram set wan0_proto="pptp"'
wait ']$ '
sendln 'nvram commit && reboot'
=NBN finish============

=qwerty start============
connect '192.168.x.x'
wait 'login: '
sendln 'admin'
wait 'Password: '
sendln 'xxx'
wait ']$ '
sendln 'nvram set vlan1ports="3 4 5"'
wait ']$ '
sendln 'nvram unset vlan2ports'
wait ']$ '
sendln 'nvram set wan_ifname_t=""'
wait ']$ '
sendln 'nvram set wan_proto_t="Automatic IP"'
wait ']$ '
sendln 'nvram set wan_proto="dhcp"'
wait ']$ '
sendln 'nvram set wan0_proto="dhcp"'
wait ']$ '
sendln 'nvram commit && reboot'
=qwerty finish============

Дальше - кидаем на десктоп пару иконок вызывющих tera term pro с одним или другим скриптом.

Вопрос: кто-нибудь может посоветовать метод получше?

lagshmi
06-12-2008, 14:48
у меня балансировка на 2 канала поэтому пакеты маркируются как вариант можно сделать переключение по недоступности того или иного канала
тольок надо немного оттюнинговать по порядку пинга и по паузам


#!/bin/sh

unset PATH
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/bin

#iptables -t mangle -I PREROUTING -p icmp --icmp-type echo-request -i $(nvram get lan_ifname) -d 192.36.148.17 -j MARK --set-mark 0x100
#iptables -t mangle -I PREROUTING -p icmp --icmp-type echo-request -i $(nvram get lan_ifname) -d 193.0.14.129 -j MARK --set-mark 0x200

activated=none
wan1=down
wan2=down

while true; do
# gateway is fine (300 times) but wan 2 will wait 5 min...
if arping $(nvram get wan_gateway) -c 3 -I vlan1 > /dev/null; then
#what happend over the gateway 1 of 2 is OK (1 time)
if ( ping 192.36.148.17 -c 1 -I vlan1 > /dev/null || ping 192.58.128.30 -c 1 -I vlan1 > /dev/null ); then
wan1=active

if [ "$activated" == "wan1" ]; then
#reroute to VLAN1
ip route delete table 100 default
ip route delete table 200 default
ip route delete default

ip route add table 100 default via $(nvram get wan_gateway)
ip route add table 200 default via $(nvram get wan_gateway)
ip route add default via $(nvram get wan_gateway)

activated=pass1
# echo "WAN1 alive & ping! WAN2 dead! reroute to VLAN1"
fi
fi
else
wan1=down
if ( [ "$wan2" == "active" ] && [ "$activated" != "pass2" ] ); then
activated=wan2
# echo "WAN1 dead mark for reroute to WAN2"
fi
if [ "$activated" == "dual" ]; then
# echo "GATEWAY AND PING failure seting flag to reroute to VLAN2"
activated=wan2
# echo $activated
fi
fi

if arping $(nvram get wan2_gateway) -c 3 -I vlan2 > /dev/null; then
if ( ping 193.0.14.129 -c 1 -I vlan2 > /dev/null || ping 192.5.5.241 -c 1 -I vlan2 > /dev/null ); then
wan2=active

if [ "$activated" == "wan2" ]; then
#reroute to VLAN2
ip route delete table 100 default
ip route delete table 200 default
ip route delete default

ip route add table 100 default via $(nvram get wan2_gateway)
ip route add table 200 default via $(nvram get wan2_gateway)
ip route add default via $(nvram get wan2_gateway)

activated=pass2
# echo "wan 2 alive & ping! WAN1 dead; reroute to VAN2"
fi
fi
else
wan2=down
if ( [ "$wan1" == "active" ] && [ "$activated" != "pass1" ] ); then
activated=wan1
# echo "wan2 dead! wan1 alive"
# echo $wan2
fi

if [ "$activated" == "dual" ]; then
# echo "GATEWAY AND PING FAILURE; reroute to VLAN1 on next hop"
activated=wan1
fi
fi

if ( [ "$wan1" == "active" ] && [ "$wan2" == "active" ] && [ "$activated" != "dual" ] ); then

ip route delete table 100 default
ip route delete table 200 default
ip route delete default

ip route add table 100 default via $(nvram get wan_gateway)
ip route add table 200 default via $(nvram get wan2_gateway)
ip route add default scope global equalize nexthop via $(nvram get wan_gateway)

activated=dual
# echo "route as dual"
#route as dual
fi
sleep
done

сперва пингуются гейтвеи ARP пингом(дабы не шел пинг через 2й интерфейс через инет, создавая иллюзию живого канала) если доступны то пингуются рутовые DNS сервера причем если хотябы 1 из них доступен то считать канал живым(для подтверждения работы сетки провайдера).
я бы хотел сократить кол-во пингов до рутовых серверов до 1 го в мин. но в этом слкчае нужно переписать последовательности if чтоб 2й интерфейс не ждал в этот момент

нечто подобное можно например слелать хтмл и 2 кнопика ван1 даун(ап) ван2 даун(ап) и текущий статус по пингам
тогда можно сделать 2 линка скажем http://router/vlan.php?wan1=up&wan2=down и http://router/vlan.php?wan2=up&wan1=down ну и так далее
Или прицепить на кнопку ez-seup

lagshmi
06-12-2008, 14:56
скрипт установки переменных на WAN2
запускается как /usr/sbin/udhcpc -i vlan2 -s /jffs/scripts/udhcpc-wan2.script


#!/bin/sh

export PATH=/bin:/usr/bin:/sbin:/usr/sbin
export LD_LIBRARY_PATH=/lib:/usr/lib

# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1

ifconfig $interface up

RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"

case "$1" in
deconfig)
# /sbin/ifconfig $interface 0.0.0.0
;;

renew|bound)
# /sbin/ifconfig $interface $ip $BROADCAST $NETMASK
echo "$ip $BROADCAST $NETMASK"

#здесь переписываем маршруты. если требуется
# if [ -n "$router" ] ; then
# echo "deleting routers"
# while route del default gw 0.0.0.0 dev $interface ; do
# :
# done
#
# for i in $router ; do
# route add default gw $i dev $interface
# done
# echo "$router"
# fi

echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
nvram set wan2_ifname=$interface
nvram set wan2_gateway=$router
nvram set wan2_ipaddr=$ip
nvram set wan2_netmask=$subnet
nvram set wan2_broadcast=$broadcast
# nvram commit
ifconfig $(nvram get wan2_ifname) $(nvram get wan2_ipaddr) netmask $(nvram get wan2_netmask) up
;;
esac

exit 0

avryabov
06-12-2008, 15:11
А скрипты куда положил?
На usb - флешку?
насколько я понял оба канала - обычные, без всяких PPTP, PPPoE ?

lagshmi
06-12-2008, 15:18
А скрипты куда положил?
На usb - флешку?
насколько я понял оба канала - обычные, без всяких PPTP, PPPoE ?

скрипты положены в jffs память.
этот у меня работает на DHCP(оба канала)
PPTP, PPPoE - наворотов у меня нет, скорее всего работает но тут что то надо переписать т.к. поверх vlan2 идет еще ppp
кроме того настроена QoS на оба канала:-)

avryabov
06-12-2008, 18:04
скрипты положены в jffs память.

Ох. А как ее настроить? поиск юзал но не нашел.
Прошивка-то Олеговская, или какая-то другая нужна?

lagshmi
06-12-2008, 18:11
Ох. А как ее настроить? поиск юзал но не нашел.
Прошивка-то Олеговская, или какая-то другая нужна?

Чувааааак клади куда угоднно, запускай циклом, я не могу сказать куда положить в Олеговой прошивке.
будет и в олеговой работать но нужно переработать скрипт, тут просто идея:p

avryabov
07-12-2008, 10:40
Чувааааак клади куда угоднно, запускай циклом, я не могу сказать куда положить в Олеговой прошивке.
будет и в олеговой работать но нужно переработать скрипт, тут просто идея:p
Я понял, что это идея, а не готовый рецепт.
Но работать этот скрипт будет до первой перезагрузки роутера.
Так ведь? Как это фиксится то?

lagshmi
07-12-2008, 13:25
Я понял, что это идея, а не готовый рецепт.
Но работать этот скрипт будет до первой перезагрузки роутера.
Так ведь? Как это фиксится то?

??? с чего до первой перезагрузки? комманды коммит некто не отменял

Rucha
16-01-2009, 13:54
Есть ли работающее решение для автоматического Failover-а на два WAN-а?
Думаю подключить второго провайдера для надежности, а вот будет ли работать - не могу понять, очень уж все противоречиво и запутанно.

emmsec
01-03-2009, 20:52
Подключаюсь я к провайдеру первому, через pptp через него хочу торрент пускать + там локальная сеть, второй и он же оснавной wimax через него все остальное.

1. Возник такой вопрос, как можно пустить торрент через второго провайдера?

2. И к вопросу не большая добавка, как можно пустить в этой же локальной сети одного юзверя (192.168.1.123) через pptp (первого провайдера). Чтоб не кушал интернет чужой)


Помогите! Если сложно, хотя бы направьте куда копать (желательно ко конкретнее :D )

MrGalaxy
10-04-2009, 19:46
Ситуация следующая. Поднят на одном из портов lan роутера wl500gp-1 vlan2. К нему подключен один провайдер, а к wan - другой. Метрика vlan2 =1, метрика wan =0.
Как мне понизить (увеличить цифру) метрику wan, чтобы при работающем vlan2 весь траффик шёл через него, а при разрыве связи через vlan2 Интернет был бы доступен через wan?

illia33
21-05-2009, 12:26
Прощу прощения за ламерский вопрос. Внимательно курил форум и пользовался поиском.
Нашел одну тему про мульти-WAN но она не предусматривала возможности регулирования загрузки и была для меня настолько сложной, что я даже не смог попробовать что-то настроить сам.

Также на форуме ОПЕН-ВРТ нашел подобную тему и вроде бы даже под асус.

Но хотелось бы сначала поговорить с гуру тут и получить помощь (возможно даже как для чайника) с тем чтобы воткнуть в рутер (1) инет от кабельного провайдера (ВОЛЯ) и (2) инет от АДСЛ-ного провайдера (ОГО).

Заранее благодарю!

mishAAn
28-09-2009, 20:01
Здравствуйте у меня вот такая задача:
Условия:

1. есть ADSL modem(настроен роутером и подключён к интернету через PPPoE)
2. Asus wl 500 gP v1(есть PPTP соединение через WAN), к нему подключены все компы
3. Adsl modem подключён к Asus'у в lan4

Нужно, что бы весь hhtp Трафик шёл через WAN Asus'а, а торренты и ещё некоторые программы работали через Adsl modem.

Подскажите пожалуйста в каком направлении думать? Можно ли это реализовать с помощью iptables или на асусе нужно поднимать прокси?

заранее благодарен.

vectorm
29-09-2009, 10:44
Воспользуйтесь поиском.
Например:
2wan
2 провайдера
и т.п.

Следующий "UP" без самостоятельных действий - тему закрою.

sergeime
08-10-2009, 15:02
Добрый день,

Имеется Wl500gpv2 с последней чешской прошивкой.

В WAN воткнут ADSL модем в режиме рутера (wl500 при этом у него DMZ), то есть firewall модема мне не мешает. Интернет работает, все в порядке.

Читаю http://wl500g.info/showpost.php?p=80908&postcount=461.
Подключаю второго провайдера, один из LAN портов перевожу в WAN.
Имеем robocfg show


Switch: enabled
Port 0: 100FD enabled stp: none vlan: 2 mac: 00:00:00:00:00:00
Port 1: 100FD enabled stp: none vlan: 0 mac: 00:00:00:00:00:00
Port 2: DOWN enabled stp: none vlan: 0 mac: 00:00:00:00:00:00
Port 3: 100FD enabled stp: none vlan: 0 mac: 00:00:00:00:00:00
Port 4: 100FD enabled stp: none vlan: 1 mac: 00:00:00:00:00:00
Port 5: 100FD enabled stp: none vlan: 2 mac: 00:00:00:00:00:00
VLANs: BCM5325/535x enabled mac_check mac_hash
0: vlan0: 1 2 3 5t
1: vlan1: 4 5t
2: vlan2: 0 5t
3: vlan3:
4: vlan4:
5: vlan5:
6: vlan6:
7: vlan7:
8: vlan8:
9: vlan9:
10: vlan10:
11: vlan11:
12: vlan12:
13: vlan13:
14: vlan14:
15: vlan15:


Прописываю маршруты в post-boot



ifconfig vlan2 hw ether 00:22:15:55:EC:82
ifconfig vlan2 10.101.240.65 netmask 255.255.240.0 up
route add -net 10.101.240.0 netmask 255.255.240.0 gw 10.101.240.1
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.101.240.1
route add -net 77.244.32.0 netmask 255.255.240.0 gw 10.101.240.1
route add -net 79.171.120.0 netmask 255.255.248.0 gw 10.101.240.1
route add -net 77.120.128.0 netmask 255.255.192.0 gw 10.101.240.1
route add default gw 10.101.240.1 metric 20
#
ip route add 10.101.240.0/24 dev vlan2 src 10.101.240.65 table 2
ip route add default via 10.101.240.1 table 2
ip rule add from 10.101.240.65 table 2


и iptables в post-firewall



iptables -I INPUT 6 -i vlan2 -m state --state NEW -j SECURITY
iptables -I FORWARD 6 -o vlan2 ! -i br0 -j DROP
iptables -t nat -A POSTROUTING -o vlan2 ! -s 10.101.240.65 -j MASQUERADE


Смотрим после перезагрузки, маршруты


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.200.1 * 255.255.255.255 UH 0 0 0 vlan1
192.168.100.0 * 255.255.255.0 U 0 0 0 br0
192.168.200.0 * 255.255.255.0 U 0 0 0 vlan1
79.171.120.0 10.101.240.1 255.255.248.0 UG 0 0 0 vlan2
10.101.240.0 10.101.240.1 255.255.240.0 UG 0 0 0 vlan2
10.101.240.0 * 255.255.240.0 U 0 0 0 vlan2
77.244.32.0 10.101.240.1 255.255.240.0 UG 0 0 0 vlan2
77.120.128.0 10.101.240.1 255.255.192.0 UG 0 0 0 vlan2
10.0.0.0 10.101.240.1 255.0.0.0 UG 0 0 0 vlan2
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.200.1 0.0.0.0 UG 0 0 0 vlan1
default 10.101.240.1 0.0.0.0 UG 20 0 0 vlan2


гейт 10.101.240.1 не пингуется, более того traceroute 10.101.240.1 даже и не показывает что пакеты в принципе пойдут через vlan2 - просто ***.

Может быть есть идеи, что я сделал не так?

sergeime
08-10-2009, 15:07
Еще что характерно, с такой конфигурацией пинги черех основной WAN проходят, а traceroute упорно не рисует маршрут, т.е. сплошные ***.
Это проходит если я удалю вот это из маршрутов.



default 10.101.240.1 0.0.0.0 UG 20 0 0 vlan2


Почему так происходит?

Еще команда arp показывает адрес гейта второго провайдера и (его?) мак адрес. Периодически там мелькают еще чьи-то маки относящиеся к vlan2. Значит ли это что физически линк живой?

Power
08-10-2009, 18:18
У вас как минимум один лишний маршрут


10.101.240.0 10.101.240.1 255.255.240.0 UG 0 0 0 vlan2


ADD: Возможно, как-то повлияет отключение rp_filter.

sergeime
08-10-2009, 23:26
Неужели нет никаких идей? :(

Удивительно, но факт. Пришел домой, попробовал воткнуть старый проверенный рутер - с ним работает. Втыкаю Wl500 обратно - тоже работает. Ничего не понимаю. На всякий случай прибил лишний маршрут и лишний дефолтный маршрут, тот что был с метрикой 20.

А что такое rp_filter?

Да, теперь новая проблема. С рутера вторая WAN сетка пингается, а вот с компа - нет. Вижу что через NAT пакеты проходят, видимо обратно к отправителю не попадают. Как быть?

Кажется все в порядке. Как обычно кривые руки и незнание матчасти.
Настроил отсюда http://wl500g.info/showthread.php?t=6208
Вспомнил что провайдер мак на своем свиче забил, узнал какой именно и вернул его на место. Кажется все работает, тьфу-тьфу :)

unreg
11-10-2009, 12:46
Схема сети


isp1(CT) ----> | |
| PC (Ubuntu) | -----> | LAN |
isp2(МГТС) ----> modem -----> | |


isp1 - corbina telecom (pptp + dhcp client)
isp2 - МГТС (pppoe, поднимает adsl модем)
в виде роутера выступал PC с 3 сетевыми картами, и Ubuntu на борту (dnsmasq, dhcp3-server, samba, squid, lamp, etc)

Совместно провайдеры использовались таким образом:

$ sudo cat /etc/iproute2/rt_tables |grep provider

1 provider1
2 provider2

Следующие скрипты выполнялись после поднятия pptp соединения


$ cat /etc/balance/*
#!/bin/bash

. /etc/balance/vars

echo "1" > /proc/sys/net/ipv4/ip_forward
ip route del default
#
#ip route del default
ip route flush table $TBL1 #обнуляем первую таблицу маршрутов
ip route flush table $TBL2

ip route flush cache

ip rule delete table $TBL1 #удаляем наши таблицы, если они присутсвуют в т$
ip rule delete table $TBL2 #аналогично для второй.
ip rule delete table $TBL1 #и делаем это два раза, так как у нас два прави$
ip rule delete table $TBL2
#
ip route add dev $IF1 table $TBL1 > /dev/null 2>&1
ip route add default via $P1 table $TBL1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 src $IP2 table $TBL2 > /dev/null 2>&1
ip route add default via $P2 table $TBL2 > /dev/null 2>&1

ip route add $P1_NET dev $IF1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 src $IP2

ip route add default via $P1 > /dev/null 2>&1

ip rule add from $IP1 table $TBL1 > /dev/null 2>&1
ip rule add from $IP2 table $TBL2 > /dev/null 2>&1

ip route add $P0_NET dev $IF0 table $TBL1 > /dev/null 2>&1
ip route add $P2_NET dev $IF2 table $TBL1 > /dev/null 2>&1
ip route add 127.0.0.0/8 dev lo table $TBL1 > /dev/null 2>&1
ip route add $P0_NET dev $IF0 table $TBL2 > /dev/null 2>&1
ip route add $P1_NET dev $IF1 table $TBL2 > /dev/null 2>&1
ip route add 127.0.0.0/8 dev lo table $TBL2 > /dev/null 2>&1

ip route add default scope global nexthop dev $IF1 weight $W1 \
nexthop via $P2 dev $IF2 weight $W2


#iptables -t nat -F POSTROUTING
#iptables -t nat -A POSTROUTING -s $P0_NET -o $IF1 -j MASQUERADE
#iptables -t nat -A POSTROUTING -s $P0_NET -o $IF2 -j MASQUERADE
#iptables -t nat -A POSTROUTING -s $P0_NET -o eth0 -j MASQUERADE

echo "nameserver 192.168.2.1" >> /etc/resolv.conf



#!/bin/bash
# cat /etc/balance/vars
# LAN interface
IF0="192.168.5.1"

# WAN interface 1
IF1="ppp999"
# WAN interface 2
IF2="eth2"

IP1="`ip addr show $IF1 | grep inet | awk '{print $2}'`"
#IP1="`ifconfig ppp999 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $8}' | sed -e 's/addr://'`"
#IP2=`ifconfig eth2 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $7}' | sed -e 's/addr://'`
IP2="`ifconfig eth2 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $7}' | sed -e 's/addr://'`"
# gateway 1
P1="`ifconfig ppp999 | head -n 2 | sed 'N;s/\n/ /' | awk '{print $9}' | sed -e 's/P-t-P://'`"
# gateway 2
P2="192.168.2.1"

# LAN netmask
P0_NET="192.168.5.0/24"
# WAN1 netmask
P1_NET="85.21.0.0/32"
# WAN2 netmask
P2_NET="192.168.2.0/24"

TBL1="provider1"
TBL2="provider2"

# Realtive weight of channels bandwidth
W1="19"
#W1="10"
W2="1"


Возник вопрос: как совместно использовать 2 провайдера на аппаратном маршрутизаторе? ASUS WL-500g Premium V2 c FW 1.9.2.7-10 от Oleg'a на борту

ryzhov_al
11-10-2009, 13:40
Прикреплённая тема "Инструкция по настройке WL-500g Deluxe/Premium с нуля", пост #6.

unreg
11-10-2009, 14:25
13) Настройка нескольких WAN. Нужно тем у кого несколько провайдеров или если хочется разделить порты и раздавать интернет незаисимо. В роутере используется свитч с поддержкой vlan. Порты нумеруются USB-1-2-3-4-0, где 0-WAN. Чтобы сделать например 1 порт независимым нужно дать команды
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
vconfig add eth0 2
после этого появится полноценный интерфейс vlan2. Посмотреть список интерфейсов командой ifconfig -a
посмотреть конфигурацию портов свитча robocfg show
Новому интерфейсу можно назначить свой MAC адрес командой
ifconfig hw ether 00:11:32:23:32:23
запустить интерфейс:
ifconfig vlan2 192.168.2.1 broadcast 192.168.2.255 netmask 255.255.255.0 up
на Deluxe скорость маршрутизации ориентировочно 3Мбайта/c при загрузке процессора 65%

захожу через telnet, логинюсь

ввожу
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
и не ответа не привета

unreg
11-10-2009, 14:32
http://pic.ipicture.ru/uploads/091011/Eh6vTq2aT6.jpg
и вешается

ryzhov_al
11-10-2009, 14:50
и вешается
Картинка не показывается, перешлите в личке.
Сначала думал, что в v2 слишком тупой неуправляемый свитч. Сейчас проверил команду на v2 (спасибо chyuliy (http://www.wl500g.info/member.php?u=26939)) - всё работает.
Какая прошивка?

unreg
11-10-2009, 15:02
прошивка указана в 1 посте
ASUS WL-500g Premium V2 c FW 1.9.2.7-10 от Oleg'a на борту
WL500gpv2-1.9.2.7-10.trx
3*792*896 байт

в v2 похоже коммутатор управляемый

$ ip a

1: lo: <LOOPBACK,MULTICAST,UP> mtu 16436 qdisc noqueue
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
inet6 ::1/128 scope host
2: sit0@NONE: <NOARP> mtu 1480 qdisc noop
link/sit 0.0.0.0 brd 0.0.0.0
3: eth0: <BROADCAST,MULTICAST,ALLMULTI,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:24:8c:51:4f:9d brd ff:ff:ff:ff:ff:ff
inet6 fe80::224:8cff:fe51:4f9d/10 scope link
4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:24:8c:51:4f:9d brd ff:ff:ff:ff:ff:ff
inet6 fe80::224:8cff:fe51:4f9d/10 scope link
5: vlan0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue
link/ether 00:24:8c:51:4f:9d brd ff:ff:ff:ff:ff:ff
inet6 fe80::224:8cff:fe51:4f9d/10 scope link
6: vlan1: <BROADCAST,MULTICAST,ALLMULTI,UP> mtu 1500 qdisc noqueue
link/ether 00:24:8c:51:4f:9d brd ff:ff:ff:ff:ff:ff
inet 10.154.8.20/21 brd 10.154.15.255 scope global vlan1
inet6 fe80::224:8cff:fe51:4f9d/10 scope link
7: br0: <BROADCAST,MULTICAST,ALLMULTI,UP> mtu 1500 qdisc noqueue
link/ether 00:24:8c:51:4f:9d brd ff:ff:ff:ff:ff:ff
inet 192.168.1.1/24 brd 192.168.1.255 scope global br0
inet6 fe80::224:8cff:fe51:4f9d/10 scope link
8: ppp0: <POINTOPOINT,MULTICAST,UP> mtu 1460 qdisc pfifo_fast qlen 3
link/ppp
inet 95.24.111.170 peer 85.21.0.245/32 brd 95.24.111.170 scope global ppp0

$ dmesg | grep 802

802.1Q VLAN Support v1.7 Ben Greear <greearb@candelatech.com>

ryzhov_al
11-10-2009, 15:40
Ладно, оставим в покое robocfg.
lan4iswan.sh:

#!/bin/sh
#nvram set vlan0ports="1 2 3 4 5*"
#nvram set vlan1ports="0 5"

nvram set vlan0ports="1 2 3 5*"
nvram set vlan1ports="0 4 5"
nvram commit

И перегружаемся. Для того, чтобы всё вернуть на место, необходимо раскоментировать первую пару строк с nvram set и закоментировать вторую пару.

unreg
11-10-2009, 15:58
и куда в WL-500gpv2 складывать скрипты?
ЗЫ девайс на руках меньше суток
ни find , ни locate, не whereis в бизибоксе нету

Power
11-10-2009, 16:10
захожу через telnet, логинюсь

ввожу
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
и не ответа не привета

Вы когда эту команду вводите, сами-то к какому порту [свича роутера] подключены? Если к 1 - то вы фактически рубите сук, на котором сидите :)

unreg
11-10-2009, 16:20
естественно к 3му

ryzhov_al
11-10-2009, 16:46
и куда в WL-500gpv2 складывать скрипты?
ЗЫ девайс на руках меньше суток
Это отдельный вопрос.
можете выполнить построчно в командной строке:

nvram set vlan0ports="1 2 3 5*"
nvram set vlan1ports="0 4 5"
nvram commit
После перезагрузки значения переменных nvram будут восстановлены и при загрузке вступят в силу.

Флеш v2 (4mb) разбит на пять разделов:

[admin@WLROUTER root]$ cat /proc/mtd
dev: size erasesize name
mtd0: 00040000 00010000 "boot"
mtd1: 007b0000 00010000 "linux"
mtd2: 0070be88 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00410000 00010000 "flashfs"

В nvram хранятся переменные, используемые как бут-лоудером CFE, так и во время конфигурирования стартующего роутера. По сути, все параметры, которые заданы в web-интерфейсе находятся здесь.

В flashfs находится сжатый образ файловой системы, необходимый для работы роутера. При выполнении команд flashfs save && flashfs commit роутер запакует туда все файлы, перечисленные в /usr/local/.files

При наличии внешней флешки\диска директория /opt монтируется на внешний носитель. На него впоследствии ставится весь сторонний софт.

Остальные тонкости описаны в FAQ (http://www.wl500g.info/showthread.php?t=3171).

KarD_IO
16-10-2009, 11:11
Прощу помощи.

Организовал два WAN
nvram show | grep ports
vlan2ports=3 5
vlan0ports=0 1 2 5*
vlan1ports=4 5


Для vlan1 - провайдер ethernet - настройку делал с веб-интерфейса

На vlan2 - должен быть pppoe


mgts.pppd

noauth refuse-eap
user 'xxx@mgts'
password 'xxxx'
nomppe nomppc
plugin rp-pppoe.so nic-vlan2
mru 1492 mtu 1492
idle 1800 demand
maxfail 0
persist
nodefaultroute
ipcp-accept-remote ipcp-accept-local noipdefault
ktune
default-asyncmap nopcomp noaccomp
novj nobsdcomp nodeflate
lcp-echo-interval 10
lcp-echo-failure 6
unit 0

#/usr/sbin/pppd file /opt/script/mgts.pppd
[admin@HomeRouter root]$ /opt/script/run_pppoe.sh
Plugin rp-pppoe.so loaded.
RP-PPPoE plugin version 3.10 compiled against pppd 2.4.5
[admin@HomeRouter root]$ tail /opt/var/log/syslog.log
Oct 16 12:31:47 syslogd started: BusyBox v1.15.1
Oct 16 12:31:47 syslogd: started.
Oct 16 12:31:47 rc.unslung: start service /opt/etc/init.d/S10cron
Oct 16 12:31:47 /opt/sbin/cron[156]: (CRON) STARTUP (V5.0)
Oct 16 12:32:07 pppd[161]: Plugin rp-pppoe.so loaded.
Oct 16 12:32:07 pppd[161]: RP-PPPoE plugin version 3.10 compiled against pppd 2.4.5
Oct 16 12:32:07 pppd[162]: pppd 2.4.5 started by admin, uid 0
Oct 16 12:32:07 pppd[162]: Using interface ppp0
Oct 16 12:32:07 pppd[162]: local IP address 10.64.64.64
Oct 16 12:32:07 pppd[162]: remote IP address 10.112.112.112

Даже если положить vlan2
Все равно будет
Oct 16 12:32:07 pppd[162]: local IP address 10.64.64.64
Oct 16 12:32:07 pppd[162]: remote IP address 10.112.112.112


[admin@HomeRouter root]$ route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.200.168.1 * 255.255.255.255 UH 0 0 0 vlan1
10.112.112.112 * 255.255.255.255 UH 0 0 0 ppp0
192.168.1.0 * 255.255.255.0 U 0 0 0 br0
10.200.168.0 * 255.255.255.0 U 0 0 0 vlan1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default localhost.prime 0.0.0.0 UG 0 0 0 vlan1
[admin@HomeRouter root]$


Модем в режиме бриджа. При настройке с веб-интерфейса все работает (адрес выдает как нужно).

Где ошибка?

Power
16-10-2009, 19:13
Лишняя строка:

idle 1800 demand

KarD_IO
17-10-2009, 20:59
Лишняя строка:

idle 1800 demand

Убрал, адрес перестал выделяться и выяснилось, что виноватым оказался провайдер. Спасибо!

FreeZ
11-11-2009, 11:26
Имеется 2 физических подключения к провайдерам.
Местная сеть и внешний интернет.

Возможно ли сделать так чтобы внутрений интернет шел допустим на ван1, а внешний через ван2 ?

спасибо

asdd
11-11-2009, 12:06
Имеется 2 физических подключения к провайдерам.
Местная сеть и внешний интернет.

Возможно ли сделать так чтобы внутрений интернет шел допустим на ван1, а внешний через ван2 ?

спасибо

"Внутренний" и "внешний" интернет это что такое?

FreeZ
11-11-2009, 12:28
ну получается внутрегородской, 78.140.4.1 и интернет с выходом во всемирный тырнет 94.251.111.1

Warcan
11-11-2009, 12:34
Очень информативно:D
Указанные IP и являются внешними интернет адресами. Но что то мне подсказывает что это не адреса которые можно прописать на ван интерфейсе роутера. Скорее всего это IP шлюзов провайдера. Укажите что за настройки необходимо для каждого из провайдеров. И поясните для каких целей нужно два провайдера.

vectorm
11-11-2009, 12:38
Имеется 2 физических подключения к провайдерам.
Местная сеть и внешний интернет.

Возможно ли сделать так чтобы внутрений интернет шел допустим на ван1, а внешний через ван2 ?

спасибо
Вы бы поискали например по 2 WAN, много бы вопросов отпали ...

FreeZ
11-11-2009, 14:06
мда надо зватьна помощь копетана очевидность...

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

один пров требует настройки ИП, маска подсети, основной шлюз, днсы, привязка по маку. Другой пров не требует настроек вообще, все идет автоматически.

Captain Obvious
12-11-2009, 15:25
мда надо зватьна помощь копетана очевидность...
Я здесь. :D Конеченый форум, пока писал подробный ответ меня отлогинило и все ушло в топку. В двух словах - прописывай того провайдера который требует настроек в роутер и втыкай его шнурок в WAN порт, а второго который выдает автоматом - не трогай. После этого на компе пропиши роуты для внутригородского через
route add, например route add 78.140.4.10 MASK 255.255.255.255 78.140.4.1 после чего с компа будет ходить по правильным маршрутам.

Power
12-11-2009, 16:59
Мда, Капитан сказал чушь.
Для одного провайдера настраиваете всё в веб-морде, а для второго вручную поднимаете отдельный vlan и вручную же настраиваете интерфейс, маршрутизацию, фаерволл. Подробности много раз обсуждались на форуме.

MrGalaxy
12-11-2009, 21:15
Мда, Капитан сказал чушь.
Для одного провайдера настраиваете всё в веб-морде, а для второго вручную поднимаете отдельный vlan и вручную же настраиваете интерфейс, маршрутизацию, фаерволл. Подробности много раз обсуждались на форуме.
Эти обсуждения Вы называете подробностями?
Маршрутизация-файрволл ладно, а как, скажем, поднять на втором vlan динамический ip, поднять соединение l2tp, pppoe, pptp, а не только статик ip (что действительно обсуждено)?

Power
12-11-2009, 21:55
Эти обсуждения Вы называете подробностями?
Маршрутизация-файрволл ладно, а как, скажем, поднять на втором vlan динамический ip, поднять соединение l2tp, pppoe, pptp, а не только статик ip (что действительно обсуждено)?

В теме про multi-wan (http://wl500g.info/showthread.php?t=6208) есть много интересного.
Поднять динамический ip - тривиально, man udhcpc. Вторые pppoe, l2tp и pptp тут каждый день кто-то обсуждает.
Конечно, требуется некоторый уровень начальной подготовки, простейшие вещи тут никто объяснять не захочет. В конце концов, всегда можно найти кого-то, кто сделает желаемое за вознаграждение.

MrGalaxy
13-11-2009, 17:59
В теме про multi-wan (http://wl500g.info/showthread.php?t=6208) есть много интересного.Много-то много, только не всё работает. Нужную для меня заплатку я вообще не на этом форуме нашёл.

cousin
28-12-2009, 15:56
ввожу
robocfg vlan 2 ports "1 5t" vlan 0 ports "2 3 4 5t"
и не ответа не привета

Потому, что инструкция для v1
А у V2 нумерация портов другая
robocfg vlan 2 ports "3 5t" vlan 0 ports "0 1 2 5t"

Этот факт неплохо бы указать в инструкциях. Не все смогли прикупить себе V1

nanka
29-12-2009, 01:15
я пользуюсь конструкцией

nvram set vlan0ports="0 1 2 5*" #LAN 2,3,4
nvram set vlan1ports="4 5" #WAN - первый провайдер, настраивается в вебинтерфейсе
nvram set vlan2ports="3 5" #LAN 1 - второй провайдер, настраивается скриптами

rtwolf
14-02-2010, 00:13
А у меня не получается
Конфигурация такая:
LAN (br0) 192.168.3.156 подсеть 192.168.3.0/24
основной шлюз ppp0 с динамическим внешний IP адресом
дополнительный шлюз находится в LAN - 192.168.3.2

На роутере стоит OpenVPN сервер с IP адресом 172.16.0.1 и подсетью 172.16.0.0/24.
Клиенты подключаются и интернет для них берется с ppp0.
Но необходимо OpenVPN клиентам раздать инет от сервера, который находиться в локалке - 192.168.3.2. По причине большей скорости.

Делаю вот так:


ip route add default via 192.168.3.2 dev br0 table 111
ip rule add fwmark 4 lookup 111
ip rule add from 172.16.0.0/24 table 111
ip route flush cache

iptables -t mangle -A PREROUTING -s 172.16.0.0/24 -j MARK --set-mark 4
iptables -t nat -A POSTROUTING -o br0 -j SNAT --to-source 192.168.3.156

После того как выполняю команды ip трафик с клиентов прекращает идти в интернет.
Т.е. вероятней всего осталось дело за малым - iptables
Помогите советом

Slav_on
02-03-2010, 22:00
Здравствуйте уважаемые участники данного форума. Есть роутер ASUS WL500W прошитый последней прошивкой с этого сайта: http://code.google.com/p/wl500g/downloads/list у меня подключение к трем провайдерам, услугами которых я периодически пользуюсь т.е. три розетки. В настоящие время роутер поднимает PPPOE подключение для доступа в интернет, оставшиеся два провайдера позволяют ходить по их внутренним ресурсам городской сети по статическому IP. Следовательно возможно настроить роутер так что б в WAN порт был включен кабель провайдера на котором поднимается тунель PPPOE, а в два из четырех LAN вставить кабели и получить доступ к внутренним ресурсам городской сети каждого из провайдеров? Роутер следовательно будет вещать по WiFi на мой ноутбук и я получу доступ к сети Интернет и внутренним сетям провайдеров.

Для наглядности схема:
http://dl.dropbox.com/u/1710604/pppe-lan-lan-lan.gif

Power
03-03-2010, 01:47
Ответ на ваш вопрос - да.

Slav_on
03-03-2010, 18:28
Ответ на ваш вопрос - да.
Эммм... а где почитать можно как все это дело настраивается и чего нужно для этого. Сижу под Виндами, роутер купил вовторой раз т.к. старый WL500P v.1 здох... но работа с Линуксом порадовало плюс зарядка для мозга в изучении нового.

Less
03-03-2010, 19:59
http://wl500g.info/showthread.php?t=6208&highlight=multi-wan

http://wl500g.info/search.php?searchid=4180961

Slav_on
03-03-2010, 20:14
http://wl500g.info/showthread.php?t=6208&highlight=multi-wan

http://wl500g.info/search.php?searchid=4180961
Спасибо тебе добрый человек. Пойду курить маны...:p

dik-m
13-03-2010, 08:06
а можно ли использовать MPPP чтобы агрегировать полосу, т.е. совместить ppp0 и ррр1?
Документации на тему PPP Multilink очень мало. Если я не ошибаюсь в конфигах каждой стороны добавлена опция multilink.


multilink
Включает использование многоканального протокола PPP. Если партнёр также поддерживает многоканальный протокол, то этот канал может стать частью связки между локальной системой и партнёром. Если существует связка с партнёром, pppd объединит этот канал с этой связкой, иначе pppd создаст новую связку. См. ниже раздел МНОГОКАНАЛЬНЫЙ РЕЖИМ. Эта опция в настоящее время доступна только в Linux.

МНОГОКАНАЛЬНЫЙ РЕЖИМ

Многоканальный режим PPP позволяет объединять два или более PPP каналов между парой машин в единую связку, которая выглядит как единый виртуальный канал PPP. Этот канал объединяет пропускную способность отдельных каналов. В настоящее время многоканальный режим PPP поддерживается только в Linux.

Используя дискриминатор конечной точки и аутентифицированную личность партнёра (если он аутентифицировал себя), pppd обнаруживает, что канал которым он управляет, подключен к тому же партнёру, что и другой канал. pppd считает, что дискриминатор конечной точки, являющийся блоком данных, уникален для каждого партнёра. В качестве дискриминатора конечной точки могут использоваться данные различного типа, включая локально назначенные или случайные строки байтов, IP-адреса, MAC-адреса, или телефонные номера E-164. Дискриминатор конечной точки отправляемый партнёру может быть задан с помощью опции endpoint.

При некоторых обстоятельствах партнёр может отправить дискриминатор нет конечной точки или не уникальное значение дискриминатора. Опция связывания задаёт дополнительную строку, которая будет добавлена к дискриминатору конечной точки партнёра. Вместе они будут использоваться для определения принадлежности каналов одной связке. Опцию связывания можно использовать для создания нескольких связок между локальной системой и партнёром. pppd использует базу данных TDB в /var/run/pppd2.tdb для определения совпадающих каналов.

Предположим, что многоканальный режим включен и согласован с партнёром. Тогда если pppd запущен для установки первого канала к партнёру, он обнаружит что нет других соединённых с партнёром каналов и создаст новую связку на сетевом интерфейсе ppp с новым номером. Когда другой pppd запустит установку другого канала к партнёру, он обнаружит существующую связку и присоединит канал к ней.

Если первый канал закроется (например, по причине зависания модема или из-за принятия LCP-пакета terminate-request), и в связке есть другие каналы, связка не уничтожается. Вместо выхода первый pppd продолжит работать после закрытия канала, до тех пор пока не закроются все каналы в связке. Если первый pppd примет сигнал SIGTERM или SIGINT, он разрушит связку и отправит SIGHUP процессам pppd для каждого канала в связке. Если первый pppd принимает сигнал SIGHUP, он закроет канал, но не связку.

dramnbass
30-03-2010, 21:51
скажите а какой девайс такое умеет делать? из не дорогих, и чтоб держал скорость. комп с кучей сетевых не хочется ставить.

Unlimited
31-03-2010, 08:19
скажите а какой девайс такое умеет делать? из не дорогих, и чтоб держал скорость. комп с кучей сетевых не хочется ставить.
Почти любой роутер асус.. Если вы дружите с линуксом и понимаете как настраивается сеть на достаточном уровне, то вы сможете сделать..

dramnbass
31-03-2010, 17:37
Почти любой роутер асус.. Если вы дружите с линуксом и понимаете как настраивается сеть на достаточном уровне, то вы сможете сделать..

максимум 2 wan у асусов. или как?

dramnbass
01-04-2010, 11:50
есть идея сделать на трех wl500gpv2

на два роутера приходит по 2 аплинка, и эти два роутреа подключены к третьему. прокатит так?

Unlimited
01-04-2010, 11:58
максимум 2 wan у асусов. или как?
Кто вам такое сказал? можно сделать 4 на одном.

Unlimited
01-04-2010, 11:59
есть идея сделать на трех wl500gpv2

на два роутера приходит по 2 аплинка, и эти два роутреа подключены к третьему. прокатит так?
Бред. Повторяю, можно на одном. Для 2х аплинков просто мануалы готовые, а для 4х прийдется еще эти мануалы не просто выполнить, а понять.

dramnbass
01-04-2010, 12:38
не знал.
потянет ли 3 шифрованных аплинка? (4й адсл модем)
и какую выдаст макс скорость?
еще на роутере usb hdd, торрент, самба.. раздает по вайфаю дальше.
может лучше купить еще один роутер, который будет только аплинками рулить, а раздавать по вайфаю и тд, оставить второму?

а есть в природе девайсы, для гальванической развязки витых? на всякий случай.

у меня 500gpv2.

Unlimited
01-04-2010, 12:43
не знал.
потянет ли 3 шифрованных аплинка? (4й адсл модем)
и какую выдаст макс скорость?
еще на роутере usb hdd, торрент, самба.. раздает по вайфаю дальше.
может лучше купить еще один роутер, который будет только аплинками рулить, а раздавать по вайфаю и тд, оставить второму?

а есть в природе девайсы, для гальванической развязки витых? на всякий случай.

у меня 500gpv2.
Вы так и не сказали для чего вам это? вы хотите резервирование или load balancing? Насколько я знаю тут на форуме в основном обсуждают один основной а другой резервный аплинк, т.е. одновременно они не работают..
А одновременно с распределением нагрузки у wl500 не очень будет скорость... попробуйте потом нам напишите...

dramnbass
01-04-2010, 13:07
именно для резервирования. я так понял что load balancing не выйдет, особенно с шифрованными аплинками. один жирный канал и 3 маленьких про запас.

а как насчет гальваноразвязки? воможно перед роутером поставить некий девайс с 8 портами, и чтобы он тупо перекидывал с 1 на 2, с 2 на 3 и тд. чтобы в случае чего вылетал именно девайс а не роутер.

Unlimited
01-04-2010, 13:16
именно для резервирования. я так понял что load balancing не выйдет, особенно с шифрованными аплинками. один жирный канал и 3 маленьких про запас.

а как насчет гальваноразвязки? воможно перед роутером поставить некий девайс с 8 портами, и чтобы он тупо перекидывал с 1 на 2, с 2 на 3 и тд. чтобы в случае чего вылетал именно девайс а не роутер.
Можно и load balancing устроить, только в файрволе правила самому писать придется или подсмотреть на wrt форумах... Ну и работать будет лучше всего для торрентов, насчет такого устройства для "гальванической развязки" не представляю о чем вы говорите, вы это сами придумали или прочитали где-то?:)

dramnbass
01-04-2010, 13:33
Можно и load balancing устроить, только в файрволе правила самому писать придется или подсмотреть на wrt форумах... Ну и работать будет лучше всего для торрентов, насчет такого устройства для "гальванической развязки" не представляю о чем вы говорите, вы это сами придумали или прочитали где-то?:)

ну как то не очень нравится что 3 витые приходят из чердаков и подвалов, с раных коммутаторов которые висят на разных фазах, да и вообще. раньше в грозу сетевые карты горели у некоторых, вот не хочется такого. иначе смысл резервирования? со всех сторон надо надежность повышать)


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

Unlimited
01-04-2010, 13:38
ну как то не очень нравится что 3 витые приходят из чердаков и подвалов, с раных коммутаторов которые висят на разных фазах, да и вообще. раньше в грозу сетевые карты горели у некоторых, вот не хочется такого. иначе смысл резервирования? со всех сторон надо надежность повышать)


может заюзать 3 маленьких дешевых роутера, пусть они шифрованием занимаются, таким образом в wl500 будет приходить 4 "чистых" аплинка. и развязку получаем. кроме того можно без wl500 в случае надобности просто воткнуть витую в любой из маленьких роутеров. и сразу инет. сняв с wl500 работу по шифрованию, получим прирост скорости в случае load_balancing
Ну так от гроз есть такие штуки как грозозащиты, при наличии нормального заземления спасают на 99% :)

dramnbass
01-04-2010, 14:01
мне не от гроз.
мне от школоты которая подрабатывает монтажниками у провайдеров. в некоторых домах витые в щитках как струны, у меня все пучками и перепутано на каждом этаже.

получается 3 роутера самых простых с поддержкой l2tp/прочих шифрований. еще стрим адсл модем. все это добро втыкается в wl500. к нему подцеплется свитч.

осталось выбрать какие роутеры взять...

popow_sergei
01-04-2010, 21:56
может лучше купить еще один роутер, который будет только аплинками рулить, а раздавать по вайфаю и тд, оставить второму?

тогда уж лучше маршрутизацию настроить на роутере, а wifi раздавать точками доступа .

Vovanchik
02-04-2010, 11:53
а не проще взять свитч, взять ноут - воткнуть все входящие провода в свитч - вывести один и воткнуть в ноута сетевушку?
и на ноут уже поставить нормальный гуевый вынь или линь и в нем настроить несколько подключений. думаю производительности средненького ноута хватит и на десяток ppp каналов.
вроде как теоретически все пакеты выходящие из ноута в свич пойдут по своим адресам по нужному проводу?
или я туплю и надо вешать веер usb сетевушек?

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

smi
02-04-2010, 11:55
а не проще взять свитч, взять комп или ноут - воткнуть все входящие провода в свитч Угу, а потом придут все 4 провайдера и башку открутят, как там в старинном садистком стишке - "Долго пинали - кровавое тело. Я б заступился, но били за дело!"

Vovanchik
02-04-2010, 11:58
ну тогда машрутизатор самый простой. или воще dir-320 или 520g который без usb самый дешевый и в нем разделить входящие на вланы и маршрутизацию прописать пакетов.

AndreyUA
02-04-2010, 12:33
Посмотрите в сторону готовых решений. Вот, например http://www.technotrade.com.ua/Products/mikrotik-rb450g.php
Или чего-нить из циски?

Goletsa
02-04-2010, 13:31
Дело не в маршрутизатор а в свиче.
Для такого надо свич второго уровня чтобы можно было изолировать 4 входящих аплинка каждый в своем вилане а потом уже транком отдать на простенький сервер на том же атоме с парой сетевых.
Ну а дальше да здраствует секас с iproute2\iptables
Цена свича будет гдето в районе стоимости двух ваших роутеров.
Плюс желательно искать чтобы было 1GE интерфес и допустим 5-8 FE

Unlimited
02-04-2010, 14:02
Дело не в маршрутизатор а в свиче.
Для такого надо свич второго уровня чтобы можно было изолировать 4 входящих аплинка каждый в своем вилане а потом уже транком отдать на простенький сервер на том же атоме с парой сетевых.
Ну а дальше да здраствует секас с iproute2\iptables
Цена свича будет гдето в районе стоимости двух ваших роутеров.
Плюс желательно искать чтобы было 1GE интерфес и допустим 5-8 FE
Ну во первых такой свич есть во всех асусах, во вторых есть простенький DIR-100 который может быть влан свичом...
Я бы не парился и не делал монтстроидальных схем, а сделал бы это на одном асусе...

Vovanchik
02-04-2010, 14:02
тогда уж дешевле usb хаб и пучек usb сетевушек...
ну или полногабаритный комп и рядком несколько pci сетевушек

Goletsa
02-04-2010, 20:30
тогда уж дешевле usb хаб и пучек usb сетевушек...
ну или полногабаритный комп и рядком несколько pci сетевушек

USB сетевушки УГ. Там скорость никакая.
Несколько сетевушек в ряд неэстетично.

theMIROn
02-04-2010, 22:07
доо, лучше серверная *pci плата с 4х интерфейсами на борту по цене небольшого управляемого, но все таки, самолета :)

Goletsa
03-04-2010, 16:42
доо, лучше серверная *pci плата с 4х интерфейсами на борту по цене yt,небольшого управляемого, но все таки, самолета :)

Слишком дорого, 15к за четырехпортовый интел меня жаба задушит. Тогда проще взять RouterBoard c 5 гиговыми портами и азеросом на 800MHz на борту и настраивать на ней. Но это уже офтопик в рамках этого форума.

dramnbass
03-04-2010, 18:18
а чем серверная плата лучше? по сравнению с обычной офисно-юзерской, с 4x100 pci, 1х1000 onboard, который идет на lan. core 2, 4гб рам. такой потянет 4 аплинка по 30 мбит с l2tp/pppoe например?

Vovanchik
03-04-2010, 18:45
а зачем столько ядер и мозгов?
думаю вполне хватит 1-1,5ГГц пня, полгига оперативы и 4-5 pci сетевушек.

и воще -- я так понимаю ему сюда
http://wl500g.info/showthread.php?t=20445

если каналы будут использованы как резервные - яб собирал на одном роутере 320 или 500
если необходима скорость по всем каналам - управляемым свичем поставил бы dir 100 или 520 асус - разделил на вланы,запретил трафик между портами - взял бушный ноут тыр за 6-7 и настроил на нем впн по каждому каналу. ну а дальше уже при необходимости как уже говорилось организация мультивана.
все это дело обошлось бы в тыр 9-10 ну плюс время.

dramnbass
03-04-2010, 22:02
ну как зачем. чтоб было. как раз примерно в 10 и обойдется.



управляемым свичем поставил бы dir 100 или 520 асус - разделил на вланы,запретил трафик между портами

а это как? всмысле понятно как, но ему не поплохеет от такой нагрузки? или это не нагрузка?

Vovanchik
03-04-2010, 23:52
ему не поплохеет от такой нагрузки? или это не нагрузка?
iptables вроде очень быстро работает...
так что по моему разумению это совсем не нагрузка. ходовых испытаний не проводил, врать не буду

MrGalaxy
12-06-2010, 19:58
Так каким образом настроить балансировку http? Есть ли не теоретическое, а инженерное решение?
С массовым появлением безлимитного Интернета это становится более актуальным, нежели просто резервирование.

MrGalaxy
21-09-2010, 16:49
Какой командой можно получить адрес шлюза, чтобы его вписать потом как параметр в команду балансировки?

MrGalaxy
22-09-2010, 17:38
Есть 2 провайдера.
Требуется получить суммарную скорость этих двух провайдеров при скачивании, веб-серфинге и т.д.
Провайдер 1 - Билайн, подключенный через wan, провайдер 2 - Домолинк, подключённый через vlan2 к модему ADSL.
Даю команду

ip route add default scope global nexthop via `netstat -nr | grep ppp0 | awk '{print $2}'` dev ppp0 weight 1 nexthop via 192.168.1.1 dev vlan2 weight 1
В ответ получаю "Network is unreachable".
Вывод ifconfig:

[admin@WL-001FC652FD2B root]$ ifconfig
br0 Link encap:Ethernet HWaddr 00:
inet addr:192.168.2.1 Bcast:192.168.2.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4217520 errors:0 dropped:0 overruns:0 frame:0
TX packets:7275436 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:298148438 (284.3 MiB) TX bytes:1675051707 (1.5 GiB)

eth0 Link encap:Ethernet HWaddr 00:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:43106292 errors:25 dropped:0 overruns:4 frame:4
TX packets:36031292 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2686985253 (2.5 GiB) TX bytes:905825470 (863.8 MiB)
Interrupt:4 Base address:0x1000

eth1 Link encap:Ethernet HWaddr 00:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:183786 errors:0 dropped:0 overruns:0 frame:249200
TX packets:564964 errors:63 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29442437 (28.0 MiB) TX bytes:283953185 (270.7 MiB)
Interrupt:12 Base address:0x2000

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MULTICAST MTU:16436 Metric:1
RX packets:5535 errors:0 dropped:0 overruns:0 frame:0
TX packets:5535 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:474856 (463.7 KiB) TX bytes:474856 (463.7 KiB)

ppp0 Link encap:Point-to-Point Protocol
inet addr:95.29.148.176 P-t-P:85.21.230.206 Mask:255.255.255.255
UP POINTOPOINT RUNNING MULTICAST MTU:1460 Metric:1
RX packets:30720976 errors:0 dropped:0 overruns:0 frame:0
TX packets:26029485 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:1882476127 (1.7 GiB) TX bytes:413027426 (393.8 MiB)

vlan0 Link encap:Ethernet HWaddr 00:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4114888 errors:0 dropped:0 overruns:0 frame:0
TX packets:7174531 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:335250845 (319.7 MiB) TX bytes:1539470783 (1.4 GiB)

vlan1 Link encap:Ethernet HWaddr 00:
inet addr:10.174.67.143 Bcast:10.174.71.255 Mask:255.255.248.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:38991038 errors:0 dropped:0 overruns:0 frame:0
TX packets:28845780 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1575690614 (1.4 GiB) TX bytes:3660760908 (3.4 GiB)

vlan2 Link encap:Ethernet HWaddr 00:
inet addr:192.168.1.123 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:365 errors:0 dropped:0 overruns:0 frame:0
TX packets:10981 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:130450 (127.3 KiB) TX bytes:561075 (547.9 KiB)

wds0.1 Link encap:Ethernet HWaddr 00:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

wds0.2 Link encap:Ethernet HWaddr 00:
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

[admin@WL-001FC652FD2B root]$
Что я не так делаю?

Amigo90
23-09-2010, 10:37
+1. На прошивке 1.9.2.7-10.7 Мультиван поддерживается? Или есть профили? Тоже имею 2 провайдера, хотелось бы при переключении не перенастраивать все... Кстате а через мультиван нельзя случайно одновременно 2 провайдера запустить?

dfayruzov
23-09-2010, 10:44
Все можно. Читайте тему multi-wan. В частности, на последних страницах я запостил отчет как у себя настроил.

MrGalaxy
05-05-2011, 17:35
Начну тему.
Дано: 2 или более провайдеров, подключённых к wan, vlan2, vlan3, etc.
Требуется: суммировать скорость доступа в Интернет за счёт суммирования скорости всех подключенных провайдеров.
Я это не умею, но хочу постепенно распутать этот непростой клубок с помощью грамотных товарищей.


Итак, здесь (http://www.opennet.ru/docs/RUS/LARTC/index.html) и здесь (http://www.opennet.ru/base/net/iproute2.txt.html) описывается утилитка iproute2, которая отсутствует в репах optware.
Пока возникли следующие вопросы:
1. Есть ли аналогичная утилита для прошивки "от энтузиастов" или чем её ещё можно заменить?
2. Включена ли в ядре поддержка netlink в ядре прошивки и где можно посмотреть опции ядра и их значения?

theMIROn
05-05-2011, 17:50
iproute2 влючена в прошивку.
ip --help :)

MrGalaxy
08-05-2011, 10:11
Кажется решён...

В общем, пытался я оставить в /etc/resolv.conf и те dns, которые получены от Билайна через wan, и засунуть туда дополнительно 192.168.1.1 (адрес АДСЛ-модема Домолинка). Уважаемый Power мне рекомендовал

echo "nameserver 192.168.1.1" > /etc/resolv.conf, я же попробовал

echo "nameserver 192.168.1.1" >> /etc/resolv.conf. Пинг прошёл. Вроде, можно радоваться, но не тут-то было. Засунул этот скрипт в post-firewall и в скрипт, отрабатываемый при падении wan (у меня он называется ppp0-ip-down).
При поднятии интерфейса адрес модема добавляется в /etc/resolv.conf, а при падении - нет.
Зато удачно добавляется в /tmp/resolv.conf!
Этим и воспользовался.

В post-firewall:

...
echo "nameserver 192.168.1.1" >> /tmp/resolv.conf
...
В additional pppd options веб-интерфейса роутера добавлено

ip-down-script /usr/local/sbin/ppp0-ip-down
В /usr/local/sbin/ppp0-ip-down:

#!/bin/sh
/tmp/ppp/ip-down
...
echo "nameserver 192.168.1.1" >> /etc/resolv.conf
...
Единственное условие - надо явно указывать интерфейс. Вот результат пинга:

[admin@WL-001FC652FD2B root]$ ping -c 5 -w 20 -I vlan2 ya.ru
PING ya.ru (87.250.251.3): 56 data bytes
64 bytes from 87.250.251.3: seq=0 ttl=54 time=30.371 ms
64 bytes from 87.250.251.3: seq=1 ttl=54 time=38.572 ms
64 bytes from 87.250.251.3: seq=2 ttl=54 time=29.231 ms
64 bytes from 87.250.251.3: seq=3 ttl=54 time=35.216 ms
64 bytes from 87.250.251.3: seq=4 ttl=54 time=30.282 ms

--- ya.ru ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max = 29.231/32.734/38.572 ms
[admin@WL-001FC652FD2B root]$ ping -c 5 -w 20 -I ppp0 ya.ru
PING ya.ru (87.250.250.3): 56 data bytes
64 bytes from 87.250.250.3: seq=0 ttl=56 time=6.336 ms
64 bytes from 87.250.250.3: seq=1 ttl=56 time=5.953 ms
64 bytes from 87.250.250.3: seq=2 ttl=56 time=6.466 ms
64 bytes from 87.250.250.3: seq=3 ttl=56 time=7.804 ms
64 bytes from 87.250.250.3: seq=4 ttl=56 time=7.483 ms

--- ya.ru ping statistics ---
5 packets transmitted, 5 packets received, 0% packet loss
Файл /usr/local/etc/dnsmasq.conf удалил за ненадобностью.

MrGalaxy
08-05-2011, 21:43
Продолжаем разговор. (с):D

Задача - получить удвоение скорости скачивания-отдачи за счёт использования двух провайдеров.
К wan у меня подключен Билайн по l2tp, а к vlan2 - модем АДСЛ.
wan имеет динамический ip и dns, а у vlan2 всё статическое.
Записал я в post-firewall следующее:

#!/bin/sh
logger -t post-firewall started

# vlan2 masquerading
iptables -t nat -A POSTROUTING -o vlan2 -s 192.168.2.0/24 -j MASQUERADE
echo "nameserver 192.168.1.1" >> /tmp/resolv.conf
logger -t post-firewall nameserver 192.168.1.1 added to /tmp/resolv.conf

# load balancing
ip route del default
ip route add default scope global nexthop via 0.0.0.0 dev ppp0 weight 1 nexthop via 192.168.1.1 dev vlan2 weight 1
ip route flush cache
...Поначалу всё было нормально, пинги проходили по обоим интерфейсам, сайты открывались, а потом пошла такая чехарда, что хоть стой, хоть падай:

...
May 8 22:47:53 L2TP: connected to ISP
May 8 22:47:53 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:53 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:53 ppp0-ip-up: user script ended
May 8 22:47:53 ppp0-ip-up: user script started
May 8 22:47:53 ppp0-ip-up: started system ip-up bin file
May 8 22:47:54 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:54 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:54 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:54 post-firewall: started
May 8 22:47:54 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:54 post-firewall: ended
May 8 22:47:54 L2TP: connected to ISP
May 8 22:47:54 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:54 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:54 ppp0-ip-up: user script ended
May 8 22:47:54 ppp0-ip-up: user script started
May 8 22:47:54 ppp0-ip-up: started system ip-up bin file
May 8 22:47:54 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:54 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:54 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:55 post-firewall: started
May 8 22:47:55 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:55 post-firewall: ended
May 8 22:47:55 L2TP: connected to ISP
May 8 22:47:55 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:55 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:55 ppp0-ip-up: user script ended
May 8 22:47:55 ppp0-ip-up: user script started
May 8 22:47:55 ppp0-ip-up: started system ip-up bin file
May 8 22:47:55 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:55 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:55 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:55 post-firewall: started
May 8 22:47:55 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:56 post-firewall: ended
May 8 22:47:56 L2TP: connected to ISP
May 8 22:47:56 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:56 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:56 ppp0-ip-up: user script ended
May 8 22:47:56 ppp0-ip-up: user script started
May 8 22:47:56 ppp0-ip-up: started system ip-up bin file
May 8 22:47:56 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:56 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:56 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:56 post-firewall: started
May 8 22:47:56 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:56 post-firewall: ended
May 8 22:47:56 L2TP: connected to ISP
May 8 22:47:56 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:56 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:56 ppp0-ip-up: user script ended
May 8 22:47:56 ppp0-ip-up: user script started
May 8 22:47:56 ppp0-ip-up: started system ip-up bin file
May 8 22:47:57 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:57 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:57 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:57 post-firewall: started
May 8 22:47:57 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:57 post-firewall: ended
May 8 22:47:57 L2TP: connected to ISP
May 8 22:47:57 ppp0-ip-up: ended system ip-up bin file
May 8 22:47:57 ppp0-ip-up: vnstat ppp0 stats enabled
May 8 22:47:57 ppp0-ip-up: user script ended
May 8 22:47:57 ppp0-ip-up: user script started
May 8 22:47:57 ppp0-ip-up: started system ip-up bin file
May 8 22:47:57 dnsmasq[81]: read /etc/hosts - 2 addresses
May 8 22:47:57 dnsmasq[81]: using nameserver 85.21.192.5#53
May 8 22:47:57 dnsmasq[81]: using nameserver 213.234.192.7#53
May 8 22:47:58 post-firewall: started
May 8 22:47:58 post-firewall: nameserver 192.168.1.1 added to /tmp/resolv.conf
May 8 22:47:58 post-firewall: ended
May 8 22:47:58 ppp0-ip-up: user script started
May 8 22:47:58 L2TP: connected to ISP
...и так до бесконечности.
Выдернул к шутам собачьим кабель из роутера, чтобы меня не забанили за какое-нибудь нехорошее действие и начал чесать репу: что я не так сделал.

Уважаемые специалисты, я так понимаю, что это бесконечное переподключение и авторизация получились в результате указания адреса 0.0.0.0 на интерфейсе ppp0.
Т.к. ip я заранее не знаю, то был вынужден так поступить.

А как можно узнать свой текущий ip на ppp0? И ГЛАВНОЕ: получится ли сделать так, чтобы скрипт балансировки в post-firewall выполнялся тогда, когда уже ip адрес для ppp0 получен?


ЗЫ: пробовал указать вместо четырёх нулей адрес шлюза ppp0:

ip route add default scope global nexthop via `netstat -nr | grep ppp0 | awk '{print $2}'` dev ppp0 weight 1 nexthop via 192.168.1.1 dev vlan2 weight 1
Вообще не работает.
Пробовал вместо ppp0 указывать vlan1, тоже не работает.

ryzhov_al
08-05-2011, 21:55
А как можно узнать свой текущий ip на ppp0?
Не то?

$ /sbin/ifconfig ppp0 | grep "inet addr" | awk '{print substr($2,index($2,":")+1)}'
или

$ nvram get wan_ipaddr_t

MrGalaxy
09-05-2011, 18:11
Не то?

$ /sbin/ifconfig ppp0 | grep "inet addr" | awk '{print substr($2,index($2,":")+1)}'
или

$ nvram get wan_ipaddr_tБлагодарю, это то (лучше первый скрипт, с недавнего времени я nvram не доверяю). Однако, дело оказалось сложнее. Распечатал тут одну статейку (http://www.opennet.ru/base/net/debian_multilink.txt.html), завтра, если будет время, покурю на работе, может чего пойму.


ЗЫ: ip, gw, имя интерфейсов - это понятно, а как задать сеть1 и сеть2, если я хочу весь Интернет пускать через оба интерфейса? Как уже писал, 0.0.0.0 ни к чему хорошему не привело. Или сеть1 - это ПОДСЕТЬ, к которой принадлежит шлюз провайдера1 ?

MrGalaxy
11-05-2011, 19:16
Докладываю промежуточные результаты своих мытарств.

Методом научного тыка под танцы с бубном и балалайкой вприсядку :D записал такие команды в post-firewall

ip route del default
ip route add default scope global nexthop dev ppp0 weight 1 nexthop via 192.168.1.1 dev vlan2 weight 1
Поначалу прописал ещё и
ip route flush cache
но потом убрал, т.к. не заработало.
ppp0 - Билайновское vpn;
vlan2 - статик ip=192.168.1.111, gw=dns=192.168.1.1, к которому подключён АДСЛ модем Домолинка, настроенный роутером.
Сделал Disconnect/Connect вручную из веб-морды.
Пинги прошли по обоим интерфейсам.
Скачивание тестовых файлов показало, правда, что и по одному, и по другому интерфейсу скачалось примерно одинаковое кол-во байт, равное объёму скачиваемых файлов.
Иными словами, показанный объём скачанного равен удвоенному объёму фактически скачанного. :eek: Примерно такая же картина у меня наблюдалась на Висте, когда у меня не было роутера, но было 2 сетевых адаптера и те же Корбина с Домолинком.
А более серьёзный момент вот какой: при выдёргивании кабеля от любого провайдера доступ у сети пропадает.
Лечится ли это или нет?
Т.е. сам я "полечить" могу через пинги и переназначение шлюзов, но хотелось бы, чтоб система реагировала мгновенно. Пропал пакет - раз, и всё идёт через другой интерфейс.
Вот как это сделать?

Igor Kit
20-08-2011, 22:03
Прошу не материть и в поиск не посылать... :o Искал долго, но так и не нашел пошаговой инструкции как на прошивке уважаемых энтузиастов подключить двух провайдеров DHCP и L2TP с балансировкой, увеличением скорости. Если есть такая инструкция, ткните, плз, в ссылку. А в идеале загрузить бы файл flashfs :rolleyes:

MrGalaxy
21-08-2011, 07:07
Прошу не материть и в поиск не посылать... :o Искал долго, но так и не нашел пошаговой инструкции как на прошивке уважаемых энтузиастов подключить двух провайдеров DHCP и L2TP с балансировкой, увеличением скорости. Если есть такая инструкция, ткните, плз, в ссылку. А в идеале загрузить бы файл flashfs :rolleyes:

Нет такой инструкции. Мало того, я даже спрашивал, какие файлы отвечают за конфигурацию l2tp и вообще wan, дабы всё это прописать вручную для vlan2. Никто не ответил.
Надо ждать, пока какого-нибудь спеца не припрёт и он для себя не напишет такие скрипты.

tdma
21-08-2011, 11:55
Нет такой инструкции. Мало того, я даже спрашивал, какие файлы отвечают за конфигурацию l2tp и вообще wan, дабы всё это прописать вручную для vlan2. Никто не ответил.
Надо ждать, пока какого-нибудь спеца не припрёт и он для себя не напишет такие скрипты.

с openwrt быстрей разберётесь

Omega
21-08-2011, 13:16
Прошу не материть и в поиск не посылать... :o
Искал долго, но так и не нашел пошаговой инструкции как на прошивке уважаемых энтузиастов
подключить двух провайдеров DHCP и L2TP с балансировкой, увеличением скорости.
Если есть такая инструкция, ткните, плз, в ссылку. А в идеале загрузить бы файл flashfs :rolleyes:
Хорошо, пошлем читать эту тему ... :D И вот эти тоже: multi-wan (http://wl500g.info/showthread.php?t=6208) 2 провайдера (http://wl500g.info/showthread.php?t=16731) 2 wan (http://wl500g.info/tags.php?tag=2+wan) :)

Ну так лучше, чем семь лет искать такую инструкцию, взяли бы и сами написали ... :rolleyes:
Потом даже можно было бы её повесить в рамочку первым постом в шапке темы ... ;)


Нет такой инструкции. Мало того, я даже спрашивал, какие файлы отвечают за конфигурацию
l2tp и вообще wan, дабы всё это прописать вручную для vlan2. Никто не ответил.
Надо ждать, пока какого-нибудь спеца не припрёт и он для себя не напишет такие скрипты.
Н-да, тоже не помешало бы внимательней читать форум и свою любимую тему: L2TP server (http://wl500g.info/showpost.php?p=231202&postcount=196) :rolleyes:

А что, ваши изыскания по теме тоже ещё не привели к написанию скриптов и инструкции? ;)


с openwrt быстрей разберётесь
IMHO: Если даже с прошивкой олега и энтузиастов не разобрались, то и там вряд ли будет быстрее ... :cool:

Igor Kit
21-08-2011, 14:08
Omega
Просил не посылать, видимо без этого никак...:o
По всем этим ссылкам я не раз ходил, пошаговой инструкции там нет, увы...
Я оценил Ваш юмор насчет самому написать:rolleyes:
Но если бы я мог это сделать, то не вопросы задавал, а скрипты выкладывал. Поэтому и просил подсказать, а не посылать, поскольку очень нужно подключиться к 2 провайдерам.
До этого с одним провайдером сидел на Томатах. У них все просто и удобно, но они не могут работать с L2tp.

MrGalaxy
21-08-2011, 15:00
Н-да, тоже не помешало бы внимательней читать форум и свою любимую тему: L2TP server (http://wl500g.info/showpost.php?p=231202&postcount=196) :rolleyes:

А что, ваши изыскания по теме тоже ещё не привели к написанию скриптов и инструкции? ;)

Так там про сервер, а мне, насколько я понимаю, нужна клиентская часть.

Написал я скрипты по динамической балансировке, но они какие-то кривые получились. Работают только когда оба провайдера исправно работают. Вытыкаешь провод от любого провайдера - роутер входит в ступор.:(

steils
12-09-2011, 22:22
Хочу настроить роутер на работу с двумя провайдерами. Нужно чтоб по одному шел только трафик почты, по второму все остальное. Как маршруты то прописывать???

vectorm
14-09-2011, 16:18
Поскольку подобная операция требует серьезных знаний в Линуксе, исходный продукт будет потреблять черезчур много ресурсов роутера, и использование подобных решений в ответственных задачах нецелесообразно - никто не заморачивается с созданием полноценных решений.

А вопрос работы разных маршрутов для разных провайдеров неоднократно обсосан, поищите сообщения пользователя MrGalaxy например.

steils
14-09-2011, 17:31
Есть сеть с роутером DIR-320 с прошивкой от Vampik, адреса выдает роутер. В сети присутствует сервер на Ubuntu Server (самба, фтп). Интернет заведен в роутер. Все работает.
Но тут подключили 2 линию интернет через adsl. Модем DSL-2500. Настроил бриджем. Если подключить любой комп в сети через отдельный кабель, то соединение устанавливается и работает, но пропадает локалка. Подключил модем напрямую в сеть, получается в LAN порт. Соединение устанавливается, но только после того, если прописать второе подключение в самом модеме в режиме роутера с другим логином/паролем. Без этого не проходит проверка пароля.
И также не могу пробросить порт в DIR-320 для настройки модема....
Как сделать чтоб комп и в локалке был и не было активно 2 соединение в модеме?

sanek1
24-09-2011, 11:26
Как ASUS WL-500g Premium V2 сделать 2 х wan баланс загрузки каналов провайдеров вообще на каком asusе так можно сделать

AndreyPopov
22-10-2012, 12:50
в проекте OpenWRT уже давно живет проект Multiwan.

причем реализван он в виде отдельного скрипта.

любой может получить его:
http://downloads.openwrt.org/attitude_adjustment/12.09-beta/brcm47xx/generic/packages/multiwan_1.0.22-1_brcm47xx.ipk

- поддерживается большое количество wan
- реализованы схемы (Load Balancing в двух вариантах, FailOver - автоматическое определение упавшего коннекта и переход на запасной и обратно, распределение траффика на основе правил).

MrGalaxy
24-10-2012, 09:54
в проекте OpenWRT уже давно живет проект Multiwan.

причем реализван он в виде отдельного скрипта.

любой может получить его:
http://downloads.openwrt.org/attitude_adjustment/12.09-beta/brcm47xx/generic/packages/multiwan_1.0.22-1_brcm47xx.ipk

- поддерживается большое количество wan
- реализованы схемы (Load Balancing в двух вариантах, FailOver - автоматическое определение упавшего коннекта и переход на запасной и обратно, распределение траффика на основе правил).

А как им пользоваться?

AndreyPopov
24-10-2012, 16:28
ipk - это все тот же tar.gz архив.
его надо распоковать, внутри три файла, нам нужен data.tar.gz -его тоже распаковываем и получаем скрипт multiwan.

все что этому скрипту надо - это присвоить переменным wan, wan2 , wan3 и т.д. переменные интерфейсов.

ну и соответственно перед этим создать эти интерфейсы, "оторвав" их от свича командой roboconfig или подобным способом.

irwin9
22-01-2013, 17:04
Ребят если у кого положительный опыт в использовании mwan3 (failover) пакет выполняющий аналогичные задачи что и multiwan.
Ветка разработчика mwan3 https://forum.openwrt.org/viewtopic.php?id=39052
Уровень моего скилла английского пока явно хромает, поэтому решить в одиночку затрудняюсь : )

Fast Deer
31-01-2013, 11:33
Здравствуйте! Задумываюсь о втором канале, хотя первый всем устраивает кроме скорости - на ADSL выше не прыгнешь. На данный момент имею WL500W 128МБ с прошивкой 1.9.2.7-rtn-r4051 и поднятым PPoE на котором есть выделенный внешний IP получаемый по DHCP от провайдера. Все это воткнуто в стандартный WAN моего роутера. VLANа в настройках роутера нет.
Сам роутер раздает адреса в домашнюю сеть - поднят DHCP.
Хочется в свободный порт подключить второго провайдера (у него внутренняя статика, без паролей и привязок на роутере) и сделать распределение нагрузки с помощью iptables:
Нужно чтоб с определенных адресов домашней сети трафик перенаправлялся во второй WAN, а также если домашняя сеть лезет наружу по определенным адресам/портам, то же перенаправить во второй WAN.
Возможно ли такое? может подскажете как это сделать с примерчиками

Fast Deer
20-08-2013, 12:03
Здравствуйте!
При реализации 2х WAN набрел на такую статейку (http://www.dd-wrt.com/wiki/index.php/Dual-WAN_for_simple_round-robin_load_equalization), которая меня очень заинтересовала своей красотой и логичностью. Там есть такая строка:

for RULE in $(nvram get forward_spec)
где меня интересует параметр "forward_spec" и его значение (далее по тексту, насколько я понял, там это значение разбирается на подзначения), так как в прошивке от Олега и Open-WRT этого параметра нет. Может кто подскажет аналог?

AndreyPopov
24-08-2013, 19:05
как я понял forward_port соответсвует списку NAT Settings - Virtual Server
а forward_spec соответсвует списку NAT Settings - Port Trigger

Fast Deer
25-08-2013, 08:12
как я понял forward_port соответсвует списку NAT Settings - Virtual Server
а forward_spec соответсвует списку NAT Settings - Port Trigger

Спасибо за Ваш ответ! А не подскажете как называются эти параметры в прошивке от Олега?

lokus
27-08-2013, 14:06
Мое почтение.
Такая ситуация у меня, есть услуга "Персональный телефонный номер" от МГТС.
Раньше она у меня работала поверх НетБайНет, но недавно ее сделали доступной только поверх собственной сети (через ADSL-модем), при этом интернет от МГТС подключать не обязательно.
Собственно я хочу остаться на NetByNet'e, но чтобы все запросы к серверу телефонии МГТС (sbc.sip.spdop.ru) шли через их модем.
Топология сейчас такая есть RTN-16 с инетом от НБН и asterisk на борту, в его lan порт воткнут ADSL модем D-link DSL-2540U работающий в режиме Bridge и имеющий IP адрес 192.168.1.111.
Правильно ли я понимаю что для всех обращений к sbc.sip.spdop.ru мне нужно подставлять 192.168.1.111 в качестве шлюза? Как это сделать? Или я вообще не правильно рассуждаю?