Como fazer com que as configurações da ponte de rede sysctl persistam após uma reinicialização?

3

Estou montando um notebook para fins de demonstração de software. A máquina tem 8GB de RAM, um CPU Intel Core i7, um SSD de 128GB e roda o Ubuntu 12.04 LTS de 64 bits. O notebook é usado como um host KVM e executa alguns convidados do KVM.

Todos esses convidados usam a ponte padrão virbr0 . Para permitir que eles se comuniquem usando multicast, adicionei o seguinte ao /etc/sysctl.conf do host, como mostrado abaixo

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

Depois, seguindo man sysctl(8) , eu publiquei o seguinte:

sudo /sbin/sysctl -p /etc/sysctl.conf

Meu entendimento é que isso deve fazer com que essas configurações persistam durante as reinicializações. Eu testei e fiquei surpreso ao descobrir o seguinte:

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

Todos os padrões estão voltando!

Sim. Eu posso usar alguns kludgy "contornar", como colocar um /sbin/sysctl -p /etc/sysctl.conf em /etc/rc.local do host, mas eu prefiro "fazer o certo". Eu entendi mal a man page ou há algo que eu perdi?

Obrigado por qualquer sugestão.

- Zack

    
por user183394 25.09.2012 / 02:45

1 resposta

4

Eu também tenho esse problema no 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

Não estão configurados na reinicialização !!!

Eu tenho que fazer manualmente:

sudo brctl show

sudo sysctl -p

Só então os parâmetros estão definidos?!

Isso é tão frustrante. Estou configurando um sistema HA e preciso do net.bridge.X configurado na reinicialização !!!

Então, acho que encontrei uma solução ...

Parece que há alguns conflitos com o ufw.

Edite /etc/sysctl.conf e comente:

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

Edite /etc/ufw/sysctl.conf e anexe as linhas ao final (observe as barras, em vez dos pontos ...):

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

reinicie a máquina e tudo funcionará como esperado.

    
por 20.02.2015 / 10:52