bsb5068 Posted April 3, 2017 Posted April 3, 2017 здравствуте! хочется странного :) смотреть iptv от ростелекома на др. провайдере. т.е. на стороне РТ есть оптика - huawei hg8245 и за ним роутер на openwrt. пока на openwrt настроено udproxy и просмотр идёт с билайна по интернету. но так показывают только некодированные каналы. хочется нормальную приставку чтобы работала с поддержкой verimatrix. насколько я понял приставки ростелекомовские нормально работают только если "находятся" в сети РТ. поэтому видимо задачу можно сформулировать так: Нужно организовать прозрачный канал между двумя роутерами на openwrt, чтобы воткнув приставку в один роутер, она "попала" в сеть РТ, которая есть на другом роутере. В идеале сделать это когда оба openwrt находятся за NAT'ами. почему я хочу именно на openwrt - потому, что это решение проще повторить и масштабировать. т.е. прошить любой завалящийся роутер подходящий при необходимости быстрее\проще\дешевле чем искать микротик. но, поскольку у меня сейчас иногда падает работа моего текущего решения на openwrt (не понятно ещё почему), то я больше склонаюсь к микротику, как к более надёжному. дома и на работе микротики не падают так просто :) но с микротиком не будет udp proxy. а значит картинка будет рассыпаться. Поэтому хочется чтобы одновременно работало и по udp и через прокси. не кодированные каналы - через прокси, кодированные - через udp. Поэтому всё-таки наверное лучше на openwrt всё наладить, чтобы не падало. итак. я пробовал настроить туннель по этой схеме. не получилось, так как оба openwrt находятся за NAT'ами. один за huawei, другой за домашним микротиком. А для найденного решения нужно, чтобы микротики оба смотрели в инет, без NAT'а. поэтому придётся либо переключать оптику в бридж, но тогда скорее всего упадёт скорость интернета, поскольку его уже микротик будет раздавать, либо поднимать l2tp туннель между микротиками и через него пытаться поднять туннель из статьи.... В общем помогите, пожалуйста советом, как настроить openwrt под мою задачу? Вставить ник Quote
pingz Posted April 3, 2017 Posted April 3, 2017 https://cesbo.com/ru/astra/ Любой тунель. Вставить ник Quote
rdc Posted April 3, 2017 Posted April 3, 2017 не будет udp proxy. а значит картинка будет рассыпатьсяВам нужен tcp туннель, и ничего рассыпаться не будет. Вставить ник Quote
kstin Posted April 4, 2017 Posted April 4, 2017 (edited) смотреть iptv от ростелекома на др. провайдере. https://itv.rt.ru/landing а для странного можете попробовать l3 (openvpn(tcp/udp) и l2tp) тунели с igmp прокси без организации L2 или пробросить l2 в разных комбинациях поверх L3 тунелей https://github.com/agustim/openwrt-linux-eoip Edited April 4, 2017 by kstin Вставить ник Quote
Chrst Posted April 4, 2017 Posted April 4, 2017 смотреть iptv от ростелекома на др. провайдере. У Ростелекома есть телевидение 2.0. Работает через любого оператора. Вставить ник Quote
bsb5068 Posted April 4, 2017 Author Posted April 4, 2017 (edited) kstin, я правильно понимаю, что нужно перекомпилировать модуль для openwrt чтобы была совместимость с микротиком? но тогда не будет совместимости с другими openwrt? У Ростелекома есть телевидение 2.0 я так понимаю у нас подключено v1.0. читал на форумах, что у 2.0 череp интернет битрейт сильно ниже. поэтому и хочется заморочиться с туннелем. опять же с 2.0 не все приставки имеющиеся работают. sml-282 и hd mini какая то я так понял не работают. тем более motorola vip1003 Edited April 4, 2017 by bsb5068 Вставить ник Quote
kstin Posted April 5, 2017 Posted April 5, 2017 (edited) kstin, я правильно понимаю, что нужно перекомпилировать модуль для openwrt чтобы была совместимость с микротиком? но тогда не будет совместимости с другими openwrt? Вам нужно установить дополнительный пакет для openwrt, после чего сможете поднимать Mikrotik EoIP тунели. совместимости не потеряете. П.С openwrt-linux-eoip сам не пробовал , как и openwrt) Edited April 5, 2017 by kstin Вставить ник Quote
bsb5068 Posted April 5, 2017 Author Posted April 5, 2017 Готового скомпилированного патча не нахожу, придётся видимо самому. Я правильно понимаю что для ipoe нужно все равно будет сначала поднять l2tp например, а потом поверх него имея статические ip уже настраивать ipoe? Вставить ник Quote
DRiVen Posted April 5, 2017 Posted April 5, 2017 В идеале сделать это когда оба openwrt находятся за NAT'ами. При нахождении обеих точек за неконтролируемым NAT, для их объединения нужна третья, с "белым" ip, где будет стоять серверная часть. опять же с 2.0 не все приставки имеющиеся работают. Скажем так - с 2.0 работает только та приставка, которая для него изначально предназначалась. Она криво перешивается под 1.0, но не наоборот. Вставить ник Quote
bsb5068 Posted April 7, 2017 Author Posted April 7, 2017 Пытаюсь поднять ipip между двумя openwrt. Сейчас они в одной подсети (через l2tp), но вроде туннель не поднимается, так же не понятно как привязать его к какому-то физическому порту на openwrt. На микротике это понятно как делается, а как тут? Перечитал статью на хабре, там сказано, что ipip только unicast пересылает, а мультикаст нет. А gre и мультикаст. Так ли это? Вставить ник Quote
pingz Posted April 7, 2017 Posted April 7, 2017 Тебе нужен сервер, чтобы мульткаст превратить в юникаст и все у тебя заработает. Вставить ник Quote
bsb5068 Posted April 7, 2017 Author Posted April 7, 2017 (edited) нене, тогда не будет работать verimatrix. у меня сейчас есть такой сервер на openwrt. работает. но показыват ТОЛЬКО открытые каналы. я так понял нужен именно родной полноценный udp от ростелекома.... будет ли это рабоать через ipip туннель или только через gre? Edited April 7, 2017 by bsb5068 Вставить ник Quote
Ivan_83 Posted April 7, 2017 Posted April 7, 2017 будет ли это рабоать через ipip туннель или только через gre? Если под ipip ты подразумеваешь L3 транзит - то в теории может, сильно зависит от реализации. Помимо gre есть куча других вариантов проброса л2. Я когда то пробрасывал заворачивая в udp, но требуется фрибсд и белые ip с обоих сторон. Вставить ник Quote
rdc Posted April 8, 2017 Posted April 8, 2017 Ещё раз - вам нужен tcp L2 туннель. ipip, gre, udp туннели не годятся - они не обеспечивают надёжной доставки мультикаста, при малейших потерях будет квадратить. также у ipip и gre есть большие проблемы с работой через нат, а для tcp достаточно пробросить порт с одной из сторон. Простейшее решение - OpenVPN. Вставить ник Quote
bsb5068 Posted April 8, 2017 Author Posted April 8, 2017 rdc, понял вас. спасибо за разъяснение. я просто думал gre поверх допустим l2pt будет уже отрабатывать потери. пойду пробовать настроить openvpn. правда ещё со свичем встроенным и vlan'ами нужно разобраться. у меня пока не получается почему то на одном из роутеров добавить произвольныый порт в бридж.... Вставить ник Quote
Ivan_83 Posted April 8, 2017 Posted April 8, 2017 Да сдались ему эти потери, вот если будет сильно досаждать тогда имеет смысл с tcp возится. Вставить ник Quote
bsb5068 Posted April 12, 2017 Author Posted April 12, 2017 ребята спасибо! заработало! попутно выяснил, что туннель типа TUN не добаляется в бридж, зато типа TAP - добавляется. я тоже так думал, да сдались они мне потери, ведь моего входящего 30 мбит на 1 приставку и интернет хватит, но тут туннель поднялся, и я заметил, что в него пошёл трафик, который идёт к локальному udp proxy на стороне RT. что в принципе и логично, ведь поток входит в бридж br-wan. получается при наличии 1 локального клиента на той стороне, меня и ещё кого-то (через гипотетический tap2), 3 потока HD каналов по 10мбит весь мой канал и сожрут :) да и не дело это лишний трафик гонять. не подумал я, что буду с такой постановкой задачи "чужой" трафик получать. в принципе какая постановка, такая и реализация сейчас вышла: удалённая от меня сторона (т.е. RT): root@OpenWrt:~# brctl show bridge name bridge id STP enabled interfaces br-lan 7fff.2674ee800055 no eth0.1 eth0.4 br-wan 7fff.e42772540281 no eth0.2 eth0.3 tap0 в wan приходит с порта iptv, в лан - интернет, всё от оптического терминала. tap0 Link encap:Ethernet HWaddr 82:63:DA:26:26:31 inet addr:192.168.8.2 Bcast:192.168.8.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:63479 errors:0 dropped:2 overruns:0 frame:0 TX packets:918997 errors:0 dropped:27441 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:5018318 (4.7 MiB) TX bytes:1207013197 (1.1 GiB) root@OpenWrt:~# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.100.1 0.0.0.0 UG 1 0 0 br-lan 10.10.10.0 * 255.255.255.0 U 0 0 0 br-wan 192.168.8.0 * 255.255.255.0 U 0 0 0 tap0 192.168.100.0 * 255.255.255.0 U 1 0 0 br-lan моя сторона: root@OpenWrt:/etc/init.d# brctl show bridge name bridge id STP enabled interfaces br-lan 7fff.a0f3c1c38b21 no eth0.1 wlan0 br-rtbridge 7fff.a0f3c1c38b21 no eth0.2 tap0 tap0 Link encap:Ethernet HWaddr 16:DB:FA:B4:F2:D9 inet addr:192.168.8.1 Bcast:192.168.8.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:766753 errors:0 dropped:0 overruns:0 frame:0 TX packets:19963 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1023668703 (976.2 MiB) TX bytes:1575542 (1.5 MiB) br-rtbridge Link encap:Ethernet HWaddr A0:F3:C1:C3:8B:21 inet addr:192.168.8.1 Bcast:192.168.8.255 Mask:255.255.255.0 inet6 addr: fe80::a2f3:c1ff:fec3:8b21/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:7156 errors:0 dropped:0 overruns:0 frame:0 TX packets:481 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2241528 (2.1 MiB) TX bytes:36742 (35.8 KiB) root@OpenWrt:/etc/init.d# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.37.1 0.0.0.0 UG 0 0 0 br-lan 10.0.0.0 10.12.72.1 255.0.0.0 UG 0 0 0 eth1 10.12.72.0 * 255.255.252.0 U 0 0 0 eth1 10.12.72.1 * 255.255.255.255 UH 0 0 0 eth1 78.107.196.0 10.12.72.1 255.255.252.0 UG 0 0 0 eth1 192.168.8.0 * 255.255.255.0 U 0 0 0 br-rtbridge 192.168.8.0 * 255.255.255.0 U 0 0 0 tap0 192.168.37.0 * 255.255.255.0 U 0 0 0 br-lan в lan - интернет. eth1 - для iptv от белайна, eth0.2 - проброшенный в RT порт. в процессе изменения ip адресов был момент когда 8.1 и 8.2 пинговали успешно друг друга. сейчас почему-то они не пингуются, но туннель работает, поэтому это не сильно меня беспокоит. хотя, возможно, это "звоночек" о некорректной настройке. подскажите, пожалуйста, какие есть способы чтобы трафик предназначенный не для меня не слать в туннель? мне придумалось два: 1. через правила фаервола. 2. на каждого "клиента" выделить отдельный интерфейс, повешать на него igmp proxy и потом его в бридж с туннелем сделать. но я пока не знаю будет ли RT приставка декодировать каналы, если она будетполучать через igmproxy поток, а не напрямую. в добавок сейчас снова всплыла проблема с этим igmp proxy. по непонятным причинам он перестаёт работать через какое то время. например начинаю смотреть канал через udproxy на стороне RT, поток пошёл. можно смотреть 5 минут, переключить канал и уже после этого udproxy не может получить поток от igmproxy. а иногда после переключения всё работает. чтобы всё заработало можно нажать reconnect в морде на WAN интерфейсе. но опять же до первого переключения канала. а иногда по пол дня работает. не могу понять закономерности. как я понял igmproxy пропадает из процессов (нет его в выводе ps) ещё я так понял он при старте должен взять конфиг /etc/config/igmpproxy, пропарсить его и положить в /var/etc/igmpproxy.conf и уже запустить его с полученным конфигом. так вот сейчас он не парсит изменённый в /config, в /var лежит старый. может встречали такое? а для первого варианта не понятно как научить сторону RT узнавать какие MAC'и ждут поток в туннель, а какие в igmp/udp proxy на строне RT и как это всё прописать в правила..... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.