Netgate SG-1000 microFirewall

Author Topic: IPtv multicast  (Read 237959 times)

0 Members and 1 Guest are viewing this topic.

Offline Shraik

  • Full Member
  • ***
  • Posts: 144
  • Karma: +2/-0
    • View Profile
IPtv multicast
« on: June 14, 2009, 11:18:40 am »
Кто настраивал на пфсенсе телевидение через мультикаст?
поделитесь опытом?

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #1 on: June 29, 2009, 04:50:59 pm »
А в чём проблема?

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #2 on: June 30, 2009, 03:02:11 am »
А в чём проблема?
Если у Вас не возникло проблем с просмотром и настройкой IPTV через роутер на pfsense - выложите пожалуйста хотя бы коротенькую инструкцию как это сделать, спасибо!
p.s. машина за роутером на WinXP SP3

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #3 on: June 30, 2009, 09:22:15 am »
Нет, я не настраивал, пытаюсь понять, что хотите сделать.
Где сервер, который мультикастит - на LAN или на WAN? и где машина принимающая? машина одна или несколько хотят принимать?

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #4 on: June 30, 2009, 03:17:48 pm »
Сервер который мультикастит на WAN (сервер провайдера), адрес WAN (серый) получаю также у провайдера через DHCP. Также есть локалка дома за роутером (NAT) , соединены через свитч, т.е. LAN. Адреса раздаю через DHCP на системы WinXP и Vista (2 ноута). Пока настроить IPTV хотя бы на одной машине с WinXP.
« Last Edit: June 30, 2009, 03:19:45 pm by HardSE »

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #5 on: June 30, 2009, 03:21:01 pm »
А как провайдер начинает давать Вам multicast? Вы должны послать IGMP-membership request? На какой IP провайдера идёт трафик?

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #6 on: July 01, 2009, 02:43:08 am »
Насколько я понял да, я должен послать IGMP-membership request , мой IP-адрес WAN (на роутре) такого вида 172.22.x.x , ip-адрес ноута в домашней сетке 192.168.0.15. Предполагаю что и IP-адрес сервера осуществляющий трансляцию IPTV также вида 172.22.x.x.
Добавлено:
Сеть из которой идет вещание у моего провайдера 224.0.0.0/4
« Last Edit: July 01, 2009, 09:04:09 am by HardSE »

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #7 on: July 02, 2009, 07:59:19 pm »
Нужно во-первых понять на какой-адрес идёт мультикаст 224.x.x.x для этого запускаем tcpdump на LAN примерно так
tcpdump -i<lan interface name> -n -s0 net 224.0.0.0/4
Потом запускаем ваше приложение, которое должно брать TV и смотрим IGMP.
Далее на этот IGMP адрес создаём правило на LAN
Разрешить с сетки LAN IGMP протокол на наш 224.x.x.x
Возможно заработает, если нет, то в-первых надо посмотреть на WAN:
1) проходит ли IGMP запрос с LAN на WAN
2) начинает ли Ваш провайдер мультикастить на Ваш сегмент сети.

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #8 on: July 03, 2009, 12:15:28 am »
Насколько я понял из гугла , ядро должно быть скомпилировано с опцией MROUTING для возможности форварда мультикаст трафика, pfsense 1.2.3-RC1 - ей поддерживает? Где можно посмотреть опции с которыми скомпилировано ядро?
tcpdump - вечером сделаю.

Offline Shraik

  • Full Member
  • ***
  • Posts: 144
  • Karma: +2/-0
    • View Profile
Re: IPtv multicast
« Reply #9 on: July 06, 2009, 01:04:17 am »
У меня еще хуже
интернет приходит по PPPoe
а локальная сеть в которой идет вещание IP-TV по DHCP

приходится прописывать
WAN = PPPoe  (интернет)

а локалка выпадает, т-к. на одну сетевуху pfsense не позволяет привесить DHCP +PPPoe

даже если получить адрес с помощью dhclient то управлять этой подсетью не получается.
Но это оставим на будущее.

Для начала если сказать что WAN =DHCP  то по идее для трансляции мультикаста надо настраивать igmpproxy что у меня тоже не получилось.

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #10 on: July 06, 2009, 04:10:17 am »
tcpdump на LAN интерфейсе поймал следующие пакеты:
Quote
12:54:58.919844 IP 192.168.1.15 > 224.0.0.22: igmp v3 report, 1 group record(s)
12:54:59.449206 IP 192.168.1.15 > 224.0.0.22: igmp v3 report, 1 group record(s)
12:55:00.467064 IP 192.168.1.15 > 224.0.0.22: igmp v3 report, 1 group record(s)
Создал правило для LAN разрешить IGMP протокол с 192.168.1.15 на 224.0.0.22 - не заработало.
на WAN интерфейсе tcpdump поймал следующие пакеты:
Quote
12:59:02.759448 IP 172.25.0.1 > 224.0.0.1: igmp query v2
12:59:10.164216 IP 172.25.0.1 > 224.0.0.13: PIMv2, Hello, length 42
12:59:10.165510 IP 172.25.0.1 > 224.0.0.13: PIMv2, Hello, length 42
12:59:10.166887 IP 172.25.0.1 > 224.0.0.13: PIMv2, Hello, length 42
12:59:10.168778 IP 172.25.0.1 > 224.0.0.13: PIMv2, Hello, length 42
12:59:10.170064 IP 172.25.0.1 > 224.0.0.13: PIMv2, Hello, length 42
как проверить что проходит IGMP запрос с LAN на WAN ?

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #11 on: July 06, 2009, 10:52:49 am »
Проверить просто - подержать подольше (минуты три) tcpdump на WAN и посомотреть проходят "igmp v3 report" или нет.
Можно глянуть на это правило: "Разрешить с сетки LAN IGMP протокол на наш 224.x.x.x"
лучше через
Code: [Select]
pfctl -sr | grep <lan interface namve>По поводу мультикаст рутинга (видите PIM на WAN - провайдер хочет раутинг) - на pfSense это не заработает. Мы пытаемся работать, как простой клиент IGMP. Для этого необходимо и достаточно отправить IGMP membership request/report провайдеру и дальше пропустить multicast stream извне на LAN.
Давайте сначала попробуем IGMP победить, ибо без этого ничего не выйдет.

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #12 on: July 07, 2009, 06:18:27 am »
Не проходят igmp v3 report - дампил больше 3х минут, ни один не попался...

Offline Evgeny

  • Moderator
  • Hero Member
  • *****
  • Posts: 1808
  • Karma: +1/-1
    • View Profile
Re: IPtv multicast
« Reply #13 on: July 07, 2009, 07:51:31 am »
А rule всё-таки не показали...
Ладно, "мы пойдём другим путём" (с) не моё.
Создайте Loadbalancer в Services->Loadbalancer Type=Gateway(failover) на интерфейсе WAN с мониторингом DefaultGatewayWAN.
Далее в созданном ранне правиле для IGMP поменяйте gateway с default на только что созданный Loadbalancer.
IGMP должны начать проходить с LAN на WAN. Если нет, то всё-таки нужен или скриншот правил на LAN, или pfctl -sr | grep <LAN interface name>

Offline HardSE

  • Jr. Member
  • **
  • Posts: 27
  • Karma: +0/-0
    • View Profile
Re: IPtv multicast
« Reply #14 on: July 08, 2009, 02:18:06 am »
Не не проходят IGMP, по чему непонятно...
Вот правила LAN
pass in quick on re0 inet proto udp from any port = bootpc to 255.255.255.255 port = bootps keep state label "allow access to DHCP server on LAN"
pass in quick on re0 inet proto udp from any port = bootpc to 192.168.1.1 port = bootps keep state label "allow access to DHCP server on LAN"
pass out quick on re0 inet proto udp from 192.168.1.1 port = bootps to any port = bootpc keep state label "allow access to DHCP server on LAN"
block drop in on ! re0 inet from 192.168.1.0/24 to any
block drop in on re0 inet6 from fe80::2e0:42ff:fe38:1b1 to any
pass out quick on re0 proto icmp all keep state label "let out anything from firewall host itself"
pass out quick on re0 all flags S/SA keep state label "let out anything from firewall host itself"
pass in quick on re0 inet from any to 192.168.1.1 flags S/SA keep state label "anti-lockout web rule"
pass in quick on re0 proto igmp all keep state label "USER_RULE: LAN_IGMP"
pass in quick on re0 inet from 192.168.1.0/24 to any flags S/SA keep state label "USER_RULE: Default LAN -> any"
pass in quick on re0 inet proto tcp from any to 127.0.0.1 port = ftp-proxy flags S/SA keep state label "FTP PROXY: Allow traffic to localhost"
pass in quick on re0 inet proto tcp from any to 127.0.0.1 port = ftp flags S/SA keep state label "FTP PROXY: Allow traffic to localhost"