とりわけ、mediatomb
.clientsを使用するサーバーがあります。簡易サービス検索プロトコル(SSDP)を使用してネットワーク上のサーバーを見つけます。
SSDP検索クエリが応答を受け取らないことを発見しM-SEARCH
、最終的にサーバーがブリッジインターフェイスを使用しているという事実に関する問題を追跡しました。マルチキャストを聴く有効(ブリッジでデフォルトでこの機能を有効にするため)
私の問題を解決しました。
echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping
しかし、私の場合、これはうまくいきますが、それが何をしているのか、私が知らない意味があるのかわかりません。だから質問は…。
マルチキャストスヌーピングとは何ですか?SSDPがハングする理由は何ですか?必要な理由とブリッジでデフォルトで有効になるのは何ですか?
ベストアンサー1
マルチキャストはスイッチルータに大きな負荷を与える可能性があります(潜在的なDoS攻撃のセキュリティ面は言うまでもありません)。スイッチ(またはLinuxブリッジ)からマルチキャストを聴くネットワーク層2.5にあり、以下を介して負荷を軽減するように設計されています。
- ネットワークトラフィックスヌーピング
- 各スイッチポートが購読するマルチキャストチャネルの識別
- その他のマルチキャストトラフィックのフィルタリング
マルチキャストトラフィックをデバッグしたい場合を除き、これは常に望ましい機能のようです。それでは、マルチキャストリスニングを無効にしたいのはなぜですか?
数年前、2つの異なるホスト上の2つのVMでCorosyncを使用したときに私が経験したバグに直面していたからです。すべての着信マルチキャストトラフィックがホストによって破棄されるように見えるまで、トラフィックは大丈夫でしたiptable
。完全に空です)。 AFAIK、これは3.xカーネルのバグであり、あなたのようにマルチキャストリスニングを無効にする必要がありました。私の記憶が正しい場合、私はDebian(WheezyまたはJessie)を使用していましたが、これはRed Hatのバグレポート私が経験している問題を正確に説明します。
このバグレポートで説明されているように、可能であれば次のことをお勧めします。
echo 1 > /sys/devices/virtual/net/br0/bridge/multicast_querier
比較する:
echo 0 > /sys/devices/virtual/net/br0/bridge/multicast_snooping