How to make sysctl network bridge settings persist after a reboot?
I also have this problem on 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
Are not set on reboot!!!
I have to manually do:
sudo brctl show
sudo sysctl -p
Only then the parameters are set?!
This is so frustrating. I'm setting up a HA system and I need net.bridge.X set on reboot!!!
So I think I found a solution...
It appears there's some conflicts with ufw.
Edit /etc/sysctl.conf
and comment out:
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
Edit /etc/ufw/sysctl.conf
and append this lines to the end (note the slashes, rather than the dots...):
net/bridge/bridge-nf-call-ip6tables = 0
net/bridge/bridge-nf-call-iptables = 0
net/bridge/bridge-nf-call-arptables = 0
reboot the machine, and everything works as expected.
Related videos on Youtube
user183394
Updated on September 18, 2022Comments
-
user183394 almost 2 years
I am setting up a notebook for software demo purpose. The machine has 8GB RAM, a Core i7 Intel CPU, a 128GB SSD, and runs Ubuntu 12.04 LTS 64bit. The notebook is used as a KVM host and runs a few KVM guests.
All such guests use the
virbr0
default bridge. To enable them to communicate with each other using multicast, I added the following to the host's/etc/sysctl.conf
, as shown belownet.bridge.bridge-nf-call-ip6tables = 0 net.bridge.bridge-nf-call-iptables = 0 net.bridge.bridge-nf-call-arptables = 0
Afterwards, following
man sysctl(8)
, I issued the following:sudo /sbin/sysctl -p /etc/sysctl.conf
My understanding is that this should make these settings persist over reboots. I tested it, and was surprised to find out the following:
root@sdn1 :/proc/sys/net/bridge# more *tables :::::::::::::: bridge-nf-call-arptables :::::::::::::: 1 :::::::::::::: bridge-nf-call-ip6tables :::::::::::::: 1 :::::::::::::: bridge-nf-call-iptables :::::::::::::: 1
All defaults are coming back!
Yes. I can use some kludgy "get arounds" such as putting a
/sbin/sysctl -p /etc/sysctl.conf
into the host's/etc/rc.local
but I would rather "do it right". Did I misunderstand the man page or is there something that I missed?Thanks for any hints.
-- Zack
-
Admin almost 12 yearsIf it's not applying sysctl.conf directives, you likely broke something.
-
Admin almost 12 yearsActually, I found the answer in another Q: serverfault.com/questions/270201/…. It's actually a long standing Debian bug since at least 2006 and Ubuntu has inherited it by being a derivative. I will use my "kludge" approach as a get around for now.
-
Admin almost 12 yearsAh, somebody else broke something. Somehow not surprised that it's not fixed yet.....
-
Admin almost 12 yearsRegretably, just tried it. Even putting
/sbin/sysctl -p /etc/sysctl.conf
into/etc/rc.local
didn't help. Even with awhile
loop! :-( So, Still searching for a "work-around".
-