net.ipv4.ip_forward revertendo para 0 mesmo que configurado em /etc/sysctl.conf

2

Defina net.ipv4.ip_forward = 1 em /etc/sysctl.conf e executei sysctl -p , o que fez com que fosse definido como 1 como esperado na saída de sysctl -a , mas em algum momento entre a noite anterior e agora algo retornou a 0 . Qualquer pensamento sobre o que poderia estar fazendo isso? Eu usei /var/log/cron para forward e sysctl e não vi nada.

    
por sa289 21.01.2016 / 16:30

3 respostas

2

Algumas versões do CentOS definem net.ipv4.ip_forward para 0 novamente sempre que o serviço de rede é reiniciado (com service restart networking , por exemplo).

Para ser mais preciso, é definido como zero na seção stop do script /etc/init.d/network :

stop)
      [ "$EUID" != "0" ] && exit 4
      # Don't shut the network down if root is on NFS or a network
      # block device.

      # [...]

      action $"Shutting down loopback interface: " ./ifdown ifcfg-lo

      sysctl -w net.ipv4.ip_forward=0 > /dev/null 2>&1

Você pode editar esse script e remover ou alterar essa linha.

Veja Red Hat Bugzilla Bug 552653 para mais informações.

    
por 26.01.2016 / 15:18
0

Existe um erro que faz com que os valores de sysctl sejam carregados antes que a rede seja inicializada corretamente. Isso faz com que as configurações de rede em /etc/sysctl.conf sejam ignoradas. Uma solução para isso pode ser procps restart para /etc/local.rc , então a inicialização é repetida.

O bug em questão: link

    
por 29.01.2016 / 13:44
0

Eu coloquei o registro no local para registrar o valor dessa configuração a cada minuto para que eu pudesse verificar /var/log/cron e ver o que poderia ser responsável. Parece que a reversão corresponde a uma tarefa cron para o APF (Advanced Policy Firewall) em execução.

Aqui está o meu mini script de registro, caso seja útil para alguém:

echo 'date'" - "'sysctl -a | grep net.ipv4.ip_forward' >> /var/log/ip_forward_setting.log
    
por 16.02.2016 / 19:21

Tags