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