LINUX.ORG.RU

Bridge и pppo-e на tp-link

 , ,


0

1

Имеется «дубовый» роутер tp-link 8968 - эдакий комбо-девайс работающий как adsl модем и маршрутизатор.

И если с первым он справлялся на ура, то с последним он работает через всем известное место. Девайс позволяет поднимать pppoe-сессию, но никаких средств для работы с iptv не имеет, что выливается в проблему - либо покупать отдельный свитч, либо переключать режимы для iptv - adsl модем, aka свитч или маршрутизатор aka интернет-шлюз. В целом натолкнулся на интересное решение - добавить wan-порт (eth0.2) в бридж (br0) с остальными портами (eth0.3, eth0.4, eth0.5), но тогда отваливается pppo-e сессия и pppd не может поднять её заново (в логе мелькает Timeout waiting for PADO packet) . Пробовал добавить ppp1 в бридж, но получал Invalid argument. В чём может быть проблема ? И какие могут быть варианты решения проблемы кроме покупки свитча/маршрутизатора ?

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

Накатить open-wrt/dd-wrt/tomato/etc НЕЛЬЗЯ :(

Судя по руководству тебе нужен тип WAN Двойной доступ PPPoE и IPoE. Тогда маршрутизатор будет и PPPoE сессию держать для интернета, и доступ к провайдерской локалке обеспечивать по IPoE. По локалке будет приходить IPTV мультикаст. Надо на мультикаст подписаться. По идее когда кто-то из домашней локалки подписывается на мультикаст группу, маршрутизатор должен подписываться на эту мультикаст группу в локалке провайдера. А когда из локалки провайдера пойдёт мультикаст, он должен его форвардить в домашнюю локалку.

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)
Ответ на: комментарий от iliyap

Сбриджевать WAN с LAN это плохая идея. Все твои компы окажутся в локалке провайдера.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Ещё в руководстве написано, что при настройке WAN интерфейса в режиме двойного доступа можно отметить галочку Включить IGMP Multicast два раза: в настройках IPoE части и в настройках PPPoE части. Эту галочку надо отметить только в IPoE части. Проксировать IGMP запросы из домашней локалки в PPPoE нет никакого смысла. А проксировать их из домашней локалки в IPoE (в локалку провайдера) как раз надо, IGMP это ведь и есть подписка на мультикаст.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Судя по руководству тебе нужен тип WAN Двойной доступ PPPoE и IPoE. Тогда маршрутизатор будет и PPPoE сессию держать для интернета, и доступ к провайдерской локалке обеспечивать по IPoE.

Ревизия v1, я бы и рад, но там нет такого функционала, так что не выйдет :( Тут либо с бриджами - вланами мутить, либо ещё как

Сбриджевать WAN с LAN это плохая идея. Все твои компы окажутся в локалке провайдера.

Я в курсе, но на то есть iptables :)

Blacksmith
() автор топика
Ответ на: комментарий от Blacksmith

Если роутер будет бриджом, он будет не маршрутизировать IP пакеты, а коммутировать Ethernet кадры, и netfilter IP пакетов видеть не будет.

Может тебе повезло, и у тебя IPTV мультикаст в отдельном ATM PVC? Тогда на v1 можно создать два WAN интерфейса, один PPPoE для интернета, второй IPoE (aka Dynamic IP) для IPTV.

Может попробовать создать таки два WAN интерфейса с одинаковыми ATM VPI-VCI, но с разными типами PPPoE/Dynamic IP?

iliyap ★★★★★
()
Последнее исправление: iliyap (всего исправлений: 1)
Ответ на: комментарий от iliyap

Если роутер будет бриджом, он будет не маршрутизировать IP пакеты, а коммутировать Ethernet кадры, и netfilter IP пакетов видеть не будет.

Ясно, значит с бриджом и pppoe облом :\

Может тебе повезло, и у тебя IPTV мультикаст в отдельном ATM PVC? Тогда на v1 можно создать два WAN интерфейса, один PPPoE для интернета, второй IPoE (aka Dynamic IP) для IPTV.

Нет, там всё разом, без разделения - мультикаст доступен по дефолту, а для интернета достаточно поднять pppoe.

Да и нельзя там поднять больше 1 wan-коннекта за раз (я же говорю - «дубовый» роутер) - либо pppoe, либо static, либо dynamic.

В целом всё работает как надо, если в LAN воткнуть кабель от прова, а из другого LAN ткнуть кабель в WAN порт - тогда есть и интернет и тв (знаю, топорно, но что поделать) ... только вот tp-link пожмотился отдельный wan порт организовать и объединил LAN4 и WAN, в результате чего не хватает как раз 1 порта *facepalm*

Короче, походу всё же проще на свитч потратиться ...

Blacksmith
() автор топика
Ответ на: комментарий от Blacksmith

Соединив описанным образом ты как раз сбриджевал свою локалку с локалкой провайдера. Только не линуксовым софтовым бриджингом, а встроенным в маршрутизатор 5-портовым коммутатором. И на эту локалку наложено две IP сети, провайдерская и твоя 192.168.1.0/24. Так случилось, что DHCP сервер твоего роутера отвечает быстрее провайдерского, поэтому твой хост получил адрес из 192.168.1.0/24. Но это вовсе не значит, что он надёжно защищён от внешнего мира. Если выключит DHCP сервер на твоем роутере, твой хост получит адрес от провайдеского. Мимо твоего роутера.

Мультикаст не использует адреса получателей, поэтому твой хост, находясь в локалке провайдера, успешно подписывается на мультикаст и успешно его получает. В этом твой роутер ему не помогает и не мешает, всё это идёт мимо роутера.

Что если подключить всё как должно быть (провайдерский провод в WAN порт, хост в один из LAN портов), а затем вручную с помощью ifconfig или ip добавить произвольный серый IP адрес на Ethernet-интерфейс роутера, поверх которого бегает PPPoE (наверное это eth0.2). Тогда роутер сможет посылать IGMP запросы через этот eth0.2. Чтобы он проксировал IGMP запросы с LAN (eth0.1) на eth0.2, наверное надо запустить igmpproxy и в качестве апстрим интерфейса указать eth0.2.

iliyap ★★★★★
()
Ответ на: комментарий от iliyap

Только не линуксовым софтовым бриджингом, а встроенным в маршрутизатор 5-портовым коммутатором

Поправка - 4-портовым, как я выше уже писал, tp-link зажал 1 порт, не сделай он этого, проблемы бы не было.

Насчёт линуксового бриджинга - что вы подразумевали ? Объединить eth2 + br0 + ppp0 ? Так я пытался - первое прошло, а во втором случае Invalid argument ...

Так случилось, что DHCP сервер твоего роутера отвечает быстрее провайдерского, поэтому твой хост получил адрес из 192.168.1.0/24. Но это вовсе не значит, что он надёжно защищён от внешнего мира.

Статика, firewall/iptables, при желании можно ужесточить правила.

Если выключит DHCP сервер на твоем роутере, твой хост получит адрес от провайдеского.

Он и так выключен ... и dhcp не та проблема, которой стоит опасаться, по крайней мере у моего провайдера :D

Что если подключить всё как должно быть (провайдерский провод в WAN порт, хост в один из LAN портов), а затем вручную с помощью ifconfig или ip добавить произвольный серый IP адрес на Ethernet-интерфейс роутера, поверх которого бегает PPPoE (наверное это eth0.2). Тогда роутер сможет посылать IGMP запросы через этот eth0.2. Чтобы он проксировал IGMP запросы с LAN (eth0.1) на eth0.2, наверное надо запустить igmpproxy и в качестве апстрим интерфейса указать eth0.2.

Пробовал так, только вот бинарник отвечающий за работу igmp (предположительно) как раз «нестандартный» - не имеет конфигов, манов и запускается тихо (зовётся igmpd), так что всё глухо

Blacksmith
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.