Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    IPtv multicast

    Scheduled Pinned Locked Moved Russian
    270 Posts 50 Posters 378.6k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      bortmex
      last edited by

      сделал pkg_add -r udpxy
      запустил по ману
      вроде работает, ничего не сломалось (да и с чего бы ломаться)

      Использование - в простейшем случае указать только источник мультикаста (-m <интерфейс>), и все. По дефолту слушает на 81 порту. Формат URL для плеера - http://<адрес_роутера>:81/udp/<мультикаст-адрес_канала>.

      Пакет делать смысла особого нет, наверное, штука простая как топор

      1 Reply Last reply Reply Quote 0
      • V
        vagiff
        last edited by

        @bortmex:

        сделал pkg_add -r udpxy

        не поставилось так….
        пришлось ставить pkg_add -r http://...../udpxy

        1 Reply Last reply Reply Quote 0
        • V
          vagiff
          last edited by

          всю голову сломал… иптв так и не заработало...

          1 Reply Last reply Reply Quote 0
          • N
            noker
            last edited by

            Столкнулся с проблемой зависание картинки, на разных каналах с разным интервалом.(Если напрямую, то все ок).
            В логах на момент зависания появляются такие сообщения:

            Oct 13 20:59:19     igmpproxy: Note: Adding MFC: 192.168.184.111 -> 239.255.255.250, InpVIf: 0
            Oct 13 20:59:22     igmpproxy: Note: RECV V2 member report from 192.168.1.3 to 239.195.0.46 (ip_hl 24, data 8)
            Oct 13 20:59:22     igmpproxy: Note: Adding MFC: 93.100.195.74 -> 239.195.0.46, InpVIf: 0
            Oct 13 20:59:22     igmpproxy: Note: RECV V2 member report from 192.168.1.3 to 239.195.0.46 (ip_hl 24, data 8)
            Oct 13 20:59:22     igmpproxy: Note: Adding MFC: 93.100.195.74 -> 239.195.0.46, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Note: RECV V2 member report from 192.168.1.1 to 224.0.0.2 (ip_hl 24, data 8)
            Oct 13 20:59:27     igmpproxy: Note: The IGMP message was from myself. Ignoring.
            Oct 13 20:59:27     igmpproxy: Warn: age_table_entry: SIOCGETSGCNT failing for (192.168.185.177 239.192.152.143); Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.185.177 -> 239.192.152.143, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Warn: age_table_entry: SIOCGETSGCNT failing for (192.168.185.175 239.192.152.143); Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.185.175 -> 239.192.152.143, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Warn: age_table_entry: SIOCGETSGCNT failing for (192.168.184.225 239.192.152.143); Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.225 -> 239.192.152.143, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Warn: age_table_entry: SIOCGETSGCNT failing for (192.168.184.28 239.192.152.143); Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.28 -> 239.192.152.143, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.187.69 -> 239.255.255.250, InpVIf: 0
            

            Не могу понять почему через меня проходят запросы от других пользователей?

            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Warn: age_table_entry: SIOCGETSGCNT failing for (192.168.184.28 239.192.152.143); Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.28 -> 239.192.152.143, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Warn: MRT_DEL_MFC; Errno(49): Can't assign requested address
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.187.69 -> 239.255.255.250, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.186.192 -> 239.255.255.250, InpVIf: 0
            Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.28 -> 239.255.255.250, InpVIf: 0
            Oct 13 20:59:30     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.177, flood -1
            Oct 13 20:59:37     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.184.225, flood -1
            Oct 13 20:59:38     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.128, flood -1
            

            Настройки все не сколько раз перепроверил,все как и должно быть :-[
            Кто нибудь сталкивался с такой проблемой?

            1 Reply Last reply Reply Quote 0
            • E
              Eugene
              last edited by

              screenshot конфига igmpproxy сюда пожалуйста и какие подсети на LAN и WAN?

              http://ru.doc.pfsense.org

              1 Reply Last reply Reply Quote 0
              • N
                noker
                last edited by

                @Evgeny:

                screenshot конфига igmpproxy сюда пожалуйста и какие подсети на LAN и WAN?

                WAN (Static)
                192.168.184.XX/21
                LAN
                192.168.1.1/24

                1.jpg
                1.jpg_thumb

                1 Reply Last reply Reply Quote 0
                • E
                  Eugene
                  last edited by

                  Канал 239.192.152.143 переезжает с одного хоста на другой - от этого похоже и замирания.
                  А почему решил, что другие пользователи проходят через тебя?
                  @noker:

                  Не могу понять почему через меня проходят запросы от других пользователей?

                  http://ru.doc.pfsense.org

                  1 Reply Last reply Reply Quote 0
                  • N
                    noker
                    last edited by

                    @Evgeny:

                    А почему решил, что другие пользователи проходят через тебя?

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

                    
                    [ct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.187.69 -> 239.255.255.250, InpVIf: 0
                    Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.186.192 -> 239.255.255.250, InpVIf: 0
                    Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.28 -> 239.255.255.250, InpVIf: 0
                    [/code]
                    Или вот такого типа запросы не совсем мне понятны:
                    [code]
                    20:59:30     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.177, flood -1
                    Oct 13 20:59:37     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.184.225, flood -1
                    Oct 13 20:59:38     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.128, flood -1
                    [/code]
                    
                    1 Reply Last reply Reply Quote 0
                    • H
                      Helfer_Panch
                      last edited by

                      А как можно обновить версию.. Больше не знаю что делать.
                      Уже все перепробовал, все что в ветке было, все равно не идет.
                      Друзья помогите..

                      1 Reply Last reply Reply Quote 0
                      • E
                        Eugene
                        last edited by

                        @noker:

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

                        
                        [ct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.187.69 -> 239.255.255.250, InpVIf: 0
                        Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.186.192 -> 239.255.255.250, InpVIf: 0
                        Oct 13 20:59:27     igmpproxy: Note: Removing MFC: 192.168.184.28 -> 239.255.255.250, InpVIf: 0
                        [/code]
                        
                        igmpproxy перестал слушать поток 239.255.255.250, который можно было принять с этих IP 192.168.187.69 192.168.186.192.
                        
                        [quote]
                        Или вот такого типа запросы не совсем мне понятны:
                        [code]
                        20:59:30     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.177, flood -1
                        Oct 13 20:59:37     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.184.225, flood -1
                        Oct 13 20:59:38     igmpproxy: Note: New origin for route 239.192.152.143 is 192.168.185.128, flood -1
                        [/code]
                        [/quote]
                        Здесь никаких "других" пользователей нет. Просто multicst поток 239.192.152.143 теперь доступен с других серверов на стороне WAN:  192.168.185.177 192.168.184.225 192.168.185.128.
                        Ошибки вот только действительно какие-то странные в логах -(
                        

                        http://ru.doc.pfsense.org

                        1 Reply Last reply Reply Quote 0
                        • E
                          Eugene
                          last edited by

                          @Helfer_Panch:

                          А как можно обновить версию.. Больше не знаю что делать.
                          Уже все перепробовал, все что в ветке было, все равно не идет.
                          Друзья помогите..

                          Знаю умельцы загружали свежий порт с freebsd, но там синтаксис запуска немного другой, придётся вручную запускать.
                          А делать нужно вот что:
                          -запостить конфигурацию
                          -запостить логи
                          -запостить tcpdump

                          http://ru.doc.pfsense.org

                          1 Reply Last reply Reply Quote 0
                          • H
                            Helfer_Panch
                            last edited by

                            удалено

                            1 Reply Last reply Reply Quote 0
                            • E
                              Eugene
                              last edited by

                              и вправду старая версия, на какой адрес выслать работающую?

                              http://ru.doc.pfsense.org

                              1 Reply Last reply Reply Quote 0
                              • H
                                Helfer_Panch
                                last edited by

                                Evgeny, спасибо огромное за помощь!

                                Igmpproxy прекрасно работает, в моем случае все дело было в правилах фаервола. Работает та версия, которая ставиться самим PFsense'ом.

                                Дело в том что в pfsense правила создаются таким образом, что при отработке правила дальнейшее движение по цепочке правил прекращается.
                                Поэтому правило lan net -> 224.0.0.0/4 c галкой "This allows packets with ip options to pass …" в AdvancedOptions, нужно поставить в самое начало правил LAN.

                                Хотя есть вариант вообще не создавать вышеописанное, если есть правило выпускать lan net(или отдельный ip lan_net диапозона) -> to anу.
                                В этом случае нужно, в этом правиле, установит галку "This allows packets with ip options to pass ..." в AdvancedOptions.

                                1 Reply Last reply Reply Quote 0
                                • E
                                  Eugene
                                  last edited by

                                  @Helfer_Panch:

                                  Evgeny, спасибо огромное за помощь!
                                  [/qoute]
                                  пожалуйста.

                                  Igmpproxy прекрасно работает, в моем случае все дело было в правилах фаервола. Работает та версия, которая ставиться самим PFsense'ом.

                                  Дело в том что в pfsense правила создаются таким образом, что при отработке правила дальнейшее движение по цепочке правил прекращается.
                                  Поэтому правило lan net -> 224.0.0.0/4 c галкой Advanсed -> "Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic", нужно поставить в самое начало правил LAN.

                                  Ты имел ввиду "This allows packets with ip options to pass …" в AdvancedOptions для правила. scrubbing к этому делу никакого отношения не меет.
                                  И ещё ты забыл про "сложный случай раз (пункт 6)" отсюда http://ru.doc.pfsense.org/index.php/%D0%9A%D0%B0%D0%BA_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C_IPTV
                                  Вобщем, надо чётко следовать шагам howto и всё будет зашибись. -)

                                  http://ru.doc.pfsense.org

                                  1 Reply Last reply Reply Quote 0
                                  • H
                                    Helfer_Panch
                                    last edited by

                                    @Evgeny:

                                    @Helfer_Panch:

                                    Evgeny, спасибо огромное за помощь!
                                    [/qoute]
                                    пожалуйста.

                                    Igmpproxy прекрасно работает, в моем случае все дело было в правилах фаервола. Работает та версия, которая ставиться самим PFsense'ом.

                                    Дело в том что в pfsense правила создаются таким образом, что при отработке правила дальнейшее движение по цепочке правил прекращается.
                                    Поэтому правило lan net -> 224.0.0.0/4 c галкой Advanсed -> "Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic", нужно поставить в самое начало правил LAN.

                                    Ты имел ввиду "This allows packets with ip options to pass …" в AdvancedOptions для правила. scrubbing к этому делу никакого отношения не меет.
                                    И ещё ты забыл про "сложный случай раз (пункт 6)" отсюда http://ru.doc.pfsense.org/index.php/%D0%9A%D0%B0%D0%BA_%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B8%D1%82%D1%8C_IPTV
                                    Вобщем, надо чётко следовать шагам howto и всё будет зашибись. -)

                                    Да ты прав! Именно эту галку и имел ввиду.. поправил.

                                    Рекомендую добавить эту поправку в документацию, т.к. мелочь, а времени отняла три дня поиска.

                                    1 Reply Last reply Reply Quote 0
                                    • E
                                      Eugene
                                      last edited by

                                      Дык вроде там:

                                      2. Создать правило на LAN-интерфесе в Firewall->Rules

                                      Pass Proto=IGMP Source=LANnet Destination=224.0.0.0/4 AdvancedOptions отметить "This allows packets with ip options to pass …" Save/Apply

                                      http://ru.doc.pfsense.org

                                      1 Reply Last reply Reply Quote 0
                                      • H
                                        Helfer_Panch
                                        last edited by

                                        @Evgeny:

                                        Дык вроде там:

                                        2. Создать правило на LAN-интерфесе в Firewall->Rules

                                        Pass Proto=IGMP Source=LANnet Destination=224.0.0.0/4 AdvancedOptions отметить "This allows packets with ip options to pass …" Save/Apply

                                        Я немного не про это, а про то что это правило должно быть выше остальных.. Ведь оно у меня было, но уже после разрешающих с LAN -> "куда угодно" и не отрабатывалось..

                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          Eugene
                                          last edited by

                                          А да, добавлю, эту странность я раньше не знал.

                                          http://ru.doc.pfsense.org

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            Helfer_Panch
                                            last edited by

                                            Есть программа прекрасно дополняющая igmpproxy. Работает как вместе с ней, так и отдельно.

                                            Не подумайте ничего плохого про igmpproxy, она прекрасно работает, но есть одно НО!

                                            Использование igmpproxy в локальной сети с зонами wi-fi чревато проблемами. Поток мультикаста перегружает маломощные 54Mb точки тоступа. Новые, 300 мегабитные работают нормально.
                                            Стандарт 802.11g, тяжело переваривает маленькие пакеты, IPTV идет очень нестабильно, с постоянными прерываниями помимо этого точка доступа может зависать напрочь.

                                            Есть простое решение этой проблемы - udpxy (http://sourceforge.net/projects/udpxy/)

                                            Основная задача udpxy заключается в передаче данных, считанных из мультикаст-канала (рассылающего данные подписчикам по протоколу UDP), в клиентское соединение, работающее в протоколе TCP.  Таким образом, легко решается вышеописанная проблема!

                                            Установка программы на pfsense 1.2.3 RC у меня заняла минут семь, это учитывая время на разбор параметров.

                                            Ставиться из пакетов, pkg_add ftp.freebsd.org/pub/FreeBSD/ports/i386/packages/net/udpxy-1.0.16.tbz
                                            Настройки фаервола те же, что и с igmpproxy, даже не менял ничего.

                                            Чтобы он начал автоматически запускаться нужно поправить udpxy и переименовать его в udpxy.sh в /usr/local/etc/rc.d/. Править его обязательно, т.к. у программы нет конфигурационного файла и все необходимые для работы опции прописываются в нем.

                                            В udpxy.sh изменил всего две строчки:
                                            udpxy_enable=${udpxy_enable-"YES"}
                                            udpxy_flags=${udpxy_flags-" -a LAN_IP -c 4 -M 60 -m WAN_IP"}

                                            а ну и в /etc/defaults/rc.conf добавил udpxy_enable-"YES", только не знаю надо или нет.

                                            -a - указать адрес (IPv4) или имя интерфейса для (HTTP) запросов к приложению [0.0.0.0 - по умолчанию]
                                            -p - указать TCP порт для (HTTP) запросов к приложению (обязательный параметр)
                                            -m - указать адрес (IPv4) или имя интерфейса мультикаст-каналов [0.0.0.0 - по умолчанию]
                                            -с - максимальное количество клиентов, обслуживаемых одновременно [см. подсказку при запуске]
                                            -M - периодически возобновлять подписку на мультикаст-канал [по умолчанию - 0 (секунд), т.е. не возобновлять]

                                            У меня без опции -M 60 (продление подписки на вещание, через сколько в секундах) прерывает поток.

                                            Вот только чтобы смотреть IPTV нужно поправить плейлист в внем нужно поменять udp://@239.192.12.5:1234 на http://{LAN_IP}:4022/udp/239.192.12.5:1234

                                            По адресу http://{LAN_IP}:4022/status можно посмотреть подключенных клиентов.

                                            И еще один плюс - IPTV можно без лишнего гемороя раздавать через PPTP, лишь бы ширины канала хватало.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.