カーネルパラメータ設定反映時のエラー

OS のカーネルパラメータを修正した後、設定を反映するために、sysctl -p を実行すると以下のようなエラーが出力されるときがあります。

sysctl -p 実行時のエラーRaw Code(S)Raw Code(T)
# sysctl -p
・・・
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
・・・

出力結果を見れば分かりますが、ネットワークブリッジに関するエラーメッセージです。

対策方法としては、主に以下の 2通りがあります。

  • ブリッジ接続を使っている場合 : ブリッジモジュールをロードする
  • ブリッジ接続を使ってない場合 : カーネルパラメータのブリッジ設定をコメントアウトする

どっち使っても対策としては、問題ありませんが、なるべく各環境に合わせて実施することをオススメします。

対策 その1. ブリッジ接続を使っている場合

もし、自分の環境でネットワークブリッジ接続を使っている場合には、ブリッジモジュールをロードすると直ります。

ブリッジモジュールをロードした後は、sysctl -p を実行し、ブリッジ関連エラーが出力されないことを確認します。

ブリッジモジュールロードRaw Code(S)Raw Code(T)
# modprobe bridge

# lsmod | grep bridge
bridge                 79790  0
stp                     2173  1 bridge
llc                     5642  2 bridge,stp
設定反映・確認 : エラーが出力されないことRaw Code(S)Raw Code(T)
# sysctl -p
・・・

対策 その2. ブリッジ接続を使ってない場合

ブリッジ接続を使ってない場合には、あえて不要なモジュールを入れる必要はないので、カーネルパラメータ設定ファイル sysctl.conf を修正し、ブリッジ関連設定をコメントアウトした方が良いです。

カーネルパラメータからブリッジ関連設定を削除した後は、sysctl -p を実行し、ブリッジ関連エラーが出力されないことを確認します。

/etc/sysctl.conf : ブリッジ設定削除Raw Code(S)Raw Code(T)
・・・
# Disable netfilter on bridges.
#net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
・・・
設定反映・確認 : エラーが出力されないことRaw Code(S)Raw Code(T)
# sysctl -p
・・・

終わりに

サーバ構築が終わり、運用が始まったサーバのカーネルパラメータをいじることはあまりないですが、たまたま見つけたので対応しました。

以上、error: "net.bridge.bridge-nf-call-iptables" is an unknown key エラー対策方法でした。