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

Вы не те модули, загруженные в ядро.

В Red Hat Bugzilla есть несколько сообщений об этом, например здесь, здесь и здесь.

Просто удалите строки или запустите sysctl -e -p вместо sysctl -p,

Вы получаете ошибки, потому что у вас нет bridge модуль ядра загружен. Три варианта:

  1. Загрузите модуль, если вам это нужно
  2. Прокомментируйте эти строки из /etc/sysctl.conf
  3. Позволять 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

Если кого-то интересует история, стоящая за этим, она присутствует здесь с объяснением.

Другие вопросы по тегам