Since I have a Juniper EX2200 performing my layer 3 routing for internal traffic and I have Sonos on a separate subnet than some Sonos clients, I needed to allow multicast across subnets. By creating a loopback interface and using it as my PIM rendezvous point, I was able to get my Windows desktop on 10.1.20.0/24 (Wired) find my Sonos speaker on 10.1.50.0/24 (WiFi).
This is pretty much taken directly from the guide here.
First, I leave the default igmp-snooping configuration alone. If yours doesn’t look like this, then you have modified the default configuration:
1 2 3 |
will@ex2200> show configuration protocols igmp-snooping vlan all; |
Then I created a loopback interface to use for multicast:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
will@ex2200> show configuration interfaces lo0 unit 0 { description "Used for SSDP Multicast for Sonos"; family inet { address 10.0.0.200/32; } } |
Next, I added the new loopback interface as passive in my OSPF configuration. The export and the other interfaces were already there for something unrelated to this multicast configuration:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
will@ex2200> show configuration protocols ospf export exportdirect; area 0.0.0.0 { interface vlan.100; interface vlan.2; interface lo0.0 { passive; } } |
Now I define the IP address of that loopback interface as the rendezvous point and add the necessary VLAN interfaces in sparse mode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
will@ex2200> show configuration protocols pim rp { local { address 10.0.0.200; } } interface lo0.0 { mode sparse; } interface vlan.20 { mode sparse; } interface vlan.40 { mode sparse; } interface vlan.50 { mode sparse; } |
I have subnet 10.1.20.0/24 on vlan.20 for trusted wired, 10.1.40.0/24 on vlan.40 for guest wifi, and 10.1.50.0/24 on vlan.50 for trusted wifi. Since Sonos is on vlan.50, I want all three VLANs to share multicast. You can block multicast from guest wifi to trusted wired via a firewall filter.
Note that because I did not specify a multicast range, the entire 224.0.0.0/4 range is allowed. Sonos only uses SSDP, orĀ 239.255.255.250, so if you want to block all other multicasts, you can limit the range with the following:
1 |
set protocols rp local group-ranges 239.255.255.250/32 |
I hope this helps!
Recent Comments