LinuxForum.Fans
Тема

Объединение Vlan с eth для IPTV

Автор: biolink 7 сообщений 3779 просмотров
#173391

Приветствую форумчан.
Достаточно давно мучаюсь с настройками Ubuntu для проброса IPTV.
Описываю ситуацию:
Провайдер: Домолинк (Калужская область)
Физическое подключение: кабель (Fttb)
Подключение интернет: PPPoE

Провайдер вещает IPTV по следующей схеме:
для просмотра открытых бесплатных каналов на клиенте достаточно прописать на интерфейс (Wan) любой локальный адрес и малтикаст - маршрут (224.0.0.0/4), далее достаточно VLC со списком каналов.

для просмотра закрытых платных каналов в моем случае используются две абонентские приставки STB (Zyxel и "китаец от Домолинка").
схемы включения две:
1. для подключения приставки(приставок) используется управляемый свич (самое дешевое решение от D-Link DIR100), в котором поднимается вилана нужного номера (зависит от района) и пробрасывается на нужный порт свича. Приставка, подключенная к этому порту, получает по dhcp сетевой адрес, адрес шлюза и поток малтикаст. Шлюз должен давать доступ приставке к серверу с профайлами юзеров, расположенному "где-то в сети провайдера".
Подробно

2. для подключения приставки(приставок) используется маршрутизатор с адаптированной прошивкой (опять же D-Link DIR100 или D-Link DIR320), в котором прописывается адрес на Wan порт (Russian PPPoE Dual Access), после чего разрешаются малтикаст потоки в файерволе. Насколько могу судить, вся адаптация сведена к тому, что встроенный igmpproxy использует в качестве upstream по умолчанию не активное соединение с интернет, а всегда wan порт, ну и соответственно маршруты и iptables. В этом случае приставка получает адрес из диаппазона маршрутизатора, шлюз аналогично.
Подробно

Исходя из вышеизложенного для просмотра IPTV есть две возможности:
либо поднять вилану на шнурке из подъезда и получить из нее "все в одном флаконе"
либо брать малтикаст из шнурка напрямую (провайдер начал его туда "дуть" недавно), но дальше прикручивать к нему ручками выдачу адреса и шлюза + проксирование.

никаких серверов dhcp у провайдера напрямую в кабель не смотрит и никакого шлюза для доступа к серверу с профайлами напрямую нет, поэтому при прямом включении в подъездный шнурок, приставка просто не будет знать откуда ей брать настройки. Однако открытые каналы будут работать, так как нешифрованные и адреса забиты в плейлист VLC (естественно последнее актуально только при прямом подключении компьютера к подъездному шнурку)

Основная задача избавиться от необходимости использовать в цепочке подключения домашней сети и IPTV к провайдеру неимоверно глючного D-Link DIR100.
Имеется компьютер на базе MiniItx с тремя сетевыми платами. Стоит Ubuntu 10.04.
eth0 - wan
eth1 - смотрит в домашнюю локалку (dhcp 192.168.10.0/24)
eth2 - также смотрит в локалку, к которой подключены только приставки STB (dhcp 192.168.20.0/24)

В настоящий момент реализована вторая схема подключения с маршрутизацией. Поднят Dhcp3, iptables, маршрут 224.0.0.0/4, igmpproxy, PPPoE, и тд.
Фильтрация (rp_filter ) отключена.
Приставки работают, но очень неуверенно, каналы переключаются или очень долго или совсем нет.
Есть желание не отлизывать эту схему, а реализовать первый способ.

Как поднять Vlan4001 на eth0 - очевидно:
iface vlan4001 inet dhcp
vlan_raw_device eth0
Действительно после поднятия интерфейс получает адрес от провайдера (из сетки 10.189.0.0/16), шлюз и проч.
Каким образом теперь Vlan4001 объединить с eth2, чтобы приставки, подключенные к данному интерфейсу получали адреса и малтикаст поток напрямую от провайдера? И возможно ли?
Прошу помощи гуру :)

Использование udpxy для меня невозможно, так как использую именно STB.

#173396

vlan4001 добавляйте в маскардинг. Маршруты 224.0.0.0/4 травите на vlan4001.

#173409

А причем здесь маскарад?
Суть вопроса как раз в том чтобы пакеты приходящие на вилану сквозняком уходили на эзернет.
На выхлопе eth2 должна быть сетка провайдера 10.189.0.0/16.
Каким образом? Вот в чем вопрос.
Копаю в сторону бондинга, однако пока не разумею....

#173413

Перечитал и понял.

#173416

Не уверен


/etc/network/interfaces

text

    auto bond0
    iface bond0 inet dhcp
    up /sbin/ifenslave bond0 eth0 eth2
    down /sbin/ifenslave -d bond0 eth0 eth2

auto vlan4001 iface vlan4001 inet dhcp vlan_raw_device bond0

auto eth2 iface eth2 inet static address 192.168.10.1 netmask 255.255.255.0

#173422

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

#175141

К сожалению, данный вариант не сработал, впрочем он и не мог сработать, так как вилана поднялась, но опять же "над" интерфейсом (тип бонда был 3).
Непонятно следующее:
поднял бридж br0 на базе Vlan4001 и eth2, вроде должно работать, но глухо как в танке. Выхлопа из eth2 нет.
поднять бонд на базе Vlan4001 и eth2 не выходит, ругается на виртуальный интерфейс, хотя он поднят и активен.
Курю дальше.

Войдите или зарегистрируйтесь, чтобы ответить.