grfmaniak Posted August 7, 2023 Нужно пробросить multicast в локалку, причем он доступен отдельным подключением, независимо от входящего интернетовского потока. Если просто воткнуть этот шнурок с мультикастом в коммутатор, то все отлично работает. Но хочется обойтись одной cisco 2901. В этой 2901 стоит модуль 4esw с 4мя портами FE и два гиговых порта встроенных. gig0/0 - подключение к инету, NAT outside gig0/1 - смотрит в локалку, NAT inside, туда включен неуправляемый коммутатор и клиенты - комп, stb на которых требуется получить мультикаст. fe0/0/0 - сюда подключаем входящий мультикаст, на той стороне cisco 2950 с MVR, т.е. изначально оттуда ничего не льется Затык в том, что в порт gig0/1 мультикаст ну никак не хочет литься, в то время как если воткнуть ноут в любой порт модуля 4esw, то все приекрасно работает. Оно и понятно - там и источник иприемник получаются в одном VLAN. Но мне-то надо получить мультикаст на коммутаторе, который воткнут в порт gig0/1. А вот туда его циска упорно не желает перекладывать. Хотя подписки на группы она на этом интерфейсе видит. Конфиг 2901: ip multicast-routing interface GigabitEthernet0/0 ip address 192.168.111.2 255.255.255.0 ip nat outside ip virtual-reassembly in duplex auto speed auto ! interface GigabitEthernet0/1 description LAN ip address 192.168.110.1 255.255.255.0 ip pim sparse-dense-mode ip nat inside ip virtual-reassembly in duplex auto speed auto ! interface FastEthernet0/0/0 description IPTV switchport access vlan 9 no ip address vlan-id dot1q 9 exit-vlan-config ! ! interface FastEthernet0/0/1 switchport access vlan 9 no ip address vlan-id dot1q 9 exit-vlan-config ! ! interface Vlan9 ip address 192.168.112.1 255.255.255.0 ip pim sparse-dense-mode ! ip pim rp-address 192.168.112.1 igmp snooping включаю, в конфиге эти строки почему-то не выводятся, но сам снупинг включен: cisco2901#sh ip igmp snooping Global IGMP Snooping configuration: ----------------------------------- IGMP snooping : Enabled IGMPv3 snooping support : Basic Report suppression : Enabled Last Member Query Interval : 1000 Vlan 1: -------- IGMP snooping : Enabled IGMPv2 immediate leave : Disabled Multicast router learning mode : pim-dvmrp Last Member Query Interval : 1000 CGMP interoperability mode : IGMP_ONLY Vlan 9: -------- IGMP snooping : Enabled IGMPv2 immediate leave : Disabled Multicast router learning mode : pim-dvmrp Last Member Query Interval : 1000 CGMP interoperability mode : IGMP_ONLY В порту с мультикастом успешно обнаружен mrouter: cisco2901#sh ip pim neighbor PIM Neighbor Table Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority, P - Proxy Capable, S - State Refresh Capable, G - GenID Capable, L - DR Load-balancing Capable Neighbor Interface Uptime/Expires Ver DR Address Prio/Mode 172.16.2.254 Vlan9 00:00:43/00:01:30 v2 1 / S P G cisco2901#sh ip igmp snooping mrouter Vlan ports ---- ----- 9 Fa0/0/0(dynamic), Пытаюсь подписаться на группу: cisco2901#sh ip igmp gr IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter Group Accounted 239.255.255.250 GigabitEthernet0/1 00:01:37 00:02:26 192.168.110.200 239.192.10.1 GigabitEthernet0/1 00:00:29 00:02:30 192.168.110.3 224.0.1.40 GigabitEthernet0/1 00:01:38 00:02:21 192.168.110.1 cisco2901#sh ip pim rp Group: 239.255.255.250, RP: 192.168.112.1, next RP-reachable never Group: 239.192.10.1, RP: 192.168.112.1, next RP-reachable never Group: 224.0.1.40, RP: 192.168.112.1, next RP-reachable never Но поток в gig0/0 не льется и на fa0/0/0 (там источник мультикаста) подписка не появляется. Можно, конечно, просто воткнуть кабель с мультикастом в обход 2901 сразу в неуправляемый коммутатор (который включен в gig0/1), и тогда оно работает, но почему на 2901 не получается? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sol Posted August 7, 2023 Так не получится. Передающая сторона ничего не знает про вашу внутреннюю (за НАТом) сеть. Нужен или IGMP Proxy или надо сбриджевать порты источника и приёмника мультикаста. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 8, 2023 13 часов назад, sol сказал: Так не получится. Передающая сторона ничего не знает про вашу внутреннюю (за НАТом) сеть. Нужен или IGMP Proxy или надо сбриджевать порты источника и приёмника мультикаста. Передающая сторона вообще не знает ни о каких сетях, зато сама 2901 о всех сетях знает и умеет multicast-routing, что ей мешает начать роутить между своими собственными интерфейсами vlan9 и gig0/1 ? 🙂 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
sol Posted August 8, 2023 13 часов назад, grfmaniak сказал: Передающая сторона вообще не знает ни о каких сетях Это верно, принимающая сторона на НАТом, для передатчика её нет. 13 часов назад, grfmaniak сказал: зато сама 2901 о всех сетях знает и умеет multicast-routing Тоже верно. 13 часов назад, grfmaniak сказал: что ей мешает начать роутить между своими собственными интерфейсами vlan9 и gig0/1 А с чего-бы передающей стороне начать слать в сторону этой циски какой либо мультикаст, если подписант на группу находится ЗА НАТом и передатчик не видит этой подписки? Вам нужен функционал igmp-proxy. Циска в это умеет, загуглите. Надо чтобы она передавала запросы о подписке на группы от своего имени. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 8, 2023 1 час назад, sol сказал: Это верно, принимающая сторона на НАТом, для передатчика её нет. Вам нужен функционал igmp-proxy. Циска в это умеет, загуглите. Надо чтобы она передавала запросы о подписке на группы от своего имени. Принимающая сторона не за NATом, NAT делается на интерфейсе gig0/0, а multicast живет в интерфейсе inv vlan9 (физический fa0/0/0), в ту сторону никакого ната нет. igmp-proxy я пробовал, он тоже не работает. Мануал там описывает настройку на двух роутерах, а не в пределах одного. Если делать по мануалу, через Loopback, то получается так: interface Loopback2 ip address 192.168.113.1 255.255.255.0 ip pim sparse-mode ip igmp helper-address udl Vlan9 ip igmp proxy-service ! interface GigabitEthernet0/1 description Home LAN ip address 192.168.110.1 255.255.255.0 ip pim sparse-mode ip nat enable ip virtual-reassembly in ip igmp mroute-proxy Loopback2 duplex auto speed auto interface Vlan9 ip address 192.168.112.1 255.255.255.0 ip pim sparse-mode ! ip pim rp-address 192.168.110.1 И при попытке подписаться на группу со стороны gig0/1 в loopback 2 действительно уходит подписка: cisco2901#sh ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter Group Accounted 239.255.255.250 Loopback2 00:24:50 00:02:10 192.168.113.1 239.255.255.250 GigabitEthernet0/1 01:10:14 00:02:42 192.168.110.3 239.192.10.1 Loopback2 00:24:50 00:02:10 192.168.113.1 239.192.10.1 GigabitEthernet0/1 01:10:41 00:02:44 192.168.110.3 cisco2901# Но толку от этого нет, т.к. в Vlan 9 (fa0/0/0) она не уходит. Если же вместо Loopback использовать сам Vlan 9, то это почему-то уже не работает: interface GigabitEthernet0/1 description Home LAN ip address 192.168.110.1 255.255.255.0 ip pim sparse-mode ip nat enable ip virtual-reassembly in ip igmp mroute-proxy Vlan9 duplex auto speed auto interface Vlan9 ip address 192.168.112.1 255.255.255.0 ip pim sparse-mode ip igmp helper-address udl FastEthernet0/0/0 ip igmp proxy-service ! cisco2901#sh ip igmp groups IGMP Connected Group Membership Group Address Interface Uptime Expires Last Reporter Group Accounted 239.255.255.250 GigabitEthernet0/1 01:16:01 00:02:54 192.168.110.3 239.192.10.1 GigabitEthernet0/1 01:16:28 00:02:58 192.168.110.3 cisco2901# Непонятно в чем затык ( Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted August 8, 2023 (edited) Может стоило сначала попробовать, если это возможно, добиться работы мультикаста между вланами без ната? Кстати, гейтвей для источника является циска? п.с. имхо без проксирования или бриджевания не обойтись. с цисками не дружу, но возможно у них есть фичи какие то Edited August 8, 2023 by No_name update Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 9, 2023 8 часов назад, No_name сказал: Может стоило сначала попробовать, если это возможно, добиться работы мультикаста между вланами без ната? Кстати, гейтвей для источника является циска? п.с. имхо без проксирования или бриджевания не обойтись. с цисками не дружу, но возможно у них есть фичи какие то Между интерфейсами gig0/1 и vlan9 (fa0/0/0) никакого NATа нет. И даже вообще выключение НАТа на всех интерфейсах ничего не меняет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted August 9, 2023 Почему ip pim rp-address 192.168.112.1 указан? Кмк должен быть указан адрес который на 2950. Кстати, что там на 2950 настроено? Что с ttl? Надеюсь маршрутизация между свитчами настроена, все друг друга видят с обеих сторон? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 9, 2023 (edited) 14 минут назад, No_name сказал: Почему ip pim rp-address 192.168.112.1 указан? Кмк должен быть указан адрес который на 2950. Кстати, что там на 2950 настроено? Что с ttl? Надеюсь маршрутизация между свитчами настроена, все друг друга видят с обоих сторон? На 2950 настроен MVR, это L2 коммутатор доступа, там нет ip-адресов на интерфейсах. И это коммутатор провайдера, в подъездном ящике стоит, доступа к нему у меня нет. С ttl там все ок, если вместо циски использовать обычный бытовой роутер, то iptv раздается на кучу компов через два домашних коммутатора. Адрес я указал тот, что у меня настроен на vlan9, т.к. это последний адрес на пути к 2950 с мультикастом на портах. Мне всего лишь надо, чтобы циска мой join переслала со своего порта gig0/1 на свой же порт fa0/0/0 и тогда мультикаст в него польется. Но она этого не делает. Edited August 9, 2023 by grfmaniak Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
No_name Posted August 9, 2023 Не будет оно так работать кмк. https://habr.com/ru/articles/61466/ А вообще я бы порекомендовал сначала разобраться с мультикастом в пределах 2901. Если отбросить провайдера для начала, воткнуть в interface FastEthernet0/0/0 комп с vlc и пульнуть с него мультикаст. Когда получишь поток на gig0/1, то втыкаешь обратно шнурок от провайдера и разбираешься дальше что делать. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dr Tr0jan Posted August 9, 2023 Тут смотрели? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 10, 2023 15 часов назад, dr Tr0jan сказал: Тут смотрели? Смотрел. Там тоже цивилизованный вариант - есть адрес во внешней сети, с которым есть связь. У меня такого адреса нет, свитч провайдера реагирует только на join, с внутренней сетью связи нет. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
dr Tr0jan Posted August 10, 2023 On 8/7/2023 at 5:51 AM, grfmaniak said: если воткнуть ноут в любой порт модуля 4esw, то все приекрасно работает А IPv4 адрес в таком случае на ноуте какой? APIPA? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 10, 2023 7 минут назад, dr Tr0jan сказал: А IPv4 адрес в таком случае на ноуте какой? APIPA? Никакого, там pppoe для доступа в инет. И mvr для IPTV, которому тоже адреса не нужны. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
stalker86 Posted August 10, 2023 Нужен. Хотя бы zeronet иначе девайс не сможет даже запрос на подписку отправить Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
grfmaniak Posted August 10, 2023 6 часов назад, stalker86 сказал: Нужен. Хотя бы zeronet иначе девайс не сможет даже запрос на подписку отправить Речь о том, что там не нужен никакой вменяемый адрес, у которого была бы связь с какой-то локалкой провайдера. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...