{"id":625,"date":"2026-01-01T20:05:40","date_gmt":"2026-01-02T04:05:40","guid":{"rendered":"https:\/\/nramkumar.org\/tech\/?p=625"},"modified":"2026-01-01T20:07:20","modified_gmt":"2026-01-02T04:07:20","slug":"using-the-sonos-app-across-vlans","status":"publish","type":"post","link":"https:\/\/nramkumar.org\/tech\/blog\/2026\/01\/01\/using-the-sonos-app-across-vlans\/","title":{"rendered":"Using the Sonos App Across VLANs"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">This is a continuation of the <a href=\"https:\/\/nramkumar.org\/tech\/blog\/2026\/01\/01\/local-control-of-tp-link-kasa-switches-from-kasa-app-across-vlans\/\" data-type=\"post\" data-id=\"622\">previous post<\/a> where we tackled using the Kasa app with the controller (app) and devices in different VLANs. Here, we tackle Sonos, specifically Sonos S1 where the controller (app) and speakers are on different VLANs and the default firewall rule prevents communication from untrusted VLAN (where the Sonos speakers are) to the trusted VLAN (where the controller normally lives).<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need a UDP broadcast relay to handle SSDP discovery. Here&#8217;s the systemd unit that sets this up:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;Unit]\nDescription=Sonos UDP Relay Port 1900\nWants=network-online.target\nAfter=network-online.target\n\n&#91;Service]\nExecStartPre=\/usr\/lib\/systemd\/systemd-networkd-wait-online --interface=eth0 --interface=mgmt --operational-state=routable\nExecStart=\/usr\/local\/sbin\/udpbroadcastrelay --id 3 --port 1900 --dev mgmt --dev eth0 --multicast 239.255.255.250\nRestart=always\nRestartSec=5s\nUser=root\n\n&#91;Install]\nWantedBy=multi-user.target<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>You need the following firewall rules (assuming you have configured the Sonos speakers with static IP and these static addresses are represented by the group Sonos):\n<ul class=\"wp-block-list\">\n<li>TCP Allow traffic from Sonos IPs, Any Port to Trusted VLAN, Any destination, Ports 3400, 3401, 3500<\/li>\n\n\n\n<li>UDP Allow traffic from Sonos IPs, Any Port to Trusted VLAN, Any destination, Ports 1900, 1901, 32768-65535<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">After setting those up and getting the UDP broadcast service running, my sonos app on phone or tablet is able to access and control my Sonos devices again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a continuation of the previous post where we tackled using the Kasa app with the controller (app) and devices in different VLANs. Here, we tackle Sonos, specifically Sonos S1 where the controller (app) and speakers are on different VLANs and the default firewall rule prevents communication from untrusted VLAN (where the Sonos speakers&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-625","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/posts\/625","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/comments?post=625"}],"version-history":[{"count":2,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/posts\/625\/revisions"}],"predecessor-version":[{"id":627,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/posts\/625\/revisions\/627"}],"wp:attachment":[{"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/media?parent=625"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/categories?post=625"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nramkumar.org\/tech\/wp-json\/wp\/v2\/tags?post=625"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}