The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Маршрутизация мультикаста или IGMP over PPTP"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Сеть. проблемы, диагностика / FreeBSD)
Изначальное сообщение [ Отслеживать ]

"Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 28-Май-13, 02:34 
Добрые люди, помогите пожалуйста!
Уже добрую неделю бьюсь с этой проблемой, но пока безрезультатно :(
Ситуация классическая: есть сервер FreeBSD 9.1, в него заходит кабель от провайдера (первая сетевуха) с городской сетью. Через него идет L2TP тунель в инет. Также к нему подключена моя локальная домашняя сеть (вторая сетевуха), в которой стоит NAS и WiFi роутер. На базе MPD5 сделана также возможность подключения по протоколу PPTP к локальной сети извне. На сервере NAS крутится TwonkyServer, который раздает контент по DLNA.

Задача: получить DLNA контент на устройствах, подключенных через PPTP (через инет) к домашней сети.

В интернете такого рода проблема активно обсуждается, но тут просто напасть какая-то! Перепробовал все, скрипты, igmpproxy, udpxy, mrouted и тд и тп. Не работает :(

Если более конкретно:

- Интерфейсы
bge0: Городская сеть, шнур к провайдеру
em0: Локальная сеть
ng0: L2TP туннель в интернет
ng1...ngN: Подключения по PPTP в локальную сеть снаружи


root@home-da:/root # ifconfig
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=4019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO>
    ether 2c:27:d7:14:f1:ec
    inet 172.17.3.1 netmask 0xffff0000 broadcast 172.17.255.255
    inet6 fe80::XXXX:d7ff:XXXX:f1ec%em0 prefixlen 64 scopeid 0x1
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
    options=c019b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
    ether a0:b3:cc:e9:51:76
    inet 10.7.X.X netmask 0xffffffc0 broadcast 10.7.X.X
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect (100baseTX <full-duplex>)
    status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
    inet6 ::1 prefixlen 128
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x9
    inet 127.0.0.1 netmask 0xff000000
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
pflog0: flags=141<UP,RUNNING,PROMISC> metric 0 mtu 33152
    nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1400
    inet 46.164.X.X --> 217.25.X.X netmask 0xffffffff
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ng1: flags=89d1<UP,POINTOPOINT,RUNNING,NOARP,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1396
    inet 172.17.3.1 --> 172.17.200.10 netmask 0xffffffff
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>

cat /boot/loader.conf
ip_mroute_load="YES"

pf:
...
pass in all
pass out all
pass in proto igmp all allow-opts
pass out proto igmp all allow-opts
...

Я теперь и не уверен, а вообще это возможно? Скажите, какая дополнительная информация нужна? Логи там конфиги - все сразу предоставлю!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от михалыч (ok) on 28-Май-13, 06:12 
> Я теперь и не уверен, а вообще это возможно?

Думаю, что скорее да, чем нет. ))
Попробуйте /usr/ports/net/xorp

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 28-Май-13, 14:11 
>> Я теперь и не уверен, а вообще это возможно?
> Думаю, что скорее да, чем нет. ))
> Попробуйте /usr/ports/net/xorp

Спасибо за совет, сейчас буду разбираться. Меня не покидает ощущение, что я упускаю что-то важное, что на поверхности лежит. Ведь теоретически все должно было бы сразу заработать, безо всяких прилуд сторонних. Ведь все отлично работает, если я присоединяюсь по вай-фаю к вай-фай роутеру. А это совершенно простая железка, безо всяких там smart-функций. М.б. PPTP вообще не поддерживает IGMP? IGMP - это ж вроде уровень L2, а NG-устройство PPTP туннеля - это уровень L3

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от mr_gfd on 29-Май-13, 14:11 
updxy - это unicast, должно работать поверх соединений точка-точка без проблем.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 29-Май-13, 14:15 
> updxy - это unicast, должно работать поверх соединений точка-точка без проблем.

К сожалению, не работает :( Проверял подключившись с iPad через программы AirAV и 8player. Без туннеля работает все отлично.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от mr_gfd on 29-Май-13, 14:54 
>> updxy - это unicast, должно работать поверх соединений точка-точка без проблем.
> К сожалению, не работает :( Проверял подключившись с iPad через программы AirAV
> и 8player. Без туннеля работает все отлично.

А мануал читать к софту ?

Еще раз, медленно. Udpxy - это прокси из мультикаста в http unicast. Для него нужно соответственно плейлист отдавать иной. Для DLNA не подойдет. Тут, скорее, сработает OpenVPN в на tap интерфейсе, которым на IOS и не пахнет особо.  

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 29-Май-13, 15:01 
>>> updxy - это unicast, должно работать поверх соединений точка-точка без проблем.
>> К сожалению, не работает :( Проверял подключившись с iPad через программы AirAV
>> и 8player. Без туннеля работает все отлично.
> А мануал читать к софту ?
> Еще раз, медленно. Udpxy - это прокси из мультикаста в http unicast.
> Для него нужно соответственно плейлист отдавать иной. Для DLNA не подойдет.
> Тут, скорее, сработает OpenVPN в на tap интерфейсе, которым на IOS
> и не пахнет особо.

Задача стоит:
>получить DLNA контент на устройствах, подключенных через PPTP (через инет) к домашней сети.

Я понимаю, что есть иные способы доставки контента. Но интересует именно этот. К сожалению, tap действительно не работает в iOS, соотв. мост не получилось сделать с OpenVPN.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от mr_gfd on 29-Май-13, 14:57 
Прошу игнорировать мой коммент про udpxy как вредный. Все Вами написанное - для iptv годится, но не для DLNA.
Можно попробовать if-up/if-down скриптом передергивать Twonky с привязкой к ng* интерфейсу, может и сработает малой кровью. Самому пробовать - лень :)
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 29-Май-13, 15:11 
> Можно попробовать if-up/if-down скриптом передергивать Twonky с привязкой к ng* интерфейсу,
> может и сработает малой кровью. Самому пробовать - лень :)

Twonky же крутится на другом сервере физически, на Qnap TurboNAS. Там нет ng интерфейсов, только сетевуха, которая смотрит в локальную домашнюю сеть. Я думаю над тем, что поставить на фряхе DLNA-сервер, а на NASе отключить. Но пока хотелось бы запустить именно в такой конфигурации, если это конечно вообще возможно.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 29-Май-13, 15:06 
Еще не совсем понимаю, почему не проходит IGMP трафик между ng1 <-> em0, если PPTP интерфейс ng1 имеет туже подсеть, что и интерфейс локальной домашней сети em0? Вроде как тут даже никакая дополнительная маршрутизация не нужна, сеть то - одна.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от mr_gfd on 29-Май-13, 15:30 
> Еще не совсем понимаю, почему не проходит IGMP трафик между ng1 <->
> em0, если PPTP интерфейс ng1 имеет туже подсеть, что и интерфейс
> локальной домашней сети em0? Вроде как тут даже никакая дополнительная маршрутизация
> не нужна, сеть то - одна.

*поскипано цензурой*,
172.17.200.10 netmask 0xffffffff != 172.17.3.0 netmask 0xffff0000 - это раз.
Два -  ну прочитайте, пожалуйста, документацию, что такое IGMP и уясните, что к DLNA он имеет совсем никакого отношения, а также погуглите на предмет Dial-to-Connect VPN System for Remote DLNA Communication.
*поскипано цензурой*!

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

11. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 29-Май-13, 16:03 
> 172.17.200.10 netmask 0xffffffff != 172.17.3.0 netmask 0xffff0000 - это раз.

Разумеется я пробовал с маской 172.17/16 (устанавливал через ifconfig ng1 netmask 255.255.0.0) Просто невозможно выложить все пройденные попытки в этот пост, это тогда книга получится :)

> Два -  ну прочитайте, пожалуйста, документацию, что такое IGMP и уясните,
> что к DLNA он имеет совсем никакого отношения,

DLNA реализован на протоколе UPnP. На вики говорят, что для обнаружения UPnP-сети используется Simple Service Discovery Protocol (SSDP):

>SSDP is a text-based protocol based on HTTPU. It uses the User Datagram Protocol (UDP) as the underlying transport protocol. Services are announced by the hosting system with multicast addressing to a specifically designated IP multicast address at UDP port number 1900. In IPv4, the multicast address is 239.255.255.250

Насколько я понимаю, это протокол IGMP. Да и tcpdump показывает наличие этих пакетов на интерфейсах.

> а также погуглите на предмет Dial-to-Connect VPN System for Remote DLNA Communication.

Погуглил, прямых ссылок по такому запросу 5 штук, к сожалению ничего полезного. Мб у тебя есть подходящаю ссылка? Я конечно еще попробую с таким запросом повозиться, но с наскока ничего не находится, что можно бы на практике применить.

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 30-Май-13, 06:09 
Нашелся некоторый обходной путь!
Если запустить DLNA сервер (MediaTomb) на интерфейсе PPTP (ngN), то плейер с другой стороны туннеля видит его! Соответственно можно запускать копии сервера при создании туннеля. Ну и один на домашнюю сеть (на интерфейсе em0).

Вопрос, что мешает DLNA траффику (похоже, пакетам IGMP) пройти с интерфейса em0 на интерфейс ng1 (оба в одной подсети) на FreeBSD - остается открытым.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от Аноним email(??) on 03-Июн-13, 12:20 
> Вопрос, что мешает DLNA траффику (похоже, пакетам IGMP) пройти с интерфейса em0
> на интерфейс ng1 (оба в одной подсети) на FreeBSD - остается
> открытым.

Здравствуйте, Вам правильно подсказали, не стоит искать никакого соотношения между DLNA и IGMP это разные вещи, если DLNA использует мультикаст адрес для оповещения клиентов о наличии сервера, это не значит что используется IGMP, как вариант возможно следует проверить открытость портов используемых сервисами, ну или пересмотреть метод подключения, на сколько знаю через pptp можно юзать мультикаст, внутри сети раздавать его вам ничто не мешает вне зависимости от того как настроена ваша локальная сеть, если только это не режется где то на роутере либо сервере. Для начала опишите Вашу сеть, какой трафик откуда идет и куда вы его хотите запихнуть, из выше сказанного по крайней мере мне мало что понятно.

Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

14. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от P_Dmitrij (ok) on 04-Июн-13, 15:42 
Здравствуйте!

Я нарисовал сеть: http://www.flickr.com/photos/96954350@N02/8947478900/
Трафик идет так. Физически мой сервер FreeBSD имеет 2 сетевые карты: bge0 и em0. Интерфейс bge0 подключен шнурком к городской сети. К интерфейсу em0 (домашняя сеть) подключен wifi-router в режиме моста. К wifi-router подключен NAS, на котором крутится DLNA сервер. На сервере запущен mpd5 l2tp клиент, который соединен по l2tp с провайдером (физически, через bge0). Ему соответствует виртуальный интерфейс ng0. С него в сервер заходит интернет. Также на сервере запущен mpd5 pptp сервер. Если к нему подключиться, то будет создан виртуальный интерфейс ng1(2,3,...)

Для тестирования работы DLNA используется iPad. Результат такой:
1) Если iPad находится дома и подключен через wifi-router -> dlna работает корректно
2) Если iPad находится дома, подключен через wifi-router _и_ включен PPTP-тунель  -> dlna работает корректно
3) Если iPad находится в инете и включен PPTP-тунель -> dlna сервер не виден. Остальные ресурсы сети работают корректно.

Нигде ничего не режется, все порты открыты, pf имеет только правила nat и pass all.  
Если я что-то непонятно описал, с удовольствием отвечу на вопросы. Также могу выложить любые логи.

Заранее спасибо за помощь!

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Маршрутизация мультикаста или IGMP over PPTP"  +/
Сообщение от Аноним email(??) on 06-Июн-13, 10:11 
> Нигде ничего не режется, все порты открыты, pf имеет только правила nat
> и pass all.
> Если я что-то непонятно описал, с удовольствием отвечу на вопросы. Также могу
> выложить любые логи.
> Заранее спасибо за помощь!

Здравствуйте.

Если соединение pptp происходит через freebsd и на нем же поднят nat, может быть стоит поковырять именно nat? Переадресацию маршрутов и тд.

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру