Dê uma olhada em Alguns sysctl's são ignorados na inicialização . Em suma, as configurações são aplicadas cedo, antes que alguns módulos do kernel sejam carregados.
Em que ponto o sysctl.conf deve ser lido durante a inicialização e por que ele não está sendo executado? Eu tenho as seguintes configurações que não estão sendo aplicadas quando eu reinicio:
net.bridge.bridge-nf-call-arptables = 0
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-filter-pppoe-tagged = 0
net.bridge.bridge-nf-filter-vlan-tagged = 0
fs.nfs.nlm_udpport = 32768
fs.nfs.nlm_tcpport = 32768
A primeira seção é necessária para o KVM bridging, e a segunda é executar o gerenciador de bloqueio do NFS em uma porta conhecida. No entanto, após a inicialização, esses valores não entraram em vigor. Se eu executar sysctl -p
, eles executam.
Isso não seria um problema enorme, exceto que não consigo descobrir como reiniciar o gerenciador de bloqueio sem reinicializar. Eu realmente gostaria de saber por que o sysctl.conf não está funcionando na inicialização, mas eu gostaria apenas de poder reiniciar o gerenciador de bloqueio.
Isto está no servidor Ubuntu 10.04.2, kernel 2.6.32-31-server. Eu sei que alguns daemons verificam as permissões em seus arquivos de configuração e se recusam a trabalhar se eles forem muito permissivos, mas o sysctl.conf é o 644 root: root, o qual eu tenho certeza que é o padrão.
Dê uma olhada em Alguns sysctl's são ignorados na inicialização . Em suma, as configurações são aplicadas cedo, antes que alguns módulos do kernel sejam carregados.
No Ubuntu, ele será carregado como parte do daemon upstart executando o arquivo /etc/init/procps.conf.
Verifique se ele está lá e se você não o desativou.
Se for algo parecido com o Debian, o sysctl
on-boot é executado por /etc/init.d/procps
. Para comparação, meu padrão é assim.
# /etc/init.d/procps: Set kernel variables from /etc/sysctl.conf
# Description: Loads kernel parameters that are specified in /etc/sysctl.conf
which sysctl > /dev/null || exit 0
for file in /etc/sysctl.conf /etc/sysctl.d/*.conf ; do
sysctl $quiet -p "$file"
Pode valer a pena verificar se está lá, e se o (s) seu (s) symlink (s) init (s) estão intactos. (o meu está em rcS.d
apenas). Não é um arquivo de configuração sensível, portanto, as permissões do 644 não devem ser um problema.