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

    IPtv multicast

    Scheduled Pinned Locked Moved Russian
    270 Posts 50 Posters 378.2k 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

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

      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
                                          • I
                                            Ilyuha
                                            last edited by

                                            Теперь бы еще резюме с полным процессом настройки. Мне например не понятно чего указывать в настройках igmpproxy в параметрах downstream и upstream.

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