FreeBSD 8.0 + IPTV + igmpproxy

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
DarkLelik
проходил мимо

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение DarkLelik » 2010-06-08 10:29:26

fe_nix_666 писал(а):Люди у кого получилось заставить работать igmpproxy. Поделитесь конфигом, а то не работает вообще(((
Мой Вам совет . Откажитесь от IGMPproxy, Под FreeBsd он не cтабилен, падает или еще хуже машину намертво вешает . Много перепробовал, остановился на udpxy. Про настройку можно почитать http://darkbsd.net/index.php/article/35 ... eebsd.html

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Sasha_
проходил мимо

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение Sasha_ » 2010-10-29 23:57:34

Предварительно проверяем наличие IPTV на порту !!!
Работает , отлично , и на ноуте, который за DIR300 . И на компе .
с таким набором ... нащупал ...

Схема .
inet - (em0)Freebsd(rl1_10.11.6.200/23)
/
switch(гавно) ---------- winXP (10.11.6.40/23)
|
(10.11.7.200/23) dir300(192.168.200.200/24) - winXP(192.168.200.201/24)

8.0-RELEASE-p2 FreeBSD 8.0-RELEASE-p2 #2 - на 7.2 тот же набор - НЕ пошел !
набрел в статье , мол таки да ...
#ядро
### igmp
options MROUTING
### POLLING
options DEVICE_POLLING
options HZ=1000


# --------
igmpproxy - ставил из портов .
cat /usr/local/etc/igmpproxy.conf |grep -Evi '^#|^$'
quickleave
phyint em0 upstream ratelimit 0 threshold 1
altnet 10.5.200.1/32
# 10.5.200.1/32 - Freebsd провайдера у Вас другой , (не уверен , нужно ли ... )
# но
# tcpdump -vvv -nnpi rl1
# 23:05:48.488247 IP (tos 0xe0, ttl 62, id 0, offset 0, flags [DF], proto UDP (17), length 1344)
# 10.5.200.1.49152 > 238.0.16.41.1234: [no cksum] UDP, length 1316
### tcpdump -nnpi em0
#23:46:13.113268 IP 10.5.200.1.49152 > 238.0.16.41.1234: UDP, length 1316
## собсно поток .
phyint rl1 downstream ratelimit 0 threshold 1
phyint rl0 disabled
phyint ng0 disabled
phyint lo0 disabled
phyint plip0 disabled
# необходимо disabled - на ВСЕХ не нужных интерфейсах!
# --------------------------------- end /usr/local/etc/igmpproxy.conf


# === ipfw фильтрация (топор) (в гавно-свитч еще локалка была включена ...)
table\(33\) - em0_ip(внешний) и rl1_ip(внутренний)
/sbin/ipfw -q add 746 pass igmp from table\(33\) to 224.0.0.0/4
#/sbin/ipfw -q add 750 drop igmp from any to 224.0.0.0/4 in via rl1
#
#ващето , достатодчно кажется 224.0.0.2/32 ну мож еще 224.0.0.1/32
# лишнее провайдер обрезает . * сноска1 (в PS !)


#___ PF !!! (Natит , без этих строк - не работало .)
# less /etc/pf.conf
pass in proto igmp all allow-opts
pass out proto igmp all allow-opts


( process , его автозапуск rc.local
###### ps auwx |grep -i igmp
root 1054 0,0 0,1 3284 1100 v0- S 9:57 0:00,77 /usr/local/sbin/igmpproxy /usr/local/etc/igmpproxy.conf
#######less /usr/local/etc/rc.d/rc-local.sh
#igmpproxy
/usr/local/sbin/igmpproxy /usr/local/etc/igmpproxy.conf &
# - (амперсант в конце строки ... )
)


##### TCPDUMP
#rl1 (внутренний ) tcpdump -nnpi rl1 | grep -i 'igmp'
#- клацаю по каналу с WinXP 10.11.6.40
23:20:50.376602 IP 10.11.6.40 > 224.0.0.2: igmp leave 238.0.16.32
23:20:50.377349 IP 10.11.6.200 > 238.0.16.32: igmp query v2 [gaddr 238.0.16.32]
23:20:50.614001 IP 10.11.6.40 > 238.0.16.41: igmp v2 report 238.0.16.41
23:20:51.600241 IP 10.11.6.40 > 238.0.16.41: igmp v2 report 238.0.16.41
23:20:52.600325 IP 10.11.6.40 > 238.0.16.41: igmp v2 report 238.0.16.41

#em0 (внешний) tcpdump -nnpi em0 | grep -i 'igmp'
#- переключаю канал WinXP 10.11.6.40
23:27:00.550944 IP 99.99.99.200 > 224.0.0.2: igmp leave 238.0.16.39
23:27:00.567214 IP 99.99.99.254 > 238.0.16.39: igmp query v2 [max resp time 10] [gaddr 238.0.16.39]
23:27:00.685212 IP 99.99.99.200 > 238.0.16.27: igmp v2 report 238.0.16.27
23:27:00.745008 IP 99.99.99.254 > 238.0.16.39: igmp query v2 [max resp time 10] [gaddr 238.0.16.39]


## IPTVplayer на 2-х компах TRAFSHOW
10.5.200.1..49152 238.0.16.41..1234 udp 8211840 348364
10.5.200.1..49152 238.0.16.24..1234 udp 3338496 137088


Удачи ;)


PS
INET - dlink DES-3028 провайдера
на влане включен igmp_snooping
create mcast_filter_profile profile_id 1 profile_name qqq
create mcast_filter_profile profile_id 9 profile_name test
config mcast_filter_profile profile_id 1 add 224.0.0.2-224.0.0.2
(**сноска1 = !!! работает ... если открыть 224.0.0.0/24 - пров отключит за ALL GROUPS ! :) )
config mcast_filter_profile profile_id 9 add 238.0.0.0-238.255.255.255 (тут мультик ... )
show limited_multicast_addr ports 24 (мой)
Max Multicast Filter Group:
Port: 24
Profile Id: 1,9

Аватара пользователя
ttys
*BSD
Сообщения: 402
Зарегистрирован: 2009-06-26 8:37:11
Откуда: Ростов-на-Дону
Контактная информация:

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение ttys » 2010-10-30 14:29:16

GRooVE писал(а): Ядро:

Код: Выделить всё

options         ALTQ
options         ALTQ_CBQ
options         ALTQ_RED
options         ALTQ_RIO
options         ALTQ_HFSC
options         ALTQ_PRIQ
options         ALTQ_NOPCC
options         NETGRAPH
options         NETGRAPH_ETHER
options         NETGRAPH_SOCKET
options         NETGRAPH_TEE
options         NETGRAPH_MPPC_ENCRYPTION
options         NETGRAPH_BPF
options         NETGRAPH_IFACE
options         NETGRAPH_KSOCKET
options         NETGRAPH_PPP
options         NETGRAPH_PPTPGRE
options         NETGRAPH_TCPMSS
options         NETGRAPH_VJC
options         NETGRAPH_ONE2MANY
options         NETGRAPH_RFC1490
options         NETGRAPH_TTY
options         NETGRAPH_UI
options         IPFIREWALL
options         IPFIREWALL_NAT
options         IPFIREWALL_VERBOSE
options         IPFIREWALL_VERBOSE_LIMIT=100
options         IPFIREWALL_FORWARD
options         IPFIREWALL_DEFAULT_TO_ACCEPT
options         IPDIVERT
options         DUMMYNET
options         MROUTING
options         DEVICE_POLLING
options         HZ=2000
options         RADIX_MPATH
options         LIBALIAS
options         ROUTETABLES=2
нах тебе шейпер от pf? или он работает вместе с IPFIREWALL?

Leo Nazarov
проходил мимо

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение Leo Nazarov » 2011-02-22 1:22:12

Чуваки, я решил проблему!!!
FreeBSD 8.2-RELEASE, igmpproxy-0.1_1,1 из портов. ipf, ipnat. Ядро собрано с нужными опциями.
igmpproxy настраивал по инструкциям, всё было правильно и должно было работать, но не работало.

Проблему решила установка sysctl net.inet.igmp.sendra=0 (было 1).

Теперь полет нормальный.
Удачи!

Кондор
рядовой
Сообщения: 15
Зарегистрирован: 2011-04-21 14:51:59

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение Кондор » 2011-04-21 15:00:11

Народ! А победил кто-нибудь глухие зависоны сервера с igmpproxy? Лично у меня проблема такая... За шлюзом с igmpproxy стоит сервер IPTV, который забирает порядка сотни каналов у прова через этот шлюз и транслирует их хомячкам в сети. Так вот, с налёту всё работает нормально, каналы забираются и всё работает, но... При выключении сервера IPTV или "killall vlc" шлюз виснет наглухо. Пробовал перед перезагрузкой IPTV гасить igmpproxy - виснет от раза к разу. Сервак стоит далеко - не набегаешься reset нажимать :( Сейчас вот всё работает "не дыша", но, если что - опять бежать... Мож, есть рецепты? На серваке freebsd 7.4 (на 8.2 почему-то не поднялось нормально), igmpproxy из портов, "левые" интерфейсы в его конфиге загашены. Может, есть что-то другое на замену igmpproxy? Мне нужен только проброс igmp с одного интерфейса в другой. Причём на виртуальной машине не удалось получить такой же эффект, зараза.... :(

Аватара пользователя
VampireNF
ефрейтор
Сообщения: 60
Зарегистрирован: 2010-07-27 20:28:31
Откуда: Санкт-Петербург

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение VampireNF » 2011-12-16 18:25:02

Доброго всем времени суток! В продолжении темы про igmpproxy, у меня такая проблема: работал iptv в тестовом режиме и всё было прекрасно... до завершения теста. После теста большинство каналов стало зашифрованными, да для работы понадобился ViewRight PC Player. Остались 18 не зашифрованных каналов. Суть проблемы. Раньше всё работало через udpxy, но по понятным причинам такой подход более не состоятелен. Было решено настраивать igmpproxy. Дело не завелось. Тогда чтобы удостоверится, что IPTV вообще кажет на сервере был запущен VLC и в него закинут список не зашифрованных каналов, однако и он не захотел ничего показывать, хотя раньше работал, ведь он напрямую подключен к провайдеру. Вот что ловит tcpdump на интерфейсах.

Код: Выделить всё

Проход пакетов через маршрутизатор:
re0 - внутренняя сеть
em0 - внешняя сеть

# tcpdump -n -i re0 port 1234 or igmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on re0, link-type EN10MB (Ethernet), capture size 96 bytes
23:47:26.733813 IP 192.168.173.1 > 233.166.172.91: igmp v2 report 233.166.172.91
23:47:27.100340 IP 192.168.173.1 > 233.166.172.91: igmp v2 report 233.166.172.91
23:47:34.740898 IP 192.168.173.1 > 224.0.0.2: igmp leave 233.166.172.91
23:47:34.741047 IP 192.168.173.254 > 233.166.172.91: igmp query v2 [gaddr 233.166.172.91]
23:47:43.141995 IP 192.168.173.254 > 233.166.172.91: igmp query v2 [gaddr 233.166.172.91]
23:47:53.175569 IP 192.168.173.254 > 233.166.172.91: igmp query v2 [gaddr 233.166.172.91]
^C^C
6 packets captured
302 packets received by filter
0 packets dropped by kernel
# /usr/local/etc/rc.d/igmpproxy status
igmpproxy is running as pid 40590.
# tcpdump -vv -n -i em0 port 1234 or igmp
tcpdump: listening on em0, link-type EN10MB (Ethernet), capture size 96 bytes
23:47:26.866791 IP (tos 0xc0, ttl 1, id 1936, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
 10.82.198.109 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 233.166.172.91 to_ex { }]
23:47:27.072764 IP (tos 0xc0, ttl 1, id 3093, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
 10.82.198.109 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 233.166.172.91 to_ex { }]
23:47:34.938885 IP (tos 0xc0, ttl 1, id 39642, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
 10.82.198.109 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 233.166.172.91 to_in { }]
23:47:37.162906 IP (tos 0xc0, ttl 1, id 57848, offset 0, flags [DF], proto IGMP (2), length 40, options (RA))
 10.82.198.109 > 224.0.0.22: igmp v3 report, 1 group record(s) [gaddr 233.166.172.91 to_in { }]
^C
4 packets captured
158604 packets received by filter
0 packets dropped by kernel
Пробовал ставить переменную sysctl определяющую дефолтную версию IGMP в значение 2 (после этого перезагружался, т.к. наткнулся на англоязычный источник, что переменная вступает в силу до включения интерфейса и подключения к нему ИП), однако на внешнем интерфейсе всё равно 3-я версия летает. На сколько я понимаю провайдер работает на 2-ой. Но опять же повторюсь - раньше всё работало. На вопрос у провайдера "а работает ли тут у нас IPTV" они ответили "должно работать", многообещающе...

nero777
проходил мимо

Re: FreeBSD 8.0 + IPTV + igmpproxy

Непрочитанное сообщение nero777 » 2011-12-19 18:35:58

GRooVE писал(а):Если есть возможность, покажите, пожалуйста, вывод tcpdump'а на внешнем и внутреннем интерфейсах в момент инициализации и уже во время просмотра IPTV.
Заранее благодарен!
можешь и trafshow. лично я им пользовался,когда искал их сетку!