IPtv multicast
-
Сначала опишу свою ситуацию, может быть у кого есть похожая.
Есть два провайдера. Первый раздаёт интернет через PPTP, а второй - раздаёт интернет через ADSL, одновременно он же является оператором предоставления услуг IPTV, тоже по технологии ADSL. Интернет и IPTV у последнего провайдера висят на разных VPI/VCI-каналах.
Что я сделал. Чтобы не покупать 2-WAN-овый роутер, я достал свой старый комп (PII-266/320M) и всунул туда 4 сетевухи Realtek :)Скачал и установил pfSense, версия 1.2.3 (сборка LiveCD ), типа последняя из стабильных. Настойка и превращение старого компа в роутер прошла практически без проблем.
Шнур от первого провайдера воткнул в rl0 (это WAN), ADSL-модем воткнул в rl1 (это OPT1), а rl2 назначил в качестве LAN-интерфейса, и его соединил с рабочим компом.Короче, проблема. Интернет трафик от первого и второго провайдера проходят, а IPTV от последнего - нет, в логах пишет, что заблокированы IGMP-пакеты, хотя в рулах тупо поставил Pass any any и поднял bridge между LAN и OPT1 интерфейсами, поставил галку System -> Advansed -> "Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic", кстати, в своей версии pfSense я не обнаружил опцию "This allows packets with ip options to pass otherwise they are blocked by default i.e. with multicast routing/proxing." (Rules -> Edit -> Advanced options) :(
Когда на ADSL-модеме стоит режим bridge, и между LAN и OPT1 тоже проброшен bridge, то я без проблем могу поднять виртуальное PPPoE соединение на рабочем компе, и интернет трафик от второго прова (тот который ADSL) спокойно проходит через роутер, но при прочих равных в режиме IPTV, этот канал к сожалению не фурычит :(Вопросы:
1. Что надо сделать, чтобы pfSense пропускал IGMP-пакеты через роутер ?
2. Поможет ли установка pfSense, версия 2 (последней бэты, LiveCD), и прикручивание к нему демона igmpproxy? Да, и насколько нужен этот демон, если смотреть IPTV буду я один, да и то лишь через бридж на OPT1, без ретрансляции далее в локальную сетку.Конфигурация рабочего компа:
Ось: Vista, в брандмауэре IGMP протокол разрешён через "Брандмауэр Windows в режиме повышенной безопасности"
Плеер: "IP-TV Player", если воткнуть ADSL-модем непосредственно в комп, то есть без роутера, IPTV тоже прекрасно работает.Заранее спасибо за ответы и с Новым Годом ! :)
ПС. Всё таки неплохо бы увидеть подробный HOWTO с решением проблемы IGMP в pfSense …
-
кстати, в своей версии pfSense я не обнаружил опцию "This allows packets with ip options to pass otherwise they are blocked by default i.e. with multicast routing/proxing." (Rules -> Edit -> Advanced options)
Эта опция появляется, когда устанавливаешь пакет igmpproxy.
По твоей ситуации - я не работал с bridge между двумя интерфейсами, поэтому точно не скажу. Но на сколько я понимаю "бриджей", нужно сделать следующее.
1. Установить пакет igmpproxy - только для того, чтобы появилось поле "allow ip options".
2. Остановить сервис igmpproxy (если запустился)
3. На OPT1 и LAN создать правила, разрешающие IGMP с "allow ip options".pfSense 2.0 пробовать можно, но на свой страх и риск, ибо сырой ещё.
-
2 Eugene
Всё сделал по твоёму, igmpproxy запустился, галку поставил, потом я его снёс, а галка осталась ;D
версия роутера 1.2.3
Кстати, опция "Disables the PF scrubbing option which can sometimes interfere with NFS and PPTP traffic" оказалась не нужнаЩаз смотрю IPTV, спасибо :)
Выкладываю сюда страничку с рабочими настройками проброса моста между OPT1 и LAN интерфейсами
-
Вот и славненько, будем знать, что и с бриджом работает.
-
Howto
Я свято и наивно верю, что если человек понимает, что он делает, то он делает это намного эффективнее, чем если просто тупо следует алгоритму, а посему - немного теории.
Смотрим схему - PC1 хочет смотреть IPTV.
(1) player генерирует IGMP-report, тем самым говоря, что хочет получать multicast поток с неким multicast адресом (пусть будет 239.0.0.1), multicast поток - это поток UDP пакетов (звук + изображение). Разные multicast адреса - разные каналы. Данный IGMP-report также является multicast пакетом, потом транслируется локальным свичом на все порты (в пределах сегмента сети), т.е. его получают все устройства, подключенные к данному свичу (если свич не шибко умный).
(2) Но всем устройствам глубоко фиолетово на этот IGMP-report, однако, только не pfSense'у с работающим igmpproxy, который осознаёт, что у него на LAN появилось какое-то устройство, жаждущее получить multicast-поток с адресом 239.0.0.1. LAN на данной схеме в терминологии igmpproxy является Downstream интерфейсов, т.е. интерфейс, где находится получатель(и) потока. Теперь pfSense'у надо где-то взять этот поток и он формирует IGMP-report на Upstream интерфейсе (WAN), надеясь поиметь этот поток с провайдера. Заметим, что это не пакет (1) просто смаршрутизированный на WAN интерфейс, это совершенно новый пакет, сгенерированный самим pfSense'ом (хотя это сути не меняет).
(3) Устройство провайдера, получив, IGMP-report с интересным адресом 239.0.0.1 восклицает "ба! да здесь кто-то хочет смотреть первый канал!" и начинает лупить в вашу сторону UDP-поток с destination IP address 239.0.0.1.
(4) pfSense уже знает, кто хочет смотреть первый канал, ибо на шаге (2) igmpproxy ядру сказал, что этот поток желают на интерфейсе LAN и ядро FreeBSD уже без какого-либо участия igmpproxy начинает маршрутизировать этот UDP поток на LAN-интерфейс, где благодарные пользователи видят оживший экран своего Player'а.Процедура установки/конфигурирования.
1. Установить пакет igmpproxy из System->Packages
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
3. Создать правило на WAN-интерфейсе в Firewall->Rules
Pass Proto=UDP Destination=224.0.0.0/4
Save/Apply
4. Сконфигурировать igmpproxy в Services->IGMP proxy. Сделать LAN Downstream, а WAN Upstream.
5. Проверить, что igmpproxy запустился в Status->Services.Всё, в 90% случаев это заработает.
Опционные шаги:
6. Сложный случай раз - провайдер вещает из какой-то сети, отличной от той, что прописана на Upstream (от 1.1.1.0/24 на моей диаграмме), например с адреса 3.4.5.42. Необходимо в конфигурации igmpproxy на Upstream интерфейсе добавить эту сеть в Networks - 3.4.5.0/24 (можно 3.4.5.42/32 для пущего страха).
7. Сложный случай два - у вас крутая сеть и на pfSense LAN есть маршрутизатор, который может маршрутизировать multicast пакеты и за этим маршрутизатором, скажем в сети 10.10.10.0/24, есть устройство, которое хочет смотреть первый канал. Необходимо в конфигурации igmpproxy на Downstream интерфейсе добавить эту сеть в Networks. Возможно, придётся создать правило, аналогичное пункту 2 для данной сети, хотя врядли (зависит от того, как работает этот маршрутизатор).
8. Сложный случай три - это одновременно имеем сложные случаи раз и два. Выполняем пункты 6 и 7.PS: правила могут быть (и должны быть) жёстче, здесь приведён пример, аналогичный "разрешить всё" для обычного трафика.
PPS: UDP-поток IPTV - это обычно много маленьких пакетов, т.е. довольно интенсивная нагрузка на pfSense, если изображение рассыпается, посмотрите на нагрузку - тянет ли Ваше железо.
PPPS: наверняка что-то забыл, поправки и вопросы приветствуются.Рекомендовано чтение: IGMP protocol.
-
Добавлю свои пять копеек.
У меня милая для России конфигурация сети
локальный IP по DHCP + PPPoE всё это добро на одной сетевухе. PFsense такие конфигурации штатно не поддерживает.IPTV ходит ес-но по локалке.
нам нужно получить локальный IP на интерфейсе WAN.
Делаем согласно http://forum.pfsense.org/index.php/topic,2996.msg17972.html#msg17972
я дописал в config.xml<system>.... <shellcmd>dhclient vr0;</shellcmd></system>
ну и есно загрузить этот конфиг (делаем бекап, правим его ручками, делаем Restore)
остальное согласно предыдущего поста.
прописать правила для мультикаст на WAN и LAN
и настроить igmpproxy
пример моей настройки на скриншотеP.S.
Спасибо "Eugene" за помошь ;D
P.P.S.
Как показала практика этой настройки не хватает для полностью автоматической работы. Необходимо, чтобы в настройках igmpproxy Upstream указывал на физический интерфейс сетевой платы, а не на PPPoe.
Пока приходится в файле igmpproxy.conf править ручками интерфейс, например для меня, ng0 -> vr0
Сейчас думаю как изменить скрипт генерации конфига для igmpproxy для автоматизации этого процесса.
-
Подскажите, откуда можно установить igmpproxy, работающую версию. Версия ж из пакетов не рабочая, я правильно понял?
-
Почему нерабочая, должна быть рабочей.
-
Пару страниц назад было о том, что версия 0.1 бета не дает нужного эффекта, а в пакетах именно эта версия.
Хотя может причина неудачи в моих настройках, несмотря на подробную инструкцию. -
@TEN:
Пару страниц назад было о том, что версия 0.1 бета не дает нужного эффекта, а в пакетах именно эта версия.
Эти циферки ничего не значат. Пробуй смело.
-
Помогите пожалуйста, у меня не получается настроить. Сделано по инструкции, вроде бы с пониманием процесса, но результат нулевой. Не знаю, нужно ли выкладывать результат tcpdump и какого интерфейса?
-
Для начала нужно выложить скриншоты своих настроих вместе с конфигурацией/правилами интерфейсов.
Далее нужно выложить лог Status->System log после того, как нажал Save на Services->Igmpproxy
Надеюсь следовал вот этому руководству, когда настраивал 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 ? -
Настраивал по руководству.
Лог:Jun 10 20:01:37 igmpproxy: Warn: select() failure; Errno(4): Interrupted system call Jun 10 20:01:37 igmpproxy: Note: Got a interupt signal. Exiting. Jun 10 20:01:37 igmpproxy: Note: Route is not active. No kernel updates done. Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 224.0.0.2 on vr0 Jun 10 20:01:37 igmpproxy: Note: Route is not active. No kernel updates done. Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 224.0.0.22 on vr0 Jun 10 20:01:37 igmpproxy: Note: Removing MFC: 192.168.0.100 -> 239.192.152.143, InpVIf: 1 Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 239.192.152.143 on vr0 Jun 10 20:01:37 igmpproxy: Note: Route is not active. No kernel updates done. Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 239.255.255.250 on vr0 Jun 10 20:01:37 igmpproxy: Note: Route is not active. No kernel updates done. Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 224.0.0.252 on vr0 Jun 10 20:01:37 igmpproxy: Note: Route is not active. No kernel updates done. Jun 10 20:01:37 igmpproxy: Note: leaveMcGroup: 224.0.0.253 on vr0 Jun 10 20:01:37 igmpproxy: Note: All routes removed. Routing table is empty. Jun 10 20:01:37 igmpproxy: Note: adding VIF, Ix 0 Fl 0x0 IP 0xd98496b2 vr0, Threshold: 1, Ratelimit: 0 Jun 10 20:01:37 igmpproxy: Note: adding VIF, Ix 1 Fl 0x0 IP 0x0100a8c0 rl0, Threshold: 1, Ratelimit: 0 Jun 10 20:01:37 igmpproxy: Note: joinMcGroup: 224.0.0.2 on rl0 Jun 10 20:01:37 igmpproxy: Note: RECV V2 member report from 192.168.0.1 to 224.0.0.2 (ip_hl 24, data 8) Jun 10 20:01:37 igmpproxy: Note: The IGMP message was from myself. Ignoring. Jun 10 20:01:37 igmpproxy: Note: RECV Membership query from 192.168.0.1 to 224.0.0.1 (ip_hl 20, data 8) Jun 10 15:01:37 php: /pkg_edit.php: Started Igmpproxy service sucsesfully. Jun 10 20:01:38 igmpproxy: Note: RECV V2 member report from 192.168.0.101 to 239.255.255.250 (ip_hl 24, data 8) Jun 10 20:01:38 igmpproxy: Note: joinMcGroup: 239.255.255.250 on vr0 Jun 10 20:01:39 igmpproxy: Note: RECV V2 member report from 192.168.0.100 to 239.192.152.143 (ip_hl 24, data 8) Jun 10 20:01:39 igmpproxy: Note: joinMcGroup: 239.192.152.143 on vr0
Что-то еще добавить нужно?
-
vr0 - это WAN?
тогда надо тисипидампить во время запуска плэйера на LAN.tcpdump -ni vr0 igmp or udp
-
Да, vr0 - WAN
LAN - rl0# tcpdump -ni rl0 igmp or udp tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on rl0, link-type EN10MB (Ethernet), capture size 96 bytes 20:51:53.252164 IP 192.168.0.100 > 238.0.0.4: igmp v2 report 238.0.0.4 20:51:53.414241 IP 192.168.0.100 > 238.0.0.4: igmp v2 report 238.0.0.4 20:51:55.236512 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:51:55.237021 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:51:55.237060 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:51:55.237101 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:51:57.373569 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:51:57.374028 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:51:57.374069 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:51:57.374115 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:51:59.624073 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:51:59.624503 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:51:59.624538 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:51:59.624578 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:51:59.914501 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:01.914557 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:03.914586 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:07.732159 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:07.732611 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:07.732661 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:07.732687 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:09.973157 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:09.973561 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:09.973598 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:09.973642 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:12.075826 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:12.076354 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:12.076389 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:12.076416 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:12.413752 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:14.413807 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:16.413848 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:17.557834 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:17.558491 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:17.558603 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:19.256206 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:19.256669 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:20.863579 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:20.864009 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:20.864047 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:20.864104 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:21.251113 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:21.251894 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:22.414086 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:24.355013 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:24.356072 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:24.356116 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:24.356156 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:24.413995 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:25.414034 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:26.414955 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:27.257004 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:27.258074 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:27.413977 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:27.900092 IP 192.168.0.100.65346 > 194.95.249.23.36653: UDP, length 0 20:52:29.258588 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:29.259077 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:29.413161 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:31.258475 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:31.258857 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:31.484978 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:31.485452 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:31.485497 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:31.485550 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:33.468985 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:33.469456 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:33.469501 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:33.469534 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:33.913295 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:35.913280 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:35.965227 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:35.965604 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:35.965661 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:35.965719 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:36.413270 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:37.913306 IP 192.168.0.100.64343 > 94.245.115.188.3544: UDP, length 56 20:52:38.413314 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:38.756182 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:38.756502 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:39.415875 IP 192.168.0.1 > 224.0.0.1: igmp query v2 20:52:39.645891 IP 192.168.0.2 > 239.255.255.250: igmp v2 report 239.255.255.250 20:52:40.413348 IP 192.168.0.100 > 238.0.0.4: igmp v2 report 238.0.0.4 20:52:40.413492 IP 192.168.0.100.64343 > 65.55.158.118.3544: UDP, length 60 20:52:40.753350 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:40.753751 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:42.375057 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:42.375735 IP 192.168.0.100.64343 > 192.168.1.101.50616: UDP, length 52 20:52:42.375790 IP 192.168.0.100.64343 > 24.168.4.135.50616: UDP, length 52 20:52:42.375849 IP 192.168.0.100.57722 > 24.168.4.135.50616: UDP, length 56 20:52:42.753373 IP 65.55.158.118.3544 > 192.168.0.100.64343: UDP, length 56 20:52:42.753795 IP 192.168.0.100.64343 > 194.28.96.112.63351: UDP, length 52 20:52:42.835922 IP 192.168.0.2 > 224.0.0.2: igmp v2 report 224.0.0.2 20:52:43.025919 IP 192.168.0.2 > 224.0.0.22: igmp v2 report 224.0.0.22
Насколько большой лог нужен? Тут вроде много лишнего проходит.
-
Пардон, я просил на WAN трэйс. И пожалуй так:
tcpdump -ni vr0 'net 224.0.0.0/4 and (igmp or udp)'
-
# tcpdump -ni vr0 'net 224.0.0.0/4 and (igmp or udp)' tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on vr0, link-type EN10MB (Ethernet), capture size 96 bytes 08:14:23.714638 IP 109.87.26.130.59599 > 224.0.0.252.5355: UDP, length 28 08:14:23.822971 IP 109.87.26.130.59599 > 224.0.0.252.5355: UDP, length 28 08:14:24.369295 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0 [1n] ANY (QU)? admin.local. (45) 08:14:24.639453 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? admin.local. (45) 08:14:24.915597 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? admin.local. (45) 08:14:25.180254 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:14:26.194203 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:14:27.881085 IP 109.87.26.130.60061 > 224.0.0.252.5355: UDP, length 24 08:14:27.990525 IP 109.87.26.130.60061 > 224.0.0.252.5355: UDP, length 24 08:14:28.206968 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:14:30.588199 IP 109.87.26.130.64045 > 224.0.0.252.5355: UDP, length 24 08:14:30.698161 IP 109.87.26.130.64045 > 224.0.0.252.5355: UDP, length 24 08:14:31.505454 IP 109.87.26.130.56407 > 224.0.0.252.5355: UDP, length 28 08:14:31.614918 IP 109.87.26.130.56407 > 224.0.0.252.5355: UDP, length 28 08:14:32.234957 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:14:33.144124 IP 109.87.26.130.59788 > 224.0.0.252.5355: UDP, length 24 08:14:33.243099 IP 109.87.26.130.59788 > 224.0.0.252.5355: UDP, length 24 08:14:33.309971 IP 109.87.26.130.51822 > 224.0.0.252.5355: UDP, length 22 08:14:33.405161 IP 109.87.26.130.51822 > 224.0.0.252.5355: UDP, length 22 08:14:35.698877 IP 109.87.26.130.57927 > 224.0.0.252.5355: UDP, length 24 08:14:35.798241 IP 109.87.26.130.57927 > 224.0.0.252.5355: UDP, length 24 08:14:35.955160 IP 109.87.26.130.63367 > 224.0.0.252.5355: UDP, length 28 08:14:36.061149 IP 109.87.26.130.63367 > 224.0.0.252.5355: UDP, length 28 08:14:36.267033 IP 109.87.26.130.57282 > 224.0.0.252.5355: UDP, length 28 08:14:36.378803 IP 109.87.26.130.57282 > 224.0.0.252.5355: UDP, length 28 08:14:38.285867 IP 109.87.26.130.53936 > 224.0.0.252.5355: UDP, length 22 08:14:38.293382 IP 109.87.26.130.52116 > 224.0.0.252.5355: UDP, length 24 08:14:38.385692 IP 109.87.26.130.53936 > 224.0.0.252.5355: UDP, length 22 08:14:38.401228 IP 109.87.26.130.52116 > 224.0.0.252.5355: UDP, length 24 08:14:40.242316 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:14:56.249014 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:15:28.262582 IP 109.87.26.130.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/0 (Cache flush) A 109.87.26.130, (79) 08:15:31.077672 IP 109.87.26.254 > 224.0.0.1: igmp query v2 08:15:47.404714 IP 109.87.26.232.54763 > 224.0.0.252.5355: UDP, length 37 08:15:47.507803 IP 109.87.26.232.54763 > 224.0.0.252.5355: UDP, length 37 08:15:51.423698 IP 109.87.26.232.61174 > 224.0.0.252.5355: UDP, length 24 08:15:51.532471 IP 109.87.26.232.61174 > 224.0.0.252.5355: UDP, length 24 08:15:52.131484 IP 109.87.26.232.50376 > 224.0.0.252.5355: UDP, length 37 08:15:52.234358 IP 109.87.26.232.50376 > 224.0.0.252.5355: UDP, length 37 08:15:53.663991 IP 109.87.26.232.53401 > 224.0.0.252.5355: UDP, length 22 08:15:53.763308 IP 109.87.26.232.53401 > 224.0.0.252.5355: UDP, length 22 08:15:56.868791 IP 109.87.26.232.62173 > 224.0.0.252.5355: UDP, length 24 08:15:56.884262 IP 109.87.26.232.64970 > 224.0.0.252.5355: UDP, length 37 08:15:56.968743 IP 109.87.26.232.62173 > 224.0.0.252.5355: UDP, length 24 08:15:56.983624 IP 109.87.26.232.64970 > 224.0.0.252.5355: UDP, length 37 08:15:57.185358 IP 109.87.26.232.52903 > 224.0.0.252.5355: UDP, length 37 08:15:57.283714 IP 109.87.26.232.52903 > 224.0.0.252.5355: UDP, length 37 08:15:58.596371 IP 109.87.26.232.64077 > 224.0.0.252.5355: UDP, length 22 08:15:58.695848 IP 109.87.26.232.64077 > 224.0.0.252.5355: UDP, length 22 08:15:59.425308 IP 109.87.26.232.51472 > 224.0.0.252.5355: UDP, length 24 08:15:59.513185 IP 109.87.26.232.49872 > 224.0.0.253.3544: UDP, length 40 08:15:59.524937 IP 109.87.26.232.51472 > 224.0.0.252.5355: UDP, length 24 08:16:02.365438 IP 109.87.26.232.49250 > 224.0.0.252.5355: UDP, length 24 08:16:02.465198 IP 109.87.26.232.49250 > 224.0.0.252.5355: UDP, length 24 08:16:04.954001 IP 109.87.26.232.60699 > 224.0.0.252.5355: UDP, length 24 08:16:05.062508 IP 109.87.26.232.60699 > 224.0.0.252.5355: UDP, length 24 08:16:07.559319 IP 109.87.26.232.56114 > 224.0.0.252.5355: UDP, length 24 08:16:07.667819 IP 109.87.26.232.56114 > 224.0.0.252.5355: UDP, length 24 08:16:10.160634 IP 109.87.26.232.62911 > 224.0.0.252.5355: UDP, length 24 08:16:10.269412 IP 109.87.26.232.62911 > 224.0.0.252.5355: UDP, length 24
-
И во время этого tcpdump'а ты пробовал подключаться к каналу 239.192.152.143? или к чему-нидь с 239. сетки?
Что-то не работает igmpproxy….
Дай на всякий случай```
pfctl -srпотом придётся debug'ить igmpproxy, если ничего не увидим.
-
Запускаю тисидамп, запускаю плеер, он пытается конектиться. Адрес канала я точно не знаю, в плейлисте и настройках плеера прописаны 238.0.х.х.
# pfctl -sr scrub all random-id fragment reassemble anchor "ftpsesame/*" all anchor "firewallrules" all block drop quick proto tcp from any port = 0 to any block drop quick proto udp from any port = 0 to any block drop quick proto tcp from any to any port = 0 block drop quick proto udp from any to any port = 0 block drop quick from <snort2c>to any label "Block snort2c hosts" block drop quick from any to <snort2c>label "Block snort2c hosts" anchor "loopback" all pass in quick on lo0 all flags S/SA keep state label "pass loopback" pass out quick on lo0 all flags S/SA keep state label "pass loopback" anchor "packageearly" all anchor "carp" all pass quick inet proto icmp from 178.150.132.217 to any keep state anchor "dhcpserverlan" all pass in quick on rl0 inet proto udp from any port = bootpc to 255.255.255.255 port = bootps keep state label "allow access to DHCP server on LAN" pass in quick on rl0 inet proto udp from any port = bootpc to 192.168.0.1 port = bootps keep state label "allow access to DHCP server on LAN" pass out quick on rl0 inet proto udp from 192.168.0.1 port = bootps to any port = bootpc keep state label "allow access to DHCP server on LAN" block drop in log quick on vr0 inet proto udp from any port = bootps to 192.168.0.0/24 port = bootpc label "block dhcp client out wan" pass in quick on vr0 proto udp from any port = bootps to any port = bootpc keep state label "allow dhcp client out wan" block drop in on ! rl0 inet from 192.168.0.0/24 to any block drop in inet from 192.168.0.1 to any block drop in on rl0 inet6 from fe80::211:5bff:fe26:6337 to any anchor "spoofing" all anchor "spoofing" all block drop in on ! vr0 inet from 178.150.132.0/24 to any block drop in inet from 178.150.132.217 to any block drop in on vr0 inet6 from fe80::224:1dff:fe8d:e91a to any block drop in log quick on vr0 inet from 10.0.0.0/8 to any label "block private networks from wan block 10/8" block drop in log quick on vr0 inet from 127.0.0.0/8 to any label "block private networks from wan block 127/8" block drop in log quick on vr0 inet from 172.16.0.0/12 to any label "block private networks from wan block 172.16/12" block drop in log quick on vr0 inet from 192.168.0.0/16 to any label "block private networks from wan block 192.168/16" anchor "limitingesr" all block drop in quick from <virusprot>to any label "virusprot overload table" anchor "wanbogons" all block drop in log quick on vr0 from <bogons>to any label "block bogon networks from wan" pass out quick on rl0 proto icmp all keep state label "let out anything from firewall host itself" pass out quick on vr0 proto icmp all keep state label "let out anything from firewall host itself" pass out quick on vr0 all flags S/SA keep state allow-opts label "let out anything from firewall host itself" anchor "firewallout" all pass out quick on vr0 all flags S/SA keep state allow-opts label "let out anything from firewall host itself" pass out quick on rl0 all flags S/SA keep state allow-opts label "let out anything from firewall host itself" pass out quick on enc0 all flags S/SA keep state label "IPSEC internal host to host" anchor "anti-lockout" all pass in quick on rl0 inet from any to 192.168.0.1 flags S/SA keep state label "anti-lockout web rule" block drop in log proto tcp from <sshlockout>to any port = ssh label "sshlockout" anchor "ftpproxy" all anchor "pftpx/*" all pass in quick on vr0 inet proto udp from any to 224.0.0.0/4 keep state label "USER_RULE" pass in quick on vr0 inet proto tcp from any to 192.168.0.100 port = krb524 flags S/SA keep state label "USER_RULE: NAT " pass in quick on vr0 inet proto udp from any to 192.168.0.100 port = 4445 keep state label "USER_RULE: NAT " pass in quick on rl0 inet proto igmp from 192.168.0.0/24 to 224.0.0.0/4 keep state allow-opts label "USER_RULE" pass in quick on rl0 inet from 192.168.0.0/24 to any flags S/SA keep state allow-opts label "USER_RULE: Default LAN -> any" pass in quick on rl0 inet proto tcp from any to 127.0.0.1 port = ftp-proxy flags S/SA keep state label "FTP PROXY: Allow traffic to localhost" pass in quick on rl0 inet proto tcp from any to 127.0.0.1 port = ftp flags S/SA keep state label "FTP PROXY: Allow traffic to localhost" pass in quick on vr0 inet proto tcp from any port = ftp-data to (vr0) port > 49000 flags S/SA keep state label "FTP PROXY: PASV mode data connection" anchor "imspector" all anchor "miniupnpd" all block drop in log quick all label "Default block all just to be sure." block drop out log quick all label "Default block all just to be sure."</sshlockout></bogons></virusprot></snort2c></snort2c>
-
cat /tmp/igmpproxy.conf
и потом останавливаем сервис
killall igmpproxy
И запускаем его из консоли
/usr/local/sbin/igmpproxy -d -c /tmp/igmpproxy.conf