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

    IPtv multicast

    Scheduled Pinned Locked Moved Russian
    270 Posts 50 Posters 350.5k 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.
    • F
      filosoff96
      last edited by

      А нету …

      внутри есть

      19:36:59.593338 IP 192.168.0.97 > 239.255.0.147: igmp v2 report 239.255.0.147
      19:37:00.046835 IP 192.168.0.97 > 239.255.0.147: igmp v2 report 239.255.0.147

      1 Reply Last reply Reply Quote 0
      • F
        filosoff96
        last edited by

        Это при запуске

        igmpproxy -d /tmp/igmpproxy.conf

        igmpproxy, Version 0.1 beta2, Build 090427
        Copyright 2005 by Johnny Egeland johnny@rlo.orgDistributed under the GNU GENERAL PUBLIC LICENSE, Version 2 - check GPL.txt

        Debu: Searching for config file at '/usr/local/etc/igmpproxy.conf'
        Debu: Config: Quick leave mode enabled.
        Debu: Config: Got a phyint token.
        Debu: Config: IF: Config for interface rl0.
        Debu: Config: IF: Got upstream token.
        Debu: Config: IF: Got ratelimit token '0'.
        Debu: Config: IF: Got threshold token '1'.
        Debu: Config: IF: Got altnet token 239.255.1.0/24.
        Debu: Config: IF: Altnet: Parsed altnet to 239.255.1/24.
        Debu: Config: IF: Got altnet token 239.255.0.0/24.
        Debu: Config: IF: Altnet: Parsed altnet to 239.255.0/24.
        Debu: Config: IF: Got altnet token 212.48.127.0/24.
        Debu: Config: IF: Altnet: Parsed altnet to 212.48.127/24.
        Debu: Config: IF: Got altnet token 212.49.127.0/24.
        Debu: Config: IF: Altnet: Parsed altnet to 212.49.127/24.
        Debu: IF name : rl0
        Debu: Next ptr : 0
        Debu: Ratelimit : 0
        Debu: Threshold : 1
        Debu: State : 1
        Debu: Allowednet ptr : 2820c040
        Debu: Config: Got a phyint token.
        Debu: Config: IF: Config for interface dc0.
        Debu: Config: IF: Got downstream token.
        Debu: Config: IF: Got ratelimit token '0'.
        Debu: Config: IF: Got threshold token '1'.
        Debu: IF name : dc0
        Debu: Next ptr : 0
        Debu: Ratelimit : 0
        Debu: Threshold : 1
        Debu: State : 2
        Debu: Allowednet ptr : 0
        Debu: Config: Got a phyint token.
        Debu: Config: IF: Config for interface lo.
        Debu: Config: IF: Got disabled token.
        Debu: IF name : lo
        Debu: Next ptr : 0
        Debu: Ratelimit : 0
        Debu: Threshold : 1
        Debu: State : 0
        Debu: Allowednet ptr : 0
        Debu: Adding Physical Index value of IF 'rl0' is 1
        Debu: buildIfVc: Interface rl0 Addr: 192.168.0.1, Flags: 0xffff8943, Network: 192.168.0/24
        Debu: Adding Physical Index value of IF 'rl1' is 2
        Debu: buildIfVc: Interface rl1 Addr: 10.255.189.195, Flags: 0xffff8943, Network: 10.255.189.192/27
        Debu: Adding Physical Index value of IF 'lo0' is 7
        Debu: buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8
        Debu: Found config for rl0
        Note: adding VIF, Ix 0 Fl 0x0 IP 0x0100a8c0 rl0, Threshold: 1, Ratelimit: 0
        Debu:        Network for [rl0] : 192.168.0/24
        Debu:        Network for [rl0] : 239.255.1/24
        Debu:        Network for [rl0] : 239.255.0/24
        Debu:        Network for [rl0] : 212.48.127/24
        Debu:        Network for [rl0] : 212.49.127/24
        Note: adding VIF, Ix 1 Fl 0x0 IP 0xc3bdff0a rl1, Threshold: 1, Ratelimit: 0
        Debu:        Network for [rl1] : 10.255.189.192/27
        Debu: Got 262144 byte buffer size in 0 iterations
        Debu: Joining all-routers group 224.0.0.2 on vif 10.255.189.195
        Note: joinMcGroup: 224.0.0.2 on rl1
        Debu: SENT Membership query  from 10.255.189.195  to 224.0.0.1
        Debu: Sent membership query from 10.255.189.195 to 224.0.0.1. Delay: 10
        Debu: Created timeout 1 (#0) - delay 10 secs
        Debu: (Id:1, Time:10)
        Debu: Created timeout 2 (#1) - delay 21 secs
        Debu: (Id:1, Time:10)
        Debu: (Id:2, Time:21)
        Debu: Packet from 10.255.189.195: proto: 2 hdrlen: 20 iplen: 8 or 2048
        Note: RECV Membership query  from 10.255.189.195  to 224.0.0.1 (ip_hl 20, data 8)
        Debu: About to call timeout 1 (#0)
        Debu: Aging routes in table.
        Debu:
        Current routing table (Age active routes);
        –---------------------------------------------------

        Debu: No routes in table...
        Debu:
        -----------------------------------------------------/johnny@rlo.org

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

          Как я уже постил раньше, должно быть примерно так:
          должно быть примерно так:
          Debu: Packet from 192.168.7.185: proto: 2 hdrlen: 20 iplen: 8 or 2048
          Note: RECV V2 member report   from 192.168.7.185   to 224.0.0.22 (ip_hl 20, data
          Debu: Should insert group 239.142.1.1 (from: 192.168.7.185) to route table. Vif Ix : 0
          Debu: No existing route for 239.142.1.1. Create new.
          Debu: Found existing routes. Find insert location.
          Debu: Inserting at beginning, before route 224.0.1.60
          Info: Inserted route table entry for 239.142.1.1 on VIF #0
          Debu: Joining group 239.142.1.1 upstream on IF address 2.2.2.2
          Note: joinMcGroup: 239.142.1.1 on le1

          Не вижу у тебя при старте
          Debu: Found config for rl1…

          http://ru.doc.pfsense.org

          1 Reply Last reply Reply Quote 0
          • F
            filosoff96
            last edited by

            Смущает вот эта строка

            Debu: Config: IF: Config for interface dc0.

            такого интерфейса нет в системе

            есть rl0, rl1, ed0

            rl0 > LAN
            rl1 > WAN
            ed0 > ADSL - не настроен

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

              Вот это вот выдаётся, когда разбирается igmpproxy.conf

              Debu: Allowednet ptr : 2820c040
              Debu: Config: Got a phyint token.
              Debu: Config: IF: Config for interface dc0.
              Debu: Config: IF: Got downstream token.
              Debu: Config: IF: Got ratelimit token '0'.
              Debu: Config: IF: Got threshold token '1'.
              
              

              возможно тупой вопрос, но ты уверен, что в /tmp/igmpproxy.conf у тебя нет этого интерфейса?

              http://ru.doc.pfsense.org

              1 Reply Last reply Reply Quote 0
              • F
                filosoff96
                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
                  • F
                    filosoff96
                    last edited by

                    Копался вот что вышло

                    Debu: Aging Origin 192.168.0.99 Dst 239.255.255.250 PktCnt 1 -> 1
                    Debu: Origin 192.168.0.99 Vif bits : 0x00000000
                    Debu: Identified Input VIF #0 as DOWNSTREAM.
                    Debu: Setting TTL for UPSTREAM Vif 1 to 1
                    Note: Removing MFC: 192.168.0.99 -> 239.255.255.250, InpVIf: 0
                    Debu: Removing group 239.255.255.250. Died of old age.
                    Debu: Removed route entry for 239.255.255.250 from table.
                    Note: Route is not active. No kernel updates done.
                    Debu:
                    Current routing table (Remove route);

                    1 Reply Last reply Reply Quote 0
                    • F
                      filosoff96
                      last edited by

                      На внешнем интерфейсе появилось вот это

                      14:13:09.750924 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]
                      14:13:10.750688 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]
                      14:13:11.749474 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]

                      1 Reply Last reply Reply Quote 0
                      • F
                        filosoff96
                        last edited by

                        Вообще что я понял

                        1. на внутренний интерфейс пакеты приходят:

                        14:39:15.816624 IP 192.168.0.98 > 239.255.0.146: igmp v2 report 239.255.0.146
                        14:39:16.034333 IP 192.168.0.99 > 239.192.152.143: igmp v2 report 239.192.152.143
                        14:39:18.034329 IP 192.168.0.99 > 239.255.0.143: igmp v2 report 239.255.0.143
                        14:39:28.733350 IP 192.168.0.98 > 224.0.0.2: igmp leave 239.255.0.146

                        2. Прокси их видит:

                        Note: New origin for route 239.192.152.143 is 192.168.0.99, flood 0
                        Debu: Origin 192.168.0.99 Vif bits : 0x00000000
                        Debu: Identified Input VIF #0 as DOWNSTREAM.
                        Debu: Setting TTL for UPSTREAM Vif 1 to 1
                        Note: Adding MFC: 192.168.0.99 -> 239.192.152.143, InpVIf: 0
                        Debu:
                        Current routing table (Activate Route);
                        –---------------------------------------------------

                        Debu: #0: Dst: 239.192.152.143, Age:2, St: A, OutVifs: 0x00000000
                        Debu: #0: Origin: 192.168.0.99 floodIf 0 pktcnt 0
                        Debu:

                        3. Но на внешнем интерфейсе ничего нет

                        14:37:36.341589 IP 10.255.189.193 > 224.0.0.1: igmp query v2
                        14:38:36.469784 IP 10.255.189.193 > 224.0.0.1: igmp query v2
                        14:39:36.471234 IP 10.255.189.193 > 224.0.0.1: igmp query v2
                        14:40:36.588887 IP 10.255.189.193 > 224.0.0.1: igmp query v2

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

                          А почему multicast address всегда меняется?
                          Замаршрутизируй тогда весь multicast range на upstream interface.
                          route add -net 224.0.0.0/4 10.255.189.193

                          Здесь же видишь multicast на WAN:
                          14:13:09.750924 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]
                          14:13:10.750688 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]
                          14:13:11.749474 IP 10.255.189.193 > 239.255.0.133: igmp query v2 [max resp time 10] [gaddr 239.255.0.133]

                          http://ru.doc.pfsense.org

                          1 Reply Last reply Reply Quote 0
                          • F
                            filosoff96
                            last edited by

                            Маршрутизацию уже делал …

                            Адреса меняются в зависимости от канала

                            239.255.0.0/24
                            239.255.1.0/24

                            провайдер пишет что достаточно написать

                            altnet 212.49.127.0/24

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

                              altnet сейчас вообще ни на что не влияет. Это дело присутствует в коде, но до ума его не довели. Можно не париться и вообще в конфиге не указывать.
                              Давай ещё раз к твоему случаю.
                              1. Upstream и downstream должны быть правильно присвоены.
                              2. Маршрутизация должна вести на upstream.
                              У меня это работает. Должно работать и у тебя.
                              Теперь что должно работать: IGMP пакеты, принятые на downstream interface, должны быть странслированы на upstream interface.

                              http://ru.doc.pfsense.org

                              1 Reply Last reply Reply Quote 0
                              • F
                                filosoff96
                                last edited by

                                Как то еще странно ведет себя прокси проходит наружу только 3 пакета и все.
                                Потом только переустановка прокси и еще 3 пакета пройдет

                                Прокси жадный по поводу железа?

                                Машинка П-133

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

                                  Нет, совсем не жадный.
                                  Я тебе отправил новый бинарник для 1.2.2. В нём igmp шлётся строго с upstream, не обращая внимания на маршрутизацию.
                                  Запусти его пожалуйста с -d и весь debug зашли мне обратно.
                                  Похоже мы тут спамим с тобой, может лучше по почте продолжим?

                                  http://ru.doc.pfsense.org

                                  1 Reply Last reply Reply Quote 0
                                  • F
                                    filosoff96
                                    last edited by

                                    ок

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

                                      После получения net dump'ов от filosoff96 и немерянного числа безуспешных попыток понять что же происходит я похоже набрёл на правду. Все IGMP пакеты, генерируемые его проигрывателем имеют IP Router Alert Option в IP-заголовке, а pf на данный момент такие пакеты тупо молча игнорирует. Вобщем они даже не доходят до демона igmpproxy.
                                      Пока выхода два:

                                      1. найти плэйер, который не вставляет это дело в IP (Edited: например, http://www.nsplayer.org/Download-4.html )
                                      2. запретить pf (но это не опция, это так - для теста)…
                                        Вопрос задан разработчикам, посмотрим, что ответят. (Edited: в 2.0 решено http://redmine.pfsense.org/issues/show/54 )

                                      Вот такая фикня -((((
                                      PS: filosoff, если не жалко пришли пожалуйста дамп того, что шлёт твой хост 192.168.0.99 - очень интересно.

                                      http://ru.doc.pfsense.org

                                      1 Reply Last reply Reply Quote 0
                                      • I
                                        Ilyuha
                                        last edited by

                                        @Eugene:

                                        в 2.0 решено

                                        В pfsence 2.0.0 уже работает?

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

                                          В pfSense 2.0 есть галочка "разрешать IP options", т.е. pf не будет отфильтровывать эти пакеты.
                                          Как ведёт себя igmpproxy в 2.0 я понятия не имею.

                                          http://ru.doc.pfsense.org

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

                                            К своему великому удивлению я обнаружил эту опцию в своём 1.2.2
                                            Идём на downstream interface в Rules, кликаем Edit и в Advanced options есть галочка "This allows packets with ip options to pass otherwise they are blocked by default i.e. with multicast routing/proxing." Отмечаем её, сохранить, применить и всё. Работает.

                                            http://ru.doc.pfsense.org

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