IPマルチキャストテストを実行するスクリプトがあります。ただし、特定のLinuxマシンでスクリプトが失敗します。
CONFIG_IP_MULTICAST
を見ることができることを知っています カーネル構成ファイルで、カーネルがこれを使用してコンパイルされたかどうかを判別します。ただし、 / proc
を見ることができれば、スクリプトで不足している要件にフラグを立てる方が簡単です。 またはsysctl
答えを得る。
CONFIG_IP_MULTICAST
を見ずに、IPマルチキャストがカーネルにコンパイルされたかどうかを確認する方法はありますか? ?
承認された回答:
ほとんどのカーネル(v1以降)はデフォルトでマルチキャストをサポートしているか、コンパイル中にCONFIG_IP_MULTICASTを有効にしているようです。コンパイルされ実行されているカーネルがマルチキャストグループにサブスクライブしているかどうかを確認するには、 netstat -g
を使用します。 。
ほとんどのカーネル(v1以降)はデフォルトでマルチキャストをサポートしているようです。
[[email protected] module]# grep CONFIG_IP_MULTICAST /usr/src/kernels/2.6.18-274.7.1.el5-i686/.config
CONFIG_IP_MULTICAST=y
[[email protected] module]# netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
eth0 1 224.0.0.251
eth0 1 all-systems.mcast.net
私のホストのeth0インターフェースは、サブスクライブされた224.0.0.251基本的なmcastグループと見なしていることがわかります。また、グループまたはネットワークにpingを実行した後、既知のマルチキャスト対応ホストネットワークがすべて返される場合は、マルチキャストがホストで機能していると言えます。
netstat -g コード> または
cat/ proc / net / igmp
ホストにグループが返されるかどうかを確認しますか?