IPtv multicast
-
К своему великому удивлению я обнаружил эту опцию в своём 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." Отмечаем её, сохранить, применить и всё. Работает. -
Теперь бы еще резюме с полным процессом настройки. Мне например не понятно чего указывать в настройках igmpproxy в параметрах downstream и upstream.
-
Процесс очень прост. Upstream - это тот нитерфейс, на котором к тебе приходит мультикаст (провайдер я предполагаю, т.е. WAN).
Downstream - интерфейсы где хочешь видеть этот multicast трафик. На счёт altnet можно не заморачиваться, этот параметр сейчас игнорируется. Что в правилах будет разрешено, то и будет проходить. -
Что в правилах будет разрешено, то и будет проходить.
И чего в правилах нужно добавить для воркания ИП-ТВ? Типа фром 239.0.2.17 ту эни локал?
-
На LAN нужно прежде всего разрешить IGMP c LAN на Multicast address (типа 239.0.2.17) и указать вышеупомянутую опция в Advanced Options.
На WAN нужно разрешить с (кто вещает) на 239.0.2.17 -
Если на интерфейсе LAN Везде Any, этого достаточно?
На WAN нужно разрешить с 239.0.2.17 (он вещает) на 192.168.1.0/24 ? -
На LAN any to any достаточно (хоть это и самое идиотское правило), только флажок Options нужен для некоторых плэйеров.
На WAN "кто вещает" будет какой-то НЕмультикаст адрес от провайдера, destination будет как раз 239.0.2.17. Можно для теста попробовать from any to 224.0.0.0/4 - это охватит всех потенциальных "вещателей" -
ОК буду тестить. Спасибо за помощь.
-
Вопрос про dump еще актуален?
-
Да.
-
Все заработало!!!
поставил галку System>Advansed>Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic. и все пошло IPTV - работаетСделано на PFSense 1.2.2
Сейчас сделаю DUMP -
Глобально…
-
login as: root
Using keyboard-interactive authentication.
Password:
Access denied
Using keyboard-interactive authentication.
Password:*** Welcome to pfSense 1.2.2-pfSense on pfsense ***
LAN* -> rl0 -> 192.168.1.1
WAN* -> rl1 -> 192.168.0.197(DHCP)pfSense console setup
0) Logout (SSH only)
1) Assign Interfaces
2) Set LAN IP address
3) Reset webConfigurator password
4) Reset to factory defaults
5) Reboot system
6) Halt system
7) Ping host
8) Shell
9) PFtop
10) Filter Logs
11) Restart webConfigurator
12) pfSense PHP shell
13) Upgrade from console
14) Disable Secure Shell (sshd)Enter an option: 8
Tcpdump -ni rl0 igmp
Tcpdump: Command not found.
tcpdump -ni rl0 igmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes
21:02:00.809035 IP 192.168.1.10 > 239.255.255.250: igmp v2 report 239.255.255.250
21:02:02.309062 IP 192.168.1.10 > 239.255.0.149: igmp v2 report 239.255.0.149
21:02:14.989864 IP 192.168.1.10 > 224.0.0.2: igmp leave 239.255.0.149
21:02:14.990634 IP 192.168.0.1 > 239.255.0.149: igmp query v2 [max resp time 10] [gaddr 239.255.0.149]
21:02:14.996316 IP 10.255.189.193 > 239.255.0.149: igmp query v2 [max resp time 10] [gaddr 239.255.0.149]
21:02:15.351567 IP 192.168.1.10 > 239.255.0.147: igmp v2 report 239.255.0.147
21:02:15.809513 IP 192.168.1.10 > 239.255.0.147: igmp v2 report 239.255.0.147
21:02:15.989921 IP 192.168.0.1 > 239.255.0.149: igmp query v2 [max resp time 10] [gaddr 239.255.0.149]
21:02:15.994993 IP 10.255.189.193 > 239.255.0.149: igmp query v2 [max resp time 10] [gaddr 239.255.0.149]
21:02:21.852423 IP 192.168.1.10 > 224.0.0.2: igmp leave 239.255.0.147
21:02:21.852563 IP 192.168.0.1 > 239.255.0.147: igmp query v2 [max resp time 10] [gaddr 239.255.0.147]
21:02:21.858282 IP 10.255.189.193 > 239.255.0.147: igmp query v2 [max resp time 10] [gaddr 239.255.0.147]
21:02:22.213463 IP 192.168.1.10 > 239.255.0.148: igmp v2 report 239.255.0.148
21:02:22.309727 IP 192.168.1.10 > 239.255.0.148: igmp v2 report 239.255.0.148
21:02:22.851775 IP 192.168.0.1 > 239.255.0.147: igmp query v2 [max resp time 10] [gaddr 239.255.0.147]
21:02:22.855880 IP 10.255.189.193 > 239.255.0.147: igmp query v2 [max resp time 10] [gaddr 239.255.0.147]
21:02:26.687382 IP 192.168.1.10 > 224.0.0.2: igmp leave 239.255.0.148
21:02:26.687536 IP 192.168.0.1 > 239.255.0.148: igmp query v2 [max resp time 10] [gaddr 239.255.0.148]
21:02:26.694203 IP 10.255.189.193 > 239.255.0.148: igmp query v2 [max resp time 10] [gaddr 239.255.0.148]
21:02:27.106393 IP 192.168.1.10 > 239.255.1.126: igmp v2 report 239.255.1.126
21:02:27.309885 IP 192.168.1.10 > 239.255.1.126: igmp v2 report 239.255.1.126
21:02:27.687591 IP 192.168.0.1 > 239.255.0.148: igmp query v2 [max resp time 10] [gaddr 239.255.0.148]
21:02:27.691460 IP 10.255.189.193 > 239.255.0.148: igmp query v2 [max resp time 10] [gaddr 239.255.0.148]
21:02:31.790911 IP 192.168.1.10 > 224.0.0.2: igmp leave 239.255.1.126
21:02:31.791035 IP 192.168.0.1 > 239.255.1.126: igmp query v2 [max resp time 10] [gaddr 239.255.1.126]
21:02:31.796586 IP 10.255.189.193 > 239.255.1.126: igmp query v2 [max resp time 10] [gaddr 239.255.1.126]
21:02:32.113347 IP 192.168.1.10 > 239.255.0.145: igmp v2 report 239.255.0.145
21:02:32.310384 IP 192.168.1.10 > 239.255.0.145: igmp v2 report 239.255.0.145
21:02:32.790948 IP 192.168.0.1 > 239.255.1.126: igmp query v2 [max resp time 10] [gaddr 239.255.1.126]
21:02:32.796553 IP 10.255.189.193 > 239.255.1.126: igmp query v2 [max resp time 10] [gaddr 239.255.1.126] -
Спасибо ОГРОМНОЕ Eugene !!!
Очень много помогал по данному вопросуPS обидно успел приобрести коробочный роутер еще и D-Link ???
-
Всегда пожалуйста. А dump мне нужен как cap-file, мне надо внутрь пакетиков заглянуть. Я нигде таких, как у тебя не видел.
-
поставил тут на днях pfsense, вроде все норм, но столкнулся с такойже проблемой - не работает iptv..
вроде сделал все как писалось выше но работать оно не захотело..
присоеденись к Ilya S. Kalugin с просьбой: мб всеже кто напишет четкую инструкцию что, как и куда? :)вот что я делал..
*** Welcome to pfSense 1.2.3-RC1-pfSense on defnet *** WAN* -> sis0 -> 91.191.250.27(DHCP) LAN* -> vr0 -> 192.168.1.1
# tcpdump -ni vr0 igmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vr0, link-type EN10MB (Ethernet), capture size 96 bytes 19:39:39.789444 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:40.179795 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:41.563793 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:41.571837 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:41.680626 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 2 group record(s) 19:39:42.347966 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:42.355771 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:42.681146 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 2 group record(s) 19:39:43.212449 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:43.221377 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:43.681643 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 2 group record(s) 19:39:44.564976 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:44.573201 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:39:44.682222 IP 192.168.1.10 > 224.0.0.22: igmp v3 report, 2 group record(s)
# tcpdump -ni sis0 igmp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on sis0, link-type EN10MB (Ethernet), capture size 96 bytes 19:41:04.976403 IP 10.255.127.1 > 224.0.0.1: igmp query v2 19:41:12.920133 IP 10.255.233.68 > 224.0.0.22: igmp v2 report 224.0.0.22 19:42:05.032997 IP 10.255.127.1 > 224.0.0.1: igmp query v2 19:42:09.948738 IP 10.255.233.68 > 224.0.0.22: igmp v2 report 224.0.0.22 19:42:52.367719 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:42:56.202578 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:42:56.217472 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:42:56.397560 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:05.957488 IP 10.255.127.1 > 224.0.0.1: igmp query v2 19:43:06.177387 IP 10.255.233.68 > 224.0.0.22: igmp v2 report 224.0.0.22 19:43:06.877298 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:06.887321 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:07.142308 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:10.886225 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:10.901231 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:11.267114 IP 10.255.127.16 > 224.0.0.22: igmp v3 report, 1 group record(s) 19:43:13.836187 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:43:13.846169 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:43:14.925215 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:43:15.382127 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:43:23.836924 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:44:06.281112 IP 10.255.127.1 > 224.0.0.1: igmp query v2 19:44:10.095863 IP 10.255.127.16 > 224.0.0.252: igmp v2 report 224.0.0.252 19:44:11.745837 IP 10.255.233.68 > 224.0.0.22: igmp v2 report 224.0.0.22
/tmp/igmpproxy.conf
##------------------------------------------------------ ## Enable Quickleave mode (Sends Leave instantly) ##------------------------------------------------------ quickleave phyint sis0 upstream ratelimit 0 threshold 1 altnet 212.49.127.0/24 phyint vr0 downstream ratelimit 0 threshold 1 phyint lo disabled
# netstat -rn Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default 91.191.250.25 UGS 0 1187329 sis0 91.191.250.24/29 link#1 UC 0 0 sis0 91.191.250.25 00:12:01:e0:94:80 UHLW 2 355 sis0 425 91.191.250.27 127.0.0.1 UGHS 0 0 lo0 127.0.0.1 127.0.0.1 UH 1 0 lo0 192.168.1.0/24 link#2 UC 0 0 vr0 192.168.1.10 00:1d:72:c6:37:75 UHLW 1 119174 vr0 1199 192.168.1.12 00:15:e9:69:c0:07 UHLW 1 25377 vr0 1016 192.168.1.255 ff:ff:ff:ff:ff:ff UHLWb 1 1 vr0
эта галка стоит в обоих правилах
мб я чтото упустил?)
-
Кто такой 10.255.127.16 ?
-
-
Дык на WAN вроде другая подсеть… странно, что провайдер маршрутизирует IGMP. Ну да фик с ними.
Я бы присоветовал прибить igmpproxy и запустить его с консоли:
igmpproxy -d -c /tmp/igmpproxy.conf
Вывод сюда пожалуйста.PS: howto напишу. Обязательно на русском?
-
Дык на WAN вроде другая подсеть… странно, что провайдер маршрутизирует IGMP. Ну да фик с ними.
тут такое дело
изначально всем выдается серый внешний ип + внутресевой ип вида 10...*
если же клиент заказывает былый ип то у него толи заберают этот внутресетевой ип и внешний становится ему равен, толи он остается, но посмотреть какой он нигде нельзяЯ бы присоветовал прибить igmpproxy и запустить его с консоли:
igmpproxy -d -c /tmp/igmpproxy.conf
Вывод сюда пожалуйста.# igmpproxy -d -c /tmp/igmpproxy.conf igmpproxy, Version 0.1 beta2, Build 090427 Copyright 2005 by Johnny Egeland <johnny@rlo.org>Distributed under the GNU GENERAL PUBLIC LICENSE, Version 2 - check GPL.txt Debu: Searching for config file at '/tmp/igmpproxy.conf' Debu: Config: Quick leave mode enabled. Debu: Config: Got a phyint token. Debu: Config: IF: Config for interface sis0. 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 212.49.127.0/24. Debu: Config: IF: Altnet: Parsed altnet to 212.49.127/24. Debu: IF name : sis0 Debu: Next ptr : 0 Debu: Ratelimit : 0 Debu: Threshold : 1 Debu: State : 1 Debu: Allowednet ptr : 2820c030 Debu: Config: Got a phyint token. Debu: Config: IF: Config for interface vr0. Debu: Config: IF: Got downstream token. Debu: Config: IF: Got ratelimit token '0'. Debu: Config: IF: Got threshold token '1'. Debu: IF name : vr0 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: IF name : lo Debu: Next ptr : 0 Debu: Ratelimit : 0 Debu: Threshold : 1 Debu: State : 2 Debu: Allowednet ptr : 0 Debu: Adding Physical Index value of IF 'sis0' is 1 Debu: buildIfVc: Interface sis0 Addr: 91.191.250.27, Flags: 0xffff8843, Network: 91.191.250.24/29 Debu: Adding Physical Index value of IF 'vr0' is 2 Debu: buildIfVc: Interface vr0 Addr: 192.168.1.1, Flags: 0xffff8843, Network: 192.168.1/24 Debu: Adding Physical Index value of IF 'lo0' is 3 Debu: buildIfVc: Interface lo0 Addr: 127.0.0.1, Flags: 0xffff8049, Network: 127/8 Debu: Found config for vr0 Note: adding VIF, Ix 0 Fl 0x0 IP 0x1bfabf5b sis0, Threshold: 1, Ratelimit: 0 Debu: Network for [sis0] : 91.191.250.24/29 Note: adding VIF, Ix 1 Fl 0x0 IP 0x0101a8c0 vr0, Threshold: 1, Ratelimit: 0 Debu: Network for [vr0] : 192.168.1/24 ERRO: There must be at least 2 Vif's where one is upstream. (vifcount 2, upStreamVif -1)</johnny@rlo.org>
PS: howto напишу. Обязательно на русском?
ну я думаю что желательно на русском)))