web-dev-qa-db-ja.com

再起動後もsysctlネットワークブリッジ設定を保持するにはどうすればよいですか?

ソフトウェアデモ用にノートブックをセットアップしています。マシンには8GBRAM、Core i7 Intel CPU、128GB SSDがあり、Ubuntu 12.04 LTS64ビットを実行します。ノートブックはKVMホストとして使用され、いくつかのKVMゲストを実行します。

そのようなゲストはすべて、_virbr0_デフォルトブリッジを使用します。マルチキャストを使用して相互に通信できるようにするために、以下に示すように、ホストの_/etc/sysctl.conf_に以下を追加しました。

_net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
_

その後、man sysctl(8)に続いて、次のように発行しました。

_Sudo /sbin/sysctl -p /etc/sysctl.conf
_

私の理解では、これにより、これらの設定が再起動後も保持されるはずです。私はそれをテストしました、そして以下を見つけて驚いた:

_root@sdn1 :/proc/sys/net/bridge# more *tables
::::::::::::::
bridge-nf-call-arptables
::::::::::::::
1
::::::::::::::
bridge-nf-call-ip6tables
::::::::::::::
1
::::::::::::::
bridge-nf-call-iptables
::::::::::::::
1
_

すべてのデフォルトが復活しています!

はい。 _/sbin/sysctl -p /etc/sysctl.conf_をホストの_/etc/rc.local_に入れるなど、厄介な「回避策」を使用できますが、むしろ「正しく実行」したいと思います。マニュアルページを誤解しましたか、それとも見逃したことがありますか?

ヒントをありがとう。

-ザック

3
user183394

Ubuntu14.04.1でもこの問題が発生します

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

再起動時に設定されていません!!!

私は手動で行う必要があります:

Sudo brctl show

Sudo sysctl -p

そうして初めてパラメータが設定されますか?!

これはとてもイライラします。 HAシステムをセットアップしていますが、再起動時にnet.bridge.Xを設定する必要があります!!!


だから私は解決策を見つけたと思います...

Ufwとの競合がいくつかあるようです。

編集/etc/sysctl.confそしてコメントアウト:

net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0

編集/etc/ufw/sysctl.confそしてこの行を最後に追加します(ドットではなくスラッシュに注意してください...):

net/bridge/bridge-nf-call-ip6tables = 0
net/bridge/bridge-nf-call-iptables = 0
net/bridge/bridge-nf-call-arptables = 0

マシンを再起動すると、すべてが期待どおりに機能します。

4
ostrich