Настройка IGMP snooping на Cisco

Приведу пример настройки IGMP snooping на Cisco, под рукой был коммутатор Cisco WS-C2960-24TT-L.

Первым делом переключимся в режим конфигурации:

enable
configure t

Читать далее Настройка IGMP snooping на Cisco

Настройка PIM на коммутаторах D-Link

На примере будет использоваться коммутатор D-Link DGS-3612G
Создадим vlan по которым будет приниматься и передаваться multicast трафик и обязательно назначим им интерфейсы с ip-адресом.

Далее включим pim и активируем его на интерфейсах через которые должен ходить мультикаст (на примере интерфейс pim по которому приходит мультикаст с cisco и pim-local который смотрит в сеть пользователей):

enable pim
config pim cbsr hash_masklen 30
config pim cbsr bootstrap_period 60
config pim register_suppression_time 60
config pim register_probe_time 5
config pim last_hop_spt_switchover never
config pim crp holdtime 150 priority 192
config pim crp wildcard_prefix_cnt 0
config pim ipif pim state enable hello 30 jp_interval 60 mode sm dr_priority 1
config pim cbsr ipif pim priority -1
config pim ipif pim-local state enable hello 30 jp_interval 60 mode sm dr_priority 1
config pim cbsr ipif pim-local priority -1

Добавим статический адрес RP, на D-Link DGS-3612G пришлось добавить два раза, так как с одним multicast хотел передаваться (вероятно баг прошивки коммутатора).

create pim static_rp group 239.0.0.0/8 rp 10.0.11.200
create pim static_rp group 239.0.0.0/16 rp 10.0.11.200

Пропишем статические маршруты к источнику мультикаста:

create iproute 10.0.11.200/255.255.255.255 192.168.24.157 1 primary
create ipmroute 10.0.11.200/32 rpf_address 192.168.24.157

Включим и настроим IGMP только на интерфейсе который смотрит к пользователям:

config igmp ipif pim-local version 2 query_interval 125 max_response_time 10 robustness_variable 2 state enable
config igmp ipif pim-local last_member_query_interval 1
config igmp check_subscriber_source_network ipif pim-local disable

На этом настройка завершена. На пользовательских коммутаторах можно настроить ISM VLAN и смотреть IPTV через VLC плеер.

Настройка PIM на коммутаторе HP A5800

Сначала сделаем копию конфигурационного файла на tftp сервер:

backup startup-configuration to 192.168.1.100

Для настройки PIM на коммутаторе HP A5800 подключимся к коммутатору через telnet и введем следующие команды:

1) Включим multicast маршрутизацию коммутаторе и pim-sm во vlan 963 который приходит от провайдера.

system-view
multicast routing-enable
interface Vlan-interface 963
ip address 172.24.24.158 255.255.255.252
pim sm
quit

2) Включим pim-sm и igmp во vlan 964 по которому будет транслироваться IPTV в локальную сеть.

interface Vlan-interface 964
ip address 172.25.25.25 255.255.192.0
pim sm
igmp enable
quit

3) Пропишем статический ip с которого вещается multicast.

pim
static-rp 10.0.200.200
quit

4) Добавим маршрут к ip с которого вещается multicast.

ip route-static 10.0.200.200 255.255.255.255 Vlan-interface963 172.24.24.157

5) Допустим что принимаем multicast по vlan 963 тегом.

interface Bridge-Aggregation1
port hybrid vlan 963 tagged

6) Настроим любой свободный порт для проверки iptv и подключим к нему компьютер например с запущенным плейлистом каналов в VLC плеере.

interface GigabitEthernet1/0/5
port access vlan 964

Для проверки работоспособности и диагностики можно использовать например следующие команды:

display pim interface
display pim interface verbose
display pim rp-info
display pim bsr-info
display pim neighbor
display pim routing-table
display igmp interface
display pim control-message counters
display pim claimed-route

Настройка IPTV на MikroTik

Изначально маршрутизаторы MikroTik идут без пакета multicast, поэтому его необходимо установить.
Скачиваем архив «All packages» с официального сайта http://www.mikrotik.com/download
Извлекаем из него файл multicast, он может называться например так «multicast-6.20-mipsbe.npk».
Подключаемся к маршрутизатору именно через winbox, слева в меню выбираем «Files» и ранее скачанный файл multicast мышкой перетаскиваем в открывшееся окно.
Далее с лева в меню выбираем «System» -> «Reboot». Маршрутизатор перегрузится и пакет multicast будет установлен.

После перезагрузки в меню должна появится новая опция «Routing» -> «IGMP Proxy», по ней и нажимаем.
В открывшемся окне добавим интерфейсы нажав «+» или «Add».
Первый откуда будет приниматься мультикаст трафик:
Interface: входящий wan порт от провайдера, например (ether1-gateway)
Threshold: 1
Alternative Subnets: диапазон IPTV каналов, например 238.1.1.0/24 или 0.0.0.0/0 для всех
И поставим галочку напротив «Upstream»
Второй куда будет транслироваться мультиткаст:
Interface: порт к IPTV приставке или компьютеру на котором будет воспроизводится IPTV, либо можно указать все порты в бридже, например (bridge-local)
Threshold: 1
Alternative Subnets: 0.0.0.0/0
Через командную строке это выглядит следующим образом:

routing igmp-proxy interface add alternative-subnets=0.0.0.0/0 comment="Upstream" disabled=no interface=ether1-gateway threshold=1 upstream=yes
routing igmp-proxy interface add alternative-subnets="" comment="Downstream" disabled=no interface=bridge-local threshold=1 upstream=no
routing igmp-proxy set quick-leave=yes

Последним штрихом будет добавление правил в фаервол:
Первое:
Chain: input
Protocol: igmp
Action: accept
Второе:
Chain: input
Protocol: udp
Dst.Port: порт c которого вещается iptv, если неизвестен, необходимо спросить у провайдера или посмотреть в плейлисте каналов
Action: accept
Правила обязательно должны быть выше запрещающих!
Через командную строке это выглядит следующим образом:

ip firewall filter add chain="input" action="accept" protocol="igmp" in-interface=ether1-gateway comment="Allow IGMP"
ip firewall filter add chain="input" action="accept" protocol="udp" in-interface=bridge-local

На этом все, IPTV должно работать, на компьютере его можно смотреть например через программу VLC, единственное необходимо иметь плейлист каналов или их multicast ip адреса.