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

    IPtv multicast

    Russian
    50
    270
    348.5k
    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.
    • 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
                                • N
                                  noker
                                  last edited by

                                  Скорее всего проблема в моем провайдере

                                  Провайдеры спецом ставят ttl 1 чтобы не было маршрутизации мультикаста.

                                  Если ttl 1 можно pf-ом поднять его.
                                  Включив pf и указав в конфиге```
                                  scrub in on re0 all min-ttl 10

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

                                    Всё делал по инструкции, но все равно не работает:
                                    Конфигурация:
                                    WAN интерфейс rl0
                                    LAN интерфейс fxp0

                                    Dec 9 10:26:20	igmpproxy: Warn: select() failure; Errno(4): Interrupted system call
                                    Dec 9 10:26:20	igmpproxy: Note: Got a interupt signal. Exiting.
                                    Dec 9 10:26:20	igmpproxy: Note: All routes removed. Routing table is empty.
                                    Dec 9 10:26:20	igmpproxy: Note: adding VIF, Ix 0 Fl 0x0 IP 0x635bc20a fxp0, Threshold: 1, Ratelimit: 0
                                    Dec 9 10:26:20	igmpproxy: Note: adding VIF, Ix 1 Fl 0x0 IP 0xa2dd0c55 rl0, Threshold: 1, Ratelimit: 0
                                    Dec 9 10:26:20	igmpproxy: Note: joinMcGroup: 224.0.0.2 on fxp0
                                    
                                    $ tcpdump -ni fxp0 igmp
                                    10:34:58.706927 IP 10.194.91.98 > 224.0.0.2: igmp leave 230.200.201.10
                                    10:34:58.720635 IP 10.194.91.99 > 230.200.201.10: igmp query v2 [max resp time 20] [gaddr 230.200.201.10]
                                    10:34:58.725357 IP 10.194.91.98 > 230.200.201.12: igmp v2 report 230.200.201.12
                                    10:34:58.775770 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                    10:34:58.781514 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                    10:34:58.791620 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                    10:34:59.147399 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                    10:34:59.163425 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                    10:34:59.816381 IP 0.0.0.0 > 224.0.0.2: igmp leave 230.200.201.10
                                    10:34:59.816586 IP 10.194.91.99 > 230.200.201.10: igmp query v2 [max resp time 20] [gaddr 230.200.201.10]
                                    10:34:59.817460 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                    10:35:00.136608 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                    10:35:00.669068 IP 10.194.91.98 > 230.200.201.12: igmp v2 report 230.200.201.12
                                    

                                    Если запускаешь tcpdump -ni rl0 'net 239.200.201.0/24 and (igmp or udp)' то вообще ничего не выводится

                                    Т.е. как я понимаю pfsense не формирует IGMP-report на Upstream интерфейсе (WAN)

                                    Подскажите что можно сделать?

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

                                      Логи igmpproxy и tcpdump сделаны в разное время. Покажи один и тот же промеждуток времени.

                                      http://ru.doc.pfsense.org

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

                                        $ tcpdump -c 30 -ni fxp0 igmp
                                        11:17:17.908577 IP 10.194.91.89 > 239.255.255.250: igmp v1 report 239.255.255.250
                                        11:17:18.492503 IP 10.194.90.201 > 224.0.0.9: igmp v2 report 224.0.0.9
                                        11:17:18.508860 IP 10.194.91.89 > 239.255.255.253: igmp v1 report 239.255.255.253
                                        11:17:20.202128 IP 10.194.90.184 > 239.255.255.250: igmp v2 report 239.255.255.250
                                        11:17:21.474032 IP 10.194.90.11 > 224.0.1.22: igmp v2 report 224.0.1.22
                                        11:17:22.149051 IP 10.194.91.98 > 224.0.0.2: igmp leave 230.200.201.10
                                        11:17:22.168636 IP 10.194.91.98 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:17:22.180405 IP 10.194.91.99 > 230.200.201.10: igmp query v2 [max resp time 20] [gaddr 230.200.201.10]
                                        11:17:22.229644 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                        11:17:22.235996 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                        11:17:22.259361 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                        11:17:22.568011 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                        11:17:22.589687 IP 192.168.90.55 > 230.200.201.10: igmp v2 report 230.200.201.10
                                        11:17:23.206527 IP 0.0.0.0 > 224.0.0.2: igmp leave 230.200.201.10
                                        11:17:23.225876 IP 10.194.91.99 > 230.200.201.10: igmp query v2 [max resp time 20] [gaddr 230.200.201.10]
                                        11:17:23.275553 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                        11:17:23.587565 IP 10.194.90.2 > 230.200.201.10: igmp query v2 [max resp time 10] [gaddr 230.200.201.10]
                                        11:17:25.252686 IP 10.76.75.254 > 224.0.0.2: igmp leave 230.200.201.10
                                        11:17:30.258999 IP 10.194.91.98 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:17:36.900150 IP 10.194.91.98 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:17:59.335757 IP 10.194.90.144 > 224.0.0.2: igmp leave 239.255.255.250
                                        11:18:41.843031 IP 10.194.91.98 > 224.0.0.2: igmp leave 230.200.201.11
                                        11:18:41.858197 IP 10.194.91.99 > 230.200.201.11: igmp query v2 [max resp time 20] [gaddr 230.200.201.11]
                                        11:18:41.861067 IP 10.194.91.98 > 230.200.201.32: igmp v2 report 230.200.201.32
                                        11:18:41.892491 IP 10.194.90.2 > 230.200.201.11: igmp query v2 [max resp time 10] [gaddr 230.200.201.11]
                                        11:18:41.903041 IP 192.168.90.55 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:18:41.924535 IP 192.168.90.55 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:18:42.737689 IP 10.194.90.2 > 230.200.201.11: igmp query v2 [max resp time 10] [gaddr 230.200.201.11]
                                        11:18:42.756164 IP 192.168.90.55 > 230.200.201.11: igmp v2 report 230.200.201.11
                                        11:18:42.918487 IP 0.0.0.0 > 224.0.0.2: igmp leave 230.200.201.11
                                        
                                        Dec 9 11:15:00	check_reload_status: check_reload_status is starting
                                        Dec 9 11:16:51	kernel: fxp0: promiscuous mode enabled
                                        Dec 9 11:16:51	kernel: fxp0: promiscuous mode disabled
                                        Dec 9 11:17:17	kernel: fxp0: promiscuous mode enabled
                                        Dec 9 11:18:43	kernel: fxp0: promiscuous mode disabled
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • E
                                          Eugene
                                          last edited by

                                          вижу два tcpdump, нужно логи igmpproxy и tcpdump

                                          http://ru.doc.pfsense.org

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

                                            В логах igmpproxy в это время ничего не пишет
                                            Только раньше

                                            Dec 9 11:14:04	igmpproxy: Warn: select() failure; Errno(4): Interrupted system call
                                            Dec 9 11:14:04	igmpproxy: Note: Got a interupt signal. Exiting.
                                            Dec 9 11:14:04	igmpproxy: Note: All routes removed. Routing table is empty.
                                            Dec 9 11:14:04	igmpproxy: Note: adding VIF, Ix 0 Fl 0x0 IP 0x635bc20a fxp0, Threshold: 1, Ratelimit: 0
                                            Dec 9 11:14:04	igmpproxy: Note: adding VIF, Ix 1 Fl 0x0 IP 0xa2dd0c55 rl0, Threshold: 1, Ratelimit: 0
                                            Dec 9 11:14:04	igmpproxy: Note: joinMcGroup: 224.0.0.2 on fxp0
                                            Dec 9 11:14:04	php: : Started Igmpproxy service sucsesfully.
                                            
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.