sysctl -p /etc/sysctl.conf возвращает ошибку
В новой установке CenotOS 6 в VPS после запуска sysctl -p /etc/sysctl.conf
Я получил это ошибки:
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
Что является отправной точкой для решения этой ошибки?
5 ответов
Вы упоминаете в своем вопросе, что вы используете VPS. Что за VPS? Похоже, вы находитесь в OpenVZ VPS. Если это OpenVZ, он разделяет ядро между многими контейнерами, такими как ваш, и вы не можете изменять конфигурацию ядра для каждого контейнера, но непосредственно на хосте. Я на самом деле собираю маленький OpenVZ Centos контейнер и я попытался применить конфигурацию ядра net.bridge.bridge-nf-call-ip6tables = 0
с последующим sysctl -p
и я получил ту же ошибку, что и вы. Если вам это действительно нужно, это означает, что вам, возможно, придется подумать об изменении типа виртуализации, которую вы используете, или вы можете попытаться связаться с вашим поставщиком VPS и попросить его включить этот параметр.
Лучший.
Пытаться:
modprobe bridge
lsmod | grep bridge
Вы не те модули, загруженные в ядро.
Вы получаете ошибки, потому что у вас нет bridge
модуль ядра загружен. Три варианта:
- Загрузите модуль, если вам это нужно
- Прокомментируйте эти строки из
/etc/sysctl.conf
- Позволять
sysctl
игнорировать ошибки, давая ему-e
флаг.
Это исправлено в сообщении Redhat: RHBA-2015: 1289 (возможно, платный доступ).
В итоге - исправление - перенести конфигурацию из sysctl.conf
в modprobe.d/dist.conf
:
Удалить оскорбительные строки из /etc/sysctl.conf
sed -i '/net.bridge.bridge-nf-call-/d' /etc/sysctl.conf
И добавить поведение к вашему /etc/modprobe.d/dist.conf
cat <<EOF>>/etc/modprobe.d/dist.conf
# Disable netfilter on bridges when the bridge module is loaded
install bridge /sbin/modprobe --ignore-install bridge && /sbin/sysctl -q -w net.bridge.bridge-nf-call-arptables=0 net.bridge.bridge-nf-call-iptables=0 net.bridge.bridge-nf-call-ip6tables=0
EOF
Который будет правильно устанавливать значения при загрузке модуля моста или просто обновлять ваши rpms до версий
module-init-tools-3.9-25.el6
initscripts-9.03.53-1.el6
Оба присутствуют по умолчанию в RHEL 6.8
Если кого-то интересует история, стоящая за этим, она присутствует здесь с объяснением.