How to make sysctl network bridge settings persist after a reboot?

13,143

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.

Share:
13,143

Related videos on Youtube

user183394
Author by

user183394

Updated on September 18, 2022

Comments

  • user183394
    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 below

    net.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
      Admin almost 12 years
      If it's not applying sysctl.conf directives, you likely broke something.
    • Admin
      Admin almost 12 years
      Actually, 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
      Admin almost 12 years
      Ah, somebody else broke something. Somehow not surprised that it's not fixed yet.....
    • Admin
      Admin almost 12 years
      Regretably, just tried it. Even putting /sbin/sysctl -p /etc/sysctl.conf into /etc/rc.local didn't help. Even with a while loop! :-( So, Still searching for a "work-around".