Kozlov_Sergey Posted February 4, 2016 Share Posted February 4, 2016 Предлагаю добавить возможность в маршрутизаторах Keenetic использовать маршрут по умолчанию на несколько интерфейсов (для 2 подключений интернета одновременно). 1 Link to comment Share on other sites More sharing options...
0 dexter Posted August 22, 2016 Share Posted August 22, 2016 Понятно, я думал на Ultra или Giga 2. На Ultra2 c gw у меня работало. Хочу с работы Giga 2 принести попробовать заработает или нет. Link to comment Share on other sites More sharing options...
0 Kozlov_Sergey Posted August 22, 2016 Author Share Posted August 22, 2016 (edited) Скрытый текст Edited August 24, 2016 by Kozlov_Sergey Это схема сети: прямоугольники - маршрутизаторы, а линии со стрелками - подключения интернета. Link to comment Share on other sites More sharing options...
0 Roman_Petrov Posted August 24, 2016 Share Posted August 24, 2016 В 22/08/2016 в 17:18, r13 сказал: Вопреки этой рекомендации так не завелось, писал об этом выше, с указанием gateway все завелось В 22/08/2016 в 17:24, dexter сказал: Понятно, я думал на Ultra или Giga 2. На Ultra2 c gw у меня работало. Хочу с работы Giga 2 принести попробовать заработает или нет. Так у кого работает, может поделитесь уже описанием-скриптами толково, так и глядишь, все срастется и вдруг добавят фичку в прошивку ? И всем хорошо будет? Link to comment Share on other sites More sharing options...
0 r13 Posted August 24, 2016 Share Posted August 24, 2016 @Roman_Petrov Со скриптами пока не понятно откуда брать гейт резервного канала поэтому у меня пока просто хардкод, благо ip меняются редко. Link to comment Share on other sites More sharing options...
0 dexter Posted August 24, 2016 Share Posted August 24, 2016 Протестировал на крайней 2.06 на Giga 2. Результат следующий. С ноутбука из локалки пакеты ходят только через один шлюз. Другой доступен и пингуется. С самого кинетика пакеты ходят с разных интерфейсов, но в основном через один и тот же. При этом бук через один шлюз, а кинетик в основном через другой. Вес шлюзов был 50/50. Ultra 2 это же отрабатывала штатно. Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 24, 2016 Share Posted August 24, 2016 Пример Есть "ifconfig" и "ip" с помощью этих команд и берете нужные вам переменные (а именно зная имена интерфейсов без разницы ppp0 он или ppp1). У меня один pppoe другой pptp => подняты два ppp интерфейса (два проводных провайдера) => ppp0 и ppp1. Теперь сами варианты ppp0 Link encap:Point-to-Point Protocol inet addr:хх.хх.хх.204 P-t-P:хх.хх.хх.1 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1492 Metric:1 RX packets:1346 errors:0 dropped:0 overruns:0 frame:0 TX packets:1120 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:622677 (608.0 KiB) TX bytes:122811 (119.9 KiB) ppp1 Link encap:Point-to-Point Protocol inet addr:yy.yy.yy.52 P-t-P:yy.yy.yy.25 Mask:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1400 Metric:1 RX packets:6 errors:0 dropped:0 overruns:0 frame:0 TX packets:15 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1015 (1015.0 B) TX bytes:1635 (1.5 KiB) / # ndmq -p 'show interface PPTP0' -P address yy.yy.yy.52 / # ndmq -p 'show interface PPPoE0' -P address xx.xx.xx.204 ... R_nexthop=`ip route | awk '/nexthop via / {print $1}'` if [ "$R_nexthop" == "" ]; then echo "No router nexthop" inet_addr1=`ifconfig ppp0 | grep -i "inet addr:" | cut -f2 -d: | cut -f1 -d " "` inet_addr2=`ifconfig ppp1 | grep -i "inet addr:" | cut -f2 -d: | cut -f1 -d " "` PtoP_1=`ifconfig ppp0 | awk '/P-t-P/ {print $3}' | cut -f2 -d: | cut -f1 -d " "` PtoP_2=`ifconfig ppp1 | awk '/P-t-P/ {print $3}' | cut -f2 -d: | cut -f1 -d " "` ... route del default ip ro flush cache ip ro add default scope global nexthop via $inet_addr1 dev ppp0 weight 10 nexthop via $inet_addr2 dev ppp1 weight 10 echo "Yes router nexthop" exit; fi ... ... Для прямого аналогично только имена интерфейсов другие. В Cron проверка. Link to comment Share on other sites More sharing options...
0 r13 Posted August 24, 2016 Share Posted August 24, 2016 @vasek00 с прямым не так, нужен гейт, а его в выводе ifconfig нету Link to comment Share on other sites More sharing options...
0 Kozlov_Sergey Posted August 24, 2016 Author Share Posted August 24, 2016 (edited) Я не понимаю: неужели так трудно запрограммировать? Читаешь конфигурацию и bind (привязку сокета) делаешь на нужном интерфейсе и отправляешь данные. Данные идут в нужном направлении через нужное соединение (соответствующее интерфейсу) к следующему маршрутизатору. По моему рисунку выше, только нужно учесть, что пакет может прийти по круговому маршруту опять к отправляющему маршрутизатору, путём анализа ip адреса источника или чего-то подобного (уже это делали (есть реализация в допотопных ZyXEL 600 серии)). Это же элементарно на C++ том же сделать. Вобщем две недели на программирование и тестирование вполне достаточно. Особенно учитывая, что программируется это меньше чем за один рабочий день. Edited August 24, 2016 by Kozlov_Sergey Дополнил и исправил часть текста Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 25, 2016 Share Posted August 25, 2016 (edited) 15 часов назад, r13 сказал: @vasek00 с прямым не так, нужен гейт, а его в выводе ifconfig нету Какая разница, прямой он или "кривой". Смотрим конфиг и пробуем брать от туда (на данном интерфейсе должен быть маршрут по default ) : interface FastEthernet0/Vlan3 description VLAN3 security-level public ip address хх.хх.хх.52 255.255.224.0 ip dhcp client hostname My-Keen ip dhcp client dns-routes ip dhcp client name-servers ip mtu 1500 ip global 700 up ! interface FastEthernet0/3 name 3 role inet for FastEthernet0/Vlan3 switchport mode access switchport access vlan 3 up ! ... ! ip route default хх.хх.хх.1 FastEthernet0/Vlan3 ... или их будет два, так как два интерфейса для провайдера ... ip route default хх.хх.хх.1 FastEthernet0/Vlan3 ip route default 10.10.10.1 ISP ... Взять можно прочитав конфиг и взять из него нужные переменные / # ndmq -p "show running-config" -P message | awk '/^ip route default/' ip route default хх.хх.хх.1 FastEthernet0/Vlan3 ip route default 10.10.10.1 ISP / # Прогнать по "FastEthernet0/Vlan3" и по "ISP", как душе угодно через awk c grep / # ndmq -p "show running-config" -P message | awk '/^ip route default/ {print $4}' хх.хх.хх.1 10.10.10.1 / # Edited August 25, 2016 by vasek00 Link to comment Share on other sites More sharing options...
0 r13 Posted August 25, 2016 Share Posted August 25, 2016 @vasek00 нет его в running-config, есть только роут с основного подключения следующего содержания: ip route xx.xx.xx.xx ISP auto Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 25, 2016 Share Posted August 25, 2016 Имеем два провода от провайдера подключенные к WAN и LAN порту со стат IP адресами для выхода в интернет, в конфиге записи : # ndmq -p "show running-config" -P message ... !interface FastEthernet0/Vlan2 name ISP description "Broadband connection" ... ip address 10.10.10.100 255.255.255.0 ... up !interface FastEthernet0/Vlan3 description VLAN3 ... ip address хх.хх.хх.52 255.255.224.0 .... up ! ... ! ip route default хх.хх.хх.1 FastEthernet0/Vlan3 ip route default 10.10.10.1 ISP ... по маршрутам, по умолчанию у кого приоритет выше там и default /dev # ip ro | grep default default via хх.хх.хх.1 dev eth2.3 /dev # Ваш вид второго подключения, с первым понятно на WAN порту и ISP? Link to comment Share on other sites More sharing options...
0 r13 Posted August 25, 2016 Share Posted August 25, 2016 (edited) @vasek00 У меня 2 Dynamic IP и ни одной записи вида ip route default в running-config нет, Видимо в этом разница, для static шлюз указывается в настройках Edited August 25, 2016 by r13 Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 25, 2016 Share Posted August 25, 2016 Не покажите выполнение двух команд при одинаковом приоритете, не выключая интерфейс route del default ip ro через некоторое время еще раз route del default ip ro через некоторое время еще раз route del default ip ro Link to comment Share on other sites More sharing options...
0 r13 Posted August 25, 2016 Share Posted August 25, 2016 @vasek00 Было: default via 95.220.192.1 dev eth2.4 10.1.30.0/24 dev br1 proto kernel scope link src 10.1.30.1 10.2.30.0/24 dev br2 proto kernel scope link src 10.2.30.1 после удаления через некоторое время проставился роут с 2го интерфейса: ip ro default via 178.140.196.1 dev eth3 10.1.30.0/24 dev br1 proto kernel scope link src 10.1.30.1 10.2.30.0/24 dev br2 proto kernel scope link src 10.2.30.1 После следующего удаления снова перещелкнулось на 1й интерфейс: ip ro default via 95.220.192.1 dev eth2.4 10.1.30.0/24 dev br1 proto kernel scope link src 10.1.30.1 10.2.30.0/24 dev br2 proto kernel scope link src 10.2.30.1 Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 25, 2016 Share Posted August 25, 2016 (edited) 1 час назад, r13 сказал: @vasek00 Было: default via 95.220.192.1 dev eth2.4 после удаления через некоторое время проставился роут с 2го интерфейса: default via 178.140.196.1 dev eth3 После следующего удаления снова перещелкнулось на 1й интерфейс: default via 95.220.192.1 dev eth2.4 Ну и определите тогда путем удаления маршрута (командой удаления) и определением из "ip ro" нужного шлюза или если не ждать некоторое время то дополнительно команда # ip route get 8.8.8.8 покажет интерфейс и его шлюз при текущем default. ip route | awk '/default/ {print $4}' # тек интерфейс например eth2.4 if [текущ_шлюз=eth2.4] then ip route | awk '/defualt/ {print $3}' # тек IP шлюза ip route get 4.4.4.4 # получить тек.IP шлюза ip route del default ip route add default dev eth3 ip route get 8.8.8.8 # получить тек.IP шлюз для eth3 else ... fi Или смотреть переменные при текущем маршруте default в /opt/etc/ndm/wan.d при запуске в данном каталоге скрипта. Edited August 25, 2016 by vasek00 1 Link to comment Share on other sites More sharing options...
0 r13 Posted August 25, 2016 Share Posted August 25, 2016 (edited) Нарисовал себе такой скрипт, Так как провайдеры передают свои DNS в таблице маршрутов, дергаю шлюз из этих записей #!/opt/bin/sh dev3_route=`ip route | awk '/77.37.251.33/ {print $3}'`#DNS провайдера на интерфесе eth3 dev2_4_route=`ip route | awk '/212.1.224.6/ {print $3}'`#DNS провайдера на интерфесе eth2.4 R_nexthop=`ip route | awk '/nexthop via / {print $1}'` if test "$R_nexthop" = '' && test "$dev3_route" != '' && test "$dev2_4_route" != '' ; then echo "Multiwan not running, setting up..." ip route del default ip ro add default scope global nexthop via $dev3_route dev eth3 weight 10 nexthop via $dev2_4_route dev eth2.4 weight 10 ip ro flush cache elif test "$R_nexthop" != ''; then echo "Multiwan already active. Nothing to do." else echo "There is no multiple connections active this time. Exiting." fi Теперь вопрос куда его лучше запихнуть? В wan.d? Edited August 25, 2016 by r13 Link to comment Share on other sites More sharing options...
0 vasek00 Posted August 26, 2016 Share Posted August 26, 2016 Для ДНС лучше жестко прописать свой маршрут на свой интерфейс, второе при пропадании одного из каналов роутер его поднимет и опять же настройки слетят (будет обычный default, который роутер восстановит согласно своих настроек) => вывод лучше в cron, только для быстроты его работы нужно минимально использовать команды - ip ro и первая проверка на наличие test "$R_nexthop" а уже потом все остальное. 1 Link to comment Share on other sites More sharing options...
0 Дмитрий Posted September 7, 2016 Share Posted September 7, 2016 (edited) В 02.08.2016 в 18:18, zyxmon сказал: В Entware-3x собрали свежий вариант. Если что не так - маякните.... etc/iproute2/rt_tables не существует, какой-то др механизм создания таблиц? что-то непонятное ls /etc/iproute2 не существует, хотя папка в ФС есть Edited September 7, 2016 by Дмитрий Link to comment Share on other sites More sharing options...
0 Le ecureuil Posted September 7, 2016 Share Posted September 7, 2016 1 час назад, Дмитрий сказал: etc/iproute2/rt_tables не существует, какой-то др механизм создания таблиц? что-то непонятное ls /etc/iproute2 не существует, хотя папка в ФС есть Прям по номеру создавайте и по номеру с ней работайте. Ни в какие файлы прописывать не надо. Link to comment Share on other sites More sharing options...
0 zyxmon Posted September 8, 2016 Share Posted September 8, 2016 (edited) В entware /opt/etc не /etc, Edited September 8, 2016 by zyxmon Link to comment Share on other sites More sharing options...
0 blackride Posted September 10, 2016 Share Posted September 10, 2016 Хорошая тема, но мне нужно немного другое. При резервировании второе подключение соединено, как я понимаю, только оно в покое. Как бы пустить трафик с одной машины в локальной сети к серверу шаринга через второе подключение, то бишь 3G usb modem, а весь остальной трафик (youtube, торрент, веб серфинг и т.д.) через основное (проводное) подключение? Интервал проверки в keenetic минимум 3 сек. Скорей всего потеря пакетов, при которой идут затыки телевидения и является этим интервалом (3 сек). Не шибко уверен и в интервал 1 секунду, что он как то исправит бесшовное (без потери пакетов) переключение на резервный 3G. Но ситуация пускать трафик шаринга постоянно без всякого переключения через 3G модем было б идеальным решением. Что для этого нужно установить, какие команды ввести и т.д.? Роутер Ultra ii, прошивка v2.08(AAUX.0)A6 Link to comment Share on other sites More sharing options...
0 vasek00 Posted September 11, 2016 Share Posted September 11, 2016 (edited) Еще раз проверил на K-II ( v2.06(AAFG.2)C1 ) маршрутизацию через "ip ro add default scope global nexthop", нашел не стыковку в выводах команд WEB и "ip ro", так как все ПО разработка Zyxel то возможно ли что данная не стыковка влиять на работу. В данном режиме активен канал ppp1 получился. В cat ip_conntrack обнаружено, что только запросы на DNS сервер идут по каналу PPPoEo так как он описан в действующих маршрутах, а все остальные запросы идут на PPTP0 (он в global nexthop строке идет вторым. Edited September 11, 2016 by vasek00 Link to comment Share on other sites More sharing options...
0 blackride Posted September 11, 2016 Share Posted September 11, 2016 4 минуты назад, vasek00 сказал: Ответил вам на ixbt со скринами То что на скринах - трафик будет ходить всегда или только при переключении на нужный канал? Если только при переключении, то как сделать через entware на постоянной основе? Link to comment Share on other sites More sharing options...
0 vasek00 Posted September 11, 2016 Share Posted September 11, 2016 Все что на скринах трафик ходит по тем маршрутам которые есть в таблице, при пропадании его из таблице трафик ходить естественно не будет. Link to comment Share on other sites More sharing options...
0 blackride Posted September 11, 2016 Share Posted September 11, 2016 (edited) 15 минут назад, vasek00 сказал: Все что на скринах трафик ходит по тем маршрутам которые есть в таблице Задал я хождение трафика через usb модемное подключение в статит. маршрутах - трафик ходит через него, но потери пакетов и пинг вместо 150-170мс вот такой: Скрытый текст ping srv2.utgard.tv PING srv2.utgard.tv (149.202.240.42) 56(84) bytes of data. 64 bytes from 149.202.240.42: icmp_seq=1 ttl=51 time=729 ms 64 bytes from 149.202.240.42: icmp_seq=2 ttl=51 time=352 ms 64 bytes from 149.202.240.42: icmp_seq=3 ttl=51 time=372 ms 64 bytes from 149.202.240.42: icmp_seq=4 ttl=51 time=332 ms 64 bytes from 149.202.240.42: icmp_seq=5 ttl=51 time=352 ms 64 bytes from 149.202.240.42: icmp_seq=6 ttl=51 time=450 ms 64 bytes from 149.202.240.42: icmp_seq=7 ttl=51 time=428 ms 64 bytes from 149.202.240.42: icmp_seq=8 ttl=51 time=430 ms 64 bytes from 149.202.240.42: icmp_seq=9 ttl=51 time=371 ms 64 bytes from 149.202.240.42: icmp_seq=10 ttl=51 time=410 ms 64 bytes from 149.202.240.42: icmp_seq=11 ttl=51 time=448 ms 64 bytes from 149.202.240.42: icmp_seq=12 ttl=51 time=408 ms 64 bytes from 149.202.240.42: icmp_seq=13 ttl=51 time=410 ms 64 bytes from 149.202.240.42: icmp_seq=14 ttl=51 time=411 ms 64 bytes from 149.202.240.42: icmp_seq=15 ttl=51 time=431 ms 64 bytes from 149.202.240.42: icmp_seq=16 ttl=51 time=470 ms ^C --- srv2.utgard.tv ping statistics --- 17 packets transmitted, 16 received, 5% packet loss, time 16001ms rtt min/avg/max/mdev = 332.238/425.788/729.850/87.284 ms Один адрес не прописывал, указал лишь подключение http://joxi.ru/LmG4nRNC9d3Y2l Edited September 11, 2016 by blackride Link to comment Share on other sites More sharing options...
0 vasek00 Posted September 11, 2016 Share Posted September 11, 2016 Ping — утилита для проверки целостности и качества соединений в сетях. TCP - это протокол управления для передачи данных Цитата Механизм TCP предоставляет поток данных с предварительной установкой соединения, осуществляет повторный запрос данных в случае потери данных и устраняет дублирование при получении двух копий одного пакета, гарантируя тем самым, в отличие от UDP, целостность передаваемых данных и уведомление отправителя о результатах передачи. Не путайте ping и работу протокола. Link to comment Share on other sites More sharing options...
0 blackride Posted September 11, 2016 Share Posted September 11, 2016 (edited) 1 час назад, vasek00 сказал: Ответил вам на ixbt со скринами Большое Вам Спасибо! Почему я сам не догадался пустить так трафик через модем?!))) Хотя пинг и выходит временами вот такой: Скрытый текст 64 bytes from 149.202.240.42: icmp_seq=359 ttl=51 time=408 ms 64 bytes from 149.202.240.42: icmp_seq=360 ttl=51 time=367 ms 64 bytes from 149.202.240.42: icmp_seq=361 ttl=51 time=687 ms 64 bytes from 149.202.240.42: icmp_seq=362 ttl=51 time=8527 ms 64 bytes from 149.202.240.42: icmp_seq=363 ttl=51 time=7521 ms 64 bytes from 149.202.240.42: icmp_seq=364 ttl=51 time=6531 ms 64 bytes from 149.202.240.42: icmp_seq=365 ttl=51 time=5545 ms 64 bytes from 149.202.240.42: icmp_seq=366 ttl=51 time=4539 ms 64 bytes from 149.202.240.42: icmp_seq=367 ttl=51 time=3567 ms 64 bytes from 149.202.240.42: icmp_seq=368 ttl=51 time=2582 ms 64 bytes from 149.202.240.42: icmp_seq=369 ttl=51 time=1612 ms 64 bytes from 149.202.240.42: icmp_seq=370 ttl=51 time=643 ms 64 bytes from 149.202.240.42: icmp_seq=371 ttl=51 time=562 ms 64 bytes from 149.202.240.42: icmp_seq=372 ttl=51 time=503 ms Но ТВ показывает без сбоев, тьфу тьфу)) Даже не понадобилась entware Один только вопрос, что то другое не может тратить трафик с 3G, если он постоянно находится в подключенном состоянии? Ну, кроме того что ключи получаю с шаринг сервера, когда смотрю ТВ. Edited September 11, 2016 by blackride Link to comment Share on other sites More sharing options...
0 vasek00 Posted September 11, 2016 Share Posted September 11, 2016 (edited) Если вы все развернули на Zyxel (так как точно без знания схемы и ваших подключ. устройств в дом.сети) опять же все зависит от маршрута, если он на один сервер то естественно любые обновления или любые приложения будут брать данные из default а не с него. Когда же у вас пропадет основной канал, то система (которая как говориться из коробки) пере настроится на резервный канал и тогда он будет default (от 3G), а вы и не заметите как он им стал. Edited September 11, 2016 by vasek00 Link to comment Share on other sites More sharing options...
0 r13 Posted September 19, 2016 Share Posted September 19, 2016 Здравствуйте, Вопрос, насколько критична для использования данной функции моя проблемка с постоянно переподключающемся резервным IPoe каналом? http://forum.keenetic.net/topic/722-----/ Кеш маршрутов чистится этим: ip ro flush cache Я так понимаю еще conntrack надо чистить? Чем грозит если не чистить? Link to comment Share on other sites More sharing options...
0 Zero-C001 Posted September 26, 2016 Share Posted September 26, 2016 Добрый день, Вот задумался о подключении 2-х провайдеров в паре (100+200=300). Почитал данную тему, и не совсем понял текущую ситуацию по настройке балансировки двух активных WAN... Поясните пожалуйста: 1) Настроить можно, через OPKG? 2) Через UI такой функционал не планируется? 3) Может кто показать пошагово какие команды/скрипты писать? Link to comment Share on other sites More sharing options...
Question
Kozlov_Sergey
Предлагаю добавить возможность в маршрутизаторах Keenetic использовать маршрут по умолчанию на несколько интерфейсов (для 2 подключений интернета одновременно).
Link to comment
Share on other sites
Top Posters For This Question
51
31
23
21
Popular Days
Aug 25
9
Sep 11
8
Nov 13
8
Feb 11
7
Top Posters For This Question
vasek00 51 posts
Le ecureuil 31 posts
r13 23 posts
dexter 21 posts
Popular Days
Aug 25 2016
9 posts
Sep 11 2016
8 posts
Nov 13 2017
8 posts
Feb 11 2016
7 posts
Popular Posts
Le ecureuil
А теперь предлагаю всем, кто люто голосует за Multiwan "искаропки" описать, как же обычному человеку объяснить все эти глюки, что наблюдает @Leonid Goltsblat (и они очень логичны, и скорее всего в той
ndm
Пока нельзя, но чувствуем, пора начинать делать. Каждому сегменту/клиенту указать свой индивидуальный WAN...
ndm
@Softx @dexter @r13 у нас есть две горячие темы про мультиван. Будем считать их, условно, с балансировкой и без. Балансировку мы делать пока не будем. Одуреем обслуживать глюки разных протоколов и веб
Posted Images
227 answers to this question
Recommended Posts