これはLinuxOS上にあります。
一部のマシンでは、modprobe
net.bridge.bridge-nf-call-iptables
フィルターを実行するまでbr_netfilter
変数が存在しないことがわかります。また、bridge
モジュールがロードされ、それ自体がこの変数を取り込むマシンがいくつかあることもわかります。
特定の変数を取得するためにロードする必要があるモジュールを知る方法はありますか?
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
モジュールが必要です。