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

    IPTV igmp non promiscuous mode magical bug

    Scheduled Pinned Locked Moved Russian
    29 Posts 5 Posters 2.3k 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.
    • N
      neto
      last edited by

      Поставил pfSense работать роутером на старом компьютере с 2 сетевыми картами.

      ISP [ LAN [ static IP + IPTV ] + WAN [ L2TP ] ] -> pfSense PC [ rl0 + msk0 ] -> switch -> home LAN

      Провайдер предоставляет телевещание по igmp multicast.
      При прямом подключении Интернета к компьютеру все каналы работают нормально.

      Через pfSense работает примерно 2/3 каналов,
      а остальные - только при включенном promiscuous mode на сетевой карте msk0, подключенной к домашней сети.

      234.5.2.0/24 - диапазон адресов каналов.
      234.5.2.1 promiscuous only
      234.5.2.2 ok
      234.5.2.3 ok
      234.5.2.4 promiscuous only

      Promiscuous mode включал на странице Diagnostics - Packet Capture.

      Включение promiscuous mode - это костыль, причем вообще непонятно каким образом это помогает.
      Хотелось бы понять причину бага и устранить ее без использование костылей.

      Пока в качестве плохого решения в Package / Services: Shellcmd Settings добавил команду /sbin/ifconfig msk0 promisc.
      Shellcmd - дополнительно установленный пакет для инъекций команд.

      1 Reply Last reply Reply Quote 0
      • werterW
        werter
        last edited by

        Добрый.

        Поставил pfSense

        Версия ? Разрядность ?

        Так https://forum.pfsense.org/index.php?topic=16995.225 , https://forum.pfsense.org/index.php?topic=134795.0 или https://tech.cellfi.sh/journal/2016/6/19/nextgentel-iptv-and-your-own-router пробовали ?

        Зы.

        ISP [ LAN [ static IP + IPTV ] + WAN [ L2TP ] ]

        Это же Dual\Russian ? Может с маршрутизацией что-то ? IPTV без поднятия l2tp работает или только при поднятой сессии?

        Зы2. По фразе igmp iptv pfsense в Сети много интересного. Есть и свежее по времени.
        Зы3. Надеюсь, что блокирование серых сетей на ВАН отключено изначально в вашем случае.

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

          Я несколько дней отлавливал ошибку. Кучу форумов облазил.

          Из советов применил все, а именно:
          1. В правилах для igmp разрешил ip options.
          2. Не блокирую богоны и т.п.
          3. Прописал апстрим сеть, т.к. источник не в моей подсети.

          С промиск мод все идеально работает.
          Без него 1/3 каналов не работает, а именно:
          жму "плей" в плеере - идет запрос на адрес канала и это сразу видно по логам/pfTop,
          но у магической 1/3 каналов в логах пусто, просто тишина,
          т.е. ощущение, что блокирует сетевая карта на уровне фреймов или как то так
          (собственно, это единственный вывод, который можно сделать из факта, что в неразборчивом режиме работает все идеально).

          Еще раз напоминаю, что единственная разница между каналами - последнее число.
          Работают без промиска определенные каналы.
          Не работают без промиска тоже вполне определенные.
          Т.е. это не рандомно, а всегда постоянно.

          Сетевые пробовал менять местами, с разных клиентов - все абсолютно также.

          Система: 64х, последняя стабильная версия, 4Гб DDR2, Core 2 Duo, HDD 40 Гб, сетевые карты realtek 100 wan и marvell 1000 lan.
          Маршрутов я не прописывал вообще никаких.
          l2tp вообще не имеет отношение к тв, оно идет от статически прописанной локальной сети провайдера независимо от наличия или отсутствия Интернета.

          1 Reply Last reply Reply Quote 0
          • P
            pigbrother
            last edited by

            А сравните в плейлисте m3u (если он у вас, конечно, есть) как выглядят URL работающих и проблемных каналов, есть ли система?

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

              Абсолютно одинаково выглядят.
              Можно вручную открывать URL через VLC и эффект будет таким же.

              udp://@234.5.2.1 bug
              udp://@234.5.2.2 ok
              udp://@234.5.2.3 ok
              udp://@234.5.2.4 bug
              udp://@234.5.2.5 bug
              udp://@234.5.2.6 ok
              …

              Т.е. со стороны клиента все нормально, со стороны pfsense все тоже правильно настроено,
              проблема где-то на уровне обработки пакетов от клиентов локальной сети.

              Совершенно непонятно по каким причинам такое происходит.
              Что именно нужно сломать в посылаемых ethernet фреймах при смене адреса получателя UDP с 234.5.2.2 на 234.5.2.1,
              чтобы сетевая карта их блокировала, считая посторонними?

              Напомню, что пробовал менять сетевую карту - т.е. маловероятно, что в драйверах дело.

              1 Reply Last reply Reply Quote 0
              • P
                pigbrother
                last edited by

                Проблема не с сетевой картой, а с прохождением мультикаста.
                Я в этой теме, к сожалению, не компетентен, а тема достаточно обширная.

                1 Reply Last reply Reply Quote 0
                • werterW
                  werter
                  last edited by

                  Добрый.
                  Вкл. сниффинг пакетов на интерфейсе (прямо в вебке пф) и посмотрите, что в нем при работающем и неработающим канале.

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

                    werter, я и включал снифинг изначально - так и определил с каким костылем все работает как должно.

                    Просто снифинг показывает отсутствие igmp запросов.
                    Снифинг с галочкой промиск мод показывает igmp запросы и все работает.

                    Т.е. включение packet capture + promiscuous mode в веб-интерфейсе pfsense
                    автоматически нейтрализует проблему и все каналы показывают нормально.

                    1 Reply Last reply Reply Quote 0
                    • werterW
                      werter
                      last edited by

                      Добрый.

                      Сетевые пробовал менять местами, с разных клиентов - все абсолютно также.

                      Попробуйте сменить (на время) сетевые на что-то приличное\поновее.

                      P.s. Отпишите в англоветку. Там разрабы сидят. Может и подскажут - баг это или фича.

                      1 Reply Last reply Reply Quote 0
                      • D
                        derwin
                        last edited by

                        что за мода на садо мазо?
                        снимайте поток до входа в маршрутер!!!!!! это делается на L2 коммутаторе.

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

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

                          Там стоит DES-1228/ME (хотя по хорошему я, как клиент, вообще этого знать не должен)

                          Или вы хотите, чтобы я у себя дома поставил L2 свитч до pfsense? Допустим так, но мне нужен на tv-box не что-то одно из интернета и iptv, а и то и другое, а порт там, естественно, один.

                          И вообще, с какой целью мне "снимать поток до входа в  маршрутер!!!!!!", если этот поток нужно закинуть в домашнюю сеть?
                          Может я что-то неправильно понял?

                          P.S. с работой pfsense igmp proxy и IPTV сейчас проблем нет (с костылем), но есть проблема с ее качеством.
                          А именно, при канале в 100 Мбит/с, при минимальной потоковой загрузке (например twitch.tv) IPTV начинает моросить, т.е. происходит дроп пакетов хз в каком месте. Как с этим бороться я не знаю, точнее предполагаю, что нужно задавать приоритет UDP трафику от источника, но мне не удалось никак это реализовать в pfsense. Точнее ни один из вариантов не приводит к заметному результату.
                          Самый жирный HD канал берет около 13 Мбит/с. С чего вообще могут возникать лаги/дропы при свободной большей части канала я не понимаю.

                          1 Reply Last reply Reply Quote 0
                          • D
                            derwin
                            last edited by

                            товарищ, если тебе нужно отдиагностировать проблему IPTV, то рекомендую начать с гугления по слову tsreader (это провайдерский инструментарий для таких случаев, но если позвоните провайдеру - скорее всего, он вас завернет в лес на поляну за грибами). Это программа- анализатор мультикаста. Выявляет битые последовательности (при перегруженном ретрансляторе или плохом канале), ошибки декодирования, ошибки контрольной суммы кодека и т.д.

                            Да, я предлагаю L2 снимать до входа в маршрутер. Кабель от провайдера перетягивать не обязательно, можно это сделать в метре от pfsense. L2 коммутаторы в простом исполнении по цене доступны, но могут не потянуть потоковое вещание (это ресурсоёмкая операция для чипа, нужно предварительно проверять). И да, чтобы закинуть поток в локалку - его нужно его прогнать на L2 до конечных потребителей, нужны минимальные знания сетевого инжиниринга, хотя бы в области VLAN и принципов коммутации/маршрутизации мультикаста.

                            Допустим так, но мне нужен на tv-box не что-то одно из интернета и iptv

                            а как вам провайдер подаёт услуги в кабель? там ведь и интернет, и IPTV. Вы почитайте хотя бы про адресацию в мультике, никакой проблемы тут нет.

                            1 Reply Last reply Reply Quote 0
                            • D
                              derwin
                              last edited by

                              мой вам совет. Если вам всё нужно и без ничего - купите себе домой зиксель кинетик лайт. Всё работает из коробки.
                              PS:  DES-1228/ME - глючное д****о

                              1 Reply Last reply Reply Quote 0
                              • D
                                derwin
                                last edited by

                                вот вам ещё http://www.dlink.ru/r/faq/58/266.html
                                кстати может стоять ограничение на кол-во каналов с порта у провайдера.

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

                                  derwin, спасибо за ответы,

                                  много всего перепробовал - pfsense, open-wrt/lede, routeros, в итоге заказал MikroTik hEX lite - думаю его возможностей и мощности хватит для решения задачи.

                                  маловероятно, что лаги iptv связаны с работой оборудования провайдера и нагрузка на свитч далеко не максимальная

                                  по вашей схеме получается, что кабель от провайдера идет сначала в мой L2 роутер, который занимается мультикастом, затем в роутер/pfsense для раздачи интернета, и они соединены по lan портам, чтобы конечные потребители получали все вместе

                                  1 Reply Last reply Reply Quote 0
                                  • P
                                    pigbrother
                                    last edited by

                                    MikroTik hEX lite - думаю его возможностей и мощности хватит для решения задачи.
                                    Применительно именно к IPTV через мультикаст (многие  провайдеры перешли на OTT\HLS,)
                                    https://ru.wikipedia.org/wiki/OTT
                                    https://ru.wikipedia.org/wiki/HLS
                                    Микротик может и не лучший выбор. Многие роутеры-мыльницы с мультикастом справляются лучше.
                                    Вероятно понадобится (обычно отсутствует в списке установленных) доп. пакет multicast-*.npk. Берется из Extra packages для для вашей архитектуры\версии ROS
                                    https://mikrotik.com/download

                                    1 Reply Last reply Reply Quote 0
                                    • D
                                      derwin
                                      last edited by

                                      да вы чего, микротик и мультикаст вообще несовместимые вещи. Тупо чит не умеет, а проца не хватает на софтовую обработку.

                                      1 Reply Last reply Reply Quote 0
                                      • B
                                        Buch
                                        last edited by

                                        Отлично работает IGMP Proxy на RB951G и на приставке и на компе показывает.

                                        2.2.6-RELEASE  (amd64)  built on Mon Dec 21 14:50:08 CST 2015 FreeBSD 10.1-RELEASE-p25
                                        AMD Turion™ II Neo N40L Dual-Core Processor Current: 187 MHz, Max: 1497 MHz

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          derwin
                                          last edited by

                                          @Buch:

                                          Отлично работает IGMP Proxy на RB951G и на приставке и на компе показывает.

                                          вот именно, это PROXY, причём совтовое

                                          1 Reply Last reply Reply Quote 0
                                          • B
                                            Buch
                                            last edited by

                                            @derwin:

                                            вот именно, это PROXY, причём совтовое

                                            А где он не софтовый? Коммутаторы тоже имеют софт. Данные ведь никто не перепаковывает, только заголовки пакетов.

                                            2.2.6-RELEASE  (amd64)  built on Mon Dec 21 14:50:08 CST 2015 FreeBSD 10.1-RELEASE-p25
                                            AMD Turion™ II Neo N40L Dual-Core Processor Current: 187 MHz, Max: 1497 MHz

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