[an error occurred while processing this directive]

Проброс IPTV-трафика в локальную сеть при помощи OpenBSD и пакетного фильтра PF
Возникла необходимость обеспечения возможности просмотра 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
 
22.02.2011 , Источник: http://undeadly.org/cgi?action=arti...
Ключи: igmp, multicast, iptv, pf, openbsd, gateway / Лицензия: CC-BY
Раздел:    Корень / Администратору / Сетевая подсистема, маршрутизация / Пакетные фильтры и фаерволы / Пакетный фильтр в FreeBSD: ipfw, IP-Filter

[an error occurred while processing this directive]

[an error occurred while processing this directive]