web-dev-qa-db-ja.com

net.bridge.bridge-nf-call-iptablesのカーネルモジュール

これはLinuxOS上にあります。

一部のマシンでは、modprobenet.bridge.bridge-nf-call-iptablesフィルターを実行するまでbr_netfilter変数が存在しないことがわかります。また、bridgeモジュールがロードされ、それ自体がこの変数を取り込むマシンがいくつかあることもわかります。

特定の変数を取得するためにロードする必要があるモジュールを知る方法はありますか?

1
user1952500

Sysctl変数をモジュールに関連付ける自動データベースはありません。モジュールバイナリを検索して、変数名が他の文字列に見つからないことを期待できます(これは見つかりません)。最後の部分、つまりbridge-nf-call-iptablesを検索します—完全な文字列はバイナリに存在せず、動的に構築されます。

grep -rl bridge-nf-call-iptables /lib/modules/`uname -r`

または、ドキュメントを確認することもできますが、必ずしもわかるとは限りません。この場合は とは言えません 。したがって、 ソースコード が残ります。最初に文字列を探します(ここでも、最後の部分のみ)。最近のカーネルでは、 net/bridge/br_netfilter_hooks.c にあります。ここで、 同じディレクトリ内のmakefile をチェックして、このソースファイルがどのように構築されているかを確認します。関連する行は

br_netfilter-y := br_netfilter_hooks.o

つまり、br_netfilterモジュールがビルドされた場合、br_netfilter_hooks.cのコードが含まれているため、br_netfilterモジュールが必要です。