我正在设置一个用于软件演示目的的笔记本。 该机具有8GB内存,Core i7 Intel CPU,128GB SSD,运行Ubuntu 12.04 LTS 64bit。 笔记本电脑用作KVM主机,运行less数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
我的理解是,这应该使这些设置在重新启动时保持。 我testing了一下,惊奇的发现了以下几点:
root@sdn1 :/proc/sys/net/bridge# more *tables :::::::::::::: bridge-nf-call-arptables :::::::::::::: 1 :::::::::::::: bridge-nf-call-ip6tables :::::::::::::: 1 :::::::::::::: bridge-nf-call-iptables :::::::::::::: 1
所有的默认值都回来了!
是。 我可以使用一些kludgy“绕过”,比如将/sbin/sysctl -p /etc/sysctl.conf放入主机的/etc/rc.local但我宁愿“正确地做”。 我误解了手册页,还是有什么我错过了?
感谢任何提示。
– 扎克
我在Ubuntu 14.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
只有这样才能设置参数?!
这太令人沮丧了。 我正在build立一个HA系统,我需要重新启动net.bridge.X设置!
所以我想我find了一个解决scheme…
看来和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
重新启动机器,一切按预期工作。