

The typical iptables -A INPUT -m state -state ESTABLISHED,RELATED -j ACCEPT rule WILL NOT match the response packet, as iptables does not currently have a conntrack helper that supports SSDP. Note that this is slightly different than most other UPnP devices, which will usually respond with a unicast UDP packet from port 1900 instead of an ephemeral port. The ChromeCast device will respond with a unicast UDP packet from the ChromeCast device's IP and another ephemeral port to the source IP/port of the multicast packet. The browser will send a multicast UDP packet from the local IP and an ephemeral (random) port to 239.255.255.250 port 1900. Make sure iptables is configured to allow the UPnP/SSDP traffic used by the Google Cast browser extension to discover the ChromeCast device. The 'chromium-browser' package in Ubuntu 13.04 works fine. Earlier versions will get a "This application is not supported on this computer. Make sure you are running either Chromium or Chrome version 28 or higher. The documentation from Google indicates that the Google Cast extension is not supported in Linux, but it actually does work.
