igmpproxy はインターフェイス間で SSDP をルーティングしません。

igmpproxy はインターフェイス間で SSDP をルーティングしません。

wlp1s0分離モードとブリッジモードの両方のワイヤレスデバイスでHostapdを実行しています(behind a bridgewanとafter a bridge) 。各ブリッジの正確な構成は次のとおりです。wlp5s0iotここ。サブネットnとサブネットwanがあります。192.168.2.0/24iot192.168.3.0/24

wanでコントローラを使用してiotSonosプレーヤーに接続できるように、SSDP転送をからに設定しようとしています。私はフォローアップをしています。iotwanこのガイド。 2つの異なるVLANを念頭に置いて作成されていますが、2つの異なるブリッジにも同じアプローチを適用する必要があると思います。

そのため、次の設定でigmpproxyインスタンスを設定しました。

phyint wan upstream   ratelimit 0 threshold 1
phyint iot downstream ratelimit 0 threshold 1

テスト目的で、ファイアウォールの2つのブリッジ間のパケットフィルタリングを完全に無効にしました。

この設定で十分だと思いますが、コントローラのコントローラはwanコントローラのプレーヤーを見ることができませんiot。プレイヤーは実際にIGMPエージェント(192.168.3.29プレイヤーの1人)に正しく登録されています。

igmpproxy[13948]: SENT Membership query   from 192.168.3.1     to 224.0.0.1
...
igmpproxy[13948]: RECV V2 member report   from 192.168.3.29    to 239.255.255.250
igmpproxy[13948]: Should insert group 239.255.255.250 (from: 192.168.3.29) to route table. Vif Ix : 1
igmpproxy[13948]: Updated route entry for 239.255.255.250 on VIF #1

192.168.2.67TCPダンプを使用して、コントローラが実際にSSDPパケット(コントローラ)を送信していることを確認できます。

> tcpdump -i wan port 1900
...
16:16:07.600003 IP 192.168.2.67.49628 > 239.255.255.250.ssdp: UDP, length 202
16:16:07.600003 IP 192.168.2.67.49628 > 255.255.255.255.ssdp: UDP, length 202
...

igmpproxyは、次のものを正しく受信しているようです。

igmpproxy[13948]: Vif bits : 0x00000002
igmpproxy[13948]: Setting TTL for Vif 1 to 1
igmpproxy[13948]: Adding MFC: 192.168.2.67 -> 239.255.255.250, InpVIf: 2
...
igmpproxy[13948]: Current routing table (Insert Route):
igmpproxy[13948]: -----------------------------------------------------
igmpproxy[13948]: #0: Src0: 192.168.2.67, Dst: 239.255.255.250, Age:2, St: A, OutVifs: 0x00000002, dHosts
igmpproxy[13948]: -----------------------------------------------------

しかし、これらのパケットがtcpdumpを介して転送されるのを見ることはできません。一部のパケットは、iotマルチキャスト用に登録されたIP 239.255.255.250(特にSonosプレーヤー)に向けられると予想されます。だから私はそれが発見が失敗した原因だと思います。

SSDPパケットが転送されることが示されないのはなぜですか? SSDPでプレーヤーを検索するには、Sonosコントローラをどのように変更する必要がありますか?

答え1

問題は実際にファイアウォールにあります。

私は理解しているので、ブリッジ層でのみパケットフィルタリングを無効にしました。この回答ブリッジ間のトラフィックはファイアウォールのブリッジ層のみを通過します。ただし、2つのブリッジが異なる場合、トラフィックはまだIP層を通過しているようです。

したがって、解決策は、ブリッジファミリではなく、IPファミリの転送フックにある2つのブリッジ間で必要なポートを開くことです。

関連情報