The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Раздел полезных советов: Проброс IPTV-трафика в локальную се..."
Отправлено auto_tips, 23-Фев-11 02:37 
Возникла необходимость обеспечения возможности просмотра IPTV сразу на нескольких устройствах в домашней сети. Реализации данной схемы мешало то, что полученный от провайдера модем имел два раздельных порта для данных и для IPTV. Простейшим решением было бы закорачивание IPTV-порта в домашний коммутатор, но такая схема  нарушает принципы построения безопасных систем и сулит появление паразитного трафика. В связи с этим было решено организовать перенаправление IPTV-трафика через локальный шлюз, на котором используется пакетный фильтр PF и IGMP-прокси.

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

   echo "multicast_router=YES" >> /etc/rc.conf.local

перезагружаем систему.

Активируем перенаправление мультисаст трафика:

   sysctl net.inet.ip.mforwarding=1

в /etc/sysctl.conf сохраняем настройку "net.inet.ip.mforwarding=1".

2. Устанавливаем пакет net/igmpproxy с реализацией igmp-прокси:

   pkg_add igmpproxy

Отображаем свои сетевые настройки в файле конфигурации /etc/igmpproxy.conf:

   quickleave
   altnet 0.0.0.0/0    # принимаем igmp-трафик из всех подсетей
   phyint vr2 upstream  ratelimit 0  threshold 1
   phyint vr0 downstream ratelimit 0  threshold 1
   phyint pppoe0 disabled

Добавляем запуск igmpproxy в /etc/rc.local, чтобы прокси запустился после перезагрузки.

3. Настраиваем параметры внешнего сетевого интерфейса, через который приходит IPTV-поток. Для работы  igmpproxy на интерфейсе должен быть IP-адрес, для получения которого обычно можно использовать DHCP или назначить вручную (бывают случаи привязки IP к MAC-адресу телеприставки, что потребует подмены MAC-адреса на сетевом интерфейсе шлюза).

4. Настраиваем правила для прохождения IGMP-трафика и multicast-потока в пакетном фильтре PF (в нашем случае - это UDP трафик на 5002 порт).  Основной проблемой, возникающей в процессе настройки, является то, что в IGMP пакетах используется опция протокола IP "Router Alert", которая по умолчанию вычищается из пакетов при использовании PF (для отключения чистки расширенных опций необходимо использовать параметр allow-opts). В pf.conf добавляем примерно следующее:

   LAN  = "vr0"
   IPTV = "vr2"

   block on $IPTV
   pass in on $IPTV inet proto udp from any to any port 5002
   pass on {$LAN, $IPTV} proto igmp allow-opts

URL: http://undeadly.org/cgi?action=article&sid=20110222002946
Обсуждается: http://www.opennet.ru/tips/info/2538.shtml

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



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

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