Назад | Перейти на главную страницу

Как сохранить настройки сетевого моста sysctl после перезагрузки?

Я настраиваю ноутбук для демонстрации программного обеспечения. Машина имеет 8 ГБ оперативной памяти, процессор Core i7 Intel, твердотельный накопитель 128 ГБ и работает под управлением 64-разрядной ОС Ubuntu 12.04 LTS. Ноутбук используется в качестве узла 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 но я бы предпочел "делать это правильно". Я неправильно понял страницу руководства или я что-то пропустил?

Спасибо за любые подсказки.

- Зак

У меня тоже есть эта проблема на 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

Только тогда параметры выставлены ?!

Это так расстраивает. Я настраиваю систему высокой доступности, и мне нужно установить 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

перезагрузите машину, и все работает как положено.